Función ObfReferenceObject (wdm.h)

La rutina ObfReferenceObject incrementa el recuento de referencias al objeto especificado.

Sintaxis

LONG_PTR ObfReferenceObject(
  [in] PVOID Object
);

Parámetros

[in] Object

Puntero al objeto . El autor de la llamada obtuvo este parámetro cuando creó el objeto o a partir de una llamada anterior a ObReferenceObjectByHandle después de abrir el objeto.

Valor devuelto

ObfReferenceObject devuelve un valor reservado para el uso del sistema. Los controladores deben tratar este valor como VOID.

Comentarios

ObfReferenceObject simplemente incrementa el recuento de referencias de puntero para un objeto, sin realizar ninguna comprobación de acceso en el objeto especificado, como lo hacen ObReferenceObjectByHandle y ObReferenceObjectByPointer .

ObfReferenceObject impide la eliminación del objeto al menos hasta que el controlador llame posteriormente a su objeto recíproca, ObDereferenceObject o cierre el objeto especificado. El autor de la llamada debe disminuir el recuento de referencias con ObDereferenceObject tan pronto como se haga con el objeto .

Cuando el recuento de referencias de un objeto alcanza cero, un componente en modo kernel puede quitar el objeto del sistema. Sin embargo, un controlador solo puede quitar los objetos que creó y un controlador nunca debe intentar quitar ningún objeto que no haya creado.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Escritorio
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <=DISPATCH_LEVEL
Reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), TargetRelationNeedsRef(wdm)

Consulte también

ObDereferenceObject

ObReferenceObjectByHandle

ObReferenceObjectByPointer

ZwClose