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