Função RtlGetDaclSecurityDescriptor (ntifs.h)

A rotina RtlGetDaclSecurityDescriptor retorna um ponteiro para a ACL discricionária (DACL) para um descritor de segurança.

Sintaxe

NTSYSAPI NTSTATUS RtlGetDaclSecurityDescriptor(
  [in]  PSECURITY_DESCRIPTOR SecurityDescriptor,
  [out] PBOOLEAN             DaclPresent,
  [out] PACL                 *Dacl,
  [out] PBOOLEAN             DaclDefaulted
);

Parâmetros

[in] SecurityDescriptor

Ponteiro para o SECURITY_DESCRIPTOR cuja DACL deve ser retornada.

[out] DaclPresent

Ponteiro para uma variável booliana que indica a presença de uma DACL no descritor de segurança especificado. Se essa variável receber TRUE, o descritor de segurança conterá uma DACL e os parâmetros de saída restantes receberão valores válidos. Se essa variável receber FALSE, o descritor de segurança não conterá uma DACL e os parâmetros de saída restantes não receberão valores válidos.

[out] Dacl

Ponteiro para uma variável que recebe o endereço da DACL para o descritor de segurança. Se o descritor de segurança não tiver uma DACL, essa variável não receberá um valor. Se o descritor de segurança tiver uma DACL NULL , essa variável receberá NULL. Uma DACL NULL permite implicitamente todo o acesso a um objeto .

[out] DaclDefaulted

Ponteiro para uma variável booliana que recebe o valor do sinalizador SE_DACL_DEFAULTED na estrutura de SECURITY_DESCRIPTOR_CONTROL do descritor de segurança. Se esse sinalizador for TRUE, a DACL foi recuperada por um mecanismo padrão. Se for FALSE, a DACL foi especificada explicitamente por um usuário. Esse valor só será válido se *Dacl receber um valor não NULL .

Retornar valor

RtlGetDaclSecurityDescriptor retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como o seguinte:

Código de retorno Descrição
STATUS_UNKNOWN_REVISION
O nível de revisão do descritor de segurança é desconhecido ou não tem suporte. Este é um código de erro.

Comentários

Um valor true para*DaclPresent não significa que *Dacl não é NULL. Ou seja, *DaclPresent pode ser TRUE enquanto *Dacl é NULL, o que significa que uma DACL NULL está em vigor. Uma DACL NULL permite implicitamente todo o acesso a um objeto e não é igual a uma DACL vazia. Uma DACL vazia não permite acesso a um objeto .

Para obter mais informações sobre segurança e controle de acesso, consulte Modelo de segurança do Windows para desenvolvedores de driver e a documentação sobre esses tópicos no SDK do Windows.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Server 2003 SP1
Plataforma de Destino Universal
Cabeçalho ntifs.h (inclua Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Confira também

ACL

RtlCreateSecurityDescriptor

RtlLengthSecurityDescriptor

RtlSetDaclSecurityDescriptor

RtlValidSecurityDescriptor

SECURITY_DESCRIPTOR