Partilhar via


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 um DACL no descritor de segurança especificado. Se essa variável receber verdadeiro, o descritor de segurança conterá um 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 um DACL, essa variável não receberá um valor. Se o descritor de segurança tiver um NULL DACL, essa variável receberá NULL. Um NULL DACL 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 VERDADEIRO, o DACL foi recuperado por um mecanismo padrão. Se for FALSE, a DACL foi especificada explicitamente por um usuário. Esse valor será válido somente se *Dacl receber um valor deNULL não.

Valor de retorno

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.

Observações

Um valor de TRUE para *DaclPresent não significa que *Dacl não éNULL . Ou seja, *DaclPresent pode ser verdadeiro enquanto *Dacl está NULL, o que significa que uma NULL DACL está em vigor. Um NULL DACL permite implicitamente todo o acesso a um objeto e não é o mesmo que um DACL vazio. Um DACL vazio 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
de cliente com suporte mínimo Windows Server 2003 SP1
da Plataforma de Destino Universal
cabeçalho ntifs.h (inclua Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Consulte também

acl

rtlCreateSecurityDescriptor

rtlLengthSecurityDescriptor

rtlSetDaclSecurityDescriptor

rtlValidSecurityDescriptor

SECURITY_DESCRIPTOR