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