Función ObGetObjectSecurity (wdm.h)

La rutina ObGetObjectSecurity obtiene el descriptor de seguridad de un objeto determinado.

Sintaxis

NTSTATUS ObGetObjectSecurity(
  [in]  PVOID                Object,
  [out] PSECURITY_DESCRIPTOR *SecurityDescriptor,
  [out] PBOOLEAN             MemoryAllocated
);

Parámetros

[in] Object

Puntero al objeto .

[out] SecurityDescriptor

Puntero a una variable proporcionada por el autor de la llamada que esta rutina establece en la dirección de un búfer que contiene el SECURITY_DESCRIPTOR para el objeto especificado. Si el objeto especificado no tiene ningún descriptor de seguridad, esta variable se establece en NULL al devolver desde ObGetObjectSecurity.

[out] MemoryAllocated

Puntero a una variable proporcionada por el autor de la llamada que esta rutina establece en TRUE si asignó un búfer para que contenga el descriptor de seguridad.

Valor devuelto

ObGetObjectSecurity devuelve STATUS_SUCCESS o un estado de error, como STATUS_INSUFFICIENT_RESOURCES si no pudo asignar suficiente memoria para devolver la información solicitada.

Comentarios

Una llamada correcta a ObGetObjectSecurity devuelve un descriptor de seguridad autoconsciente en el búfer en *SecurityDescriptor o devuelve NULL en *SecurityDescriptor si el objeto especificado no tiene ningún descriptor de seguridad. Por ejemplo, cualquier objeto sin nombre, como un objeto de evento, no tiene ningún descriptor de seguridad.

Si ObGetObjectSecurity devuelve STATUS_SUCCESS, el autor de la llamada debe guardar el valor devuelto en MemoryAllocated. Dicho llamador debe pasar MemoryAllocated en una llamada recíproca a ObReleaseObjectSecurity finalmente, restaurando así el recuento de referencias en el descriptor de seguridad a su valor original y liberando el búfer, si existe, asignado por ObGetObjectSecurity.

Solo se debe llamar a ObGetObjectSecurity en el nivel IRQL = PASSIVE_LEVEL con las API habilitadas; de lo contrario, pueden producirse interbloqueos o bloqueos.

Requisitos

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

Consulte también

ObReferenceObjectByHandle

ObReleaseObjectSecurity

SECURITY_DESCRIPTOR