Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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) |