Função ObGetObjectSecurity (wdm.h)

A rotina ObGetObjectSecurity obtém o descritor de segurança de um determinado objeto.

Sintaxe

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

Parâmetros

[in] Object

Ponteiro para o objeto .

[out] SecurityDescriptor

Ponteiro para uma variável fornecida pelo chamador que essa rotina define como o endereço de um buffer que contém o SECURITY_DESCRIPTOR para o objeto fornecido. Se o objeto fornecido não tiver nenhum descritor de segurança, essa variável será definida como NULL no retorno de ObGetObjectSecurity.

[out] MemoryAllocated

Ponteiro para uma variável fornecida pelo chamador que essa rotina define como TRUE se ela alocou um buffer para conter o descritor de segurança.

Retornar valor

ObGetObjectSecurity retorna STATUS_SUCCESS ou um erro status, como STATUS_INSUFFICIENT_RESOURCES se não puder alocar memória suficiente para retornar as informações solicitadas.

Comentários

Uma chamada bem-sucedida para ObGetObjectSecurity retorna um descritor de segurança auto-relativo no buffer em *SecurityDescriptor ou retorna NULL em *SecurityDescriptor se o objeto fornecido não tiver nenhum descritor de segurança. Por exemplo, qualquer objeto sem nome, como um objeto de evento, não tem nenhum descritor de segurança.

Se ObGetObjectSecurity retornar STATUS_SUCCESS, o chamador deverá salvar o valor retornado em MemoryAllocated. Esse chamador deve passar MemoryAllocated em uma chamada recíproca para ObReleaseObjectSecurity eventualmente, restaurando assim a contagem de referência no descritor de segurança para seu valor original e liberando o buffer, se houver, que foi alocado por ObGetObjectSecurity.

ObGetObjectSecurity só deve ser chamado no nível do IRQL = PASSIVE_LEVEL com APCs habilitadas, caso contrário, podem ocorrer deadlocks ou falhas.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Regras de conformidade de DDI HwStorPortProhibitedDIs(storport), IrqlApcLte(wdm)

Confira também

ObReferenceObjectByHandle

ObReleaseObjectSecurity

SECURITY_DESCRIPTOR