Macro ObReferenceObject (wdm.h)

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

Sintaxis

void ObReferenceObject(
  [in]  Object
);

Parámetros

[in] Object

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

Valor devuelto

None

Observaciones

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

ObReferenceObject simplemente incrementa el número de referencias de puntero para un objeto, sin realizar comprobaciones de acceso en el objeto especificado, como lo hace ObReferenceObjectByHandle y ObReferenceObjectByPointer .

ObReferenceObject 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)

Consulte también

ObDereferenceObject

ObReferenceObjectByHandle

ObReferenceObjectByPointer

ZwClose