Compartilhar via


Função RtlSetDaclSecurityDescriptor (wdm.h)

A rotina RtlSetDaclSecurityDescriptor define as informações da DACL de um descritor de segurança de formato absoluto ou, se já houver uma DACL presente no descritor de segurança, ela será substituída.

Sintaxe

NTSYSAPI NTSTATUS RtlSetDaclSecurityDescriptor(
  [in, out]      PSECURITY_DESCRIPTOR SecurityDescriptor,
  [in]           BOOLEAN              DaclPresent,
  [in, optional] PACL                 Dacl,
  [in, optional] BOOLEAN              DaclDefaulted
);

Parâmetros

[in, out] SecurityDescriptor

Um ponteiro para uma estrutura SECURITY_DESCRIPTOR . Essa estrutura é o descritor de segurança ao qual a DACL deve ser aplicada.

[in] DaclPresent

Indica se uma DACL está presente no descritor de segurança. Se esse parâmetro for FALSE, RtlSetDaclSecurityDescriptor definirá o sinalizador de controle SE_DACL_PRESENT no descritor de segurança como FALSE. Nesse caso, os parâmetros opcionais restantes (Dacl e DaclDefaulted) são ignorados. Se DaclPresent for TRUE, o sinalizador SE_DACL_PRESENT no descritor de segurança será definido como TRUE e os parâmetros opcionais restantes não serão ignorados. Para obter mais informações sobre o sinalizador SE_DACL_PRESENT, consulte SECURITY_DESCRIPTOR_CONTROL.

[in, optional] Dacl

Um ponteiro para a DACL para o descritor de segurança. Se esse parâmetro for NULL, o ponteiro DACL no descritor de segurança será definido como NULL. Um ponteiro DACL NULL concede incondicionalmente todo o acesso a um objeto e não é o mesmo que uma DACL vazia. Uma DACL vazia nega todo o acesso a um objeto . Se Dacl não for NULL, a estrutura de ACL fornecida pelo chamador será referenciada pelo descritor de segurança, mas não copiado para ele. O chamador pode alocar a estrutura de ACL da memória paginada do sistema e pode chamar a rotina RtlCreateAcl para inicializar a estrutura.

[in, optional] DaclDefaulted

Se a DACL foi fornecida por algum mecanismo padrão ou foi especificada explicitamente pelo chamador. Se esse parâmetro for TRUE, a DACL foi fornecida por um mecanismo padrão. Se DaclDefaulted for FALSE, o chamador especificou explicitamente a DACL. RtlSetDaclSecurityDescriptor copia o valor especificado para esse parâmetro para o sinalizador de controle SE_DACL_DEFAULTED no descritor de segurança. Para obter mais informações sobre o sinalizador SE_DACL_DEFAULTED, consulte SECURITY_DESCRIPTOR_CONTROL.

Retornar valor

RtlSetDaclSecurityDescriptor pode retornar um dos seguintes valores de status.

Código de retorno Descrição
STATUS_SUCCESS
Chamada concluída com êxito.
STATUS_UNKNOWN_REVISION
A revisão do descritor de segurança é desconhecida.
STATUS_INVALID_SECURITY_DESCR
O descritor de segurança não é um descritor de segurança de formato absoluto.

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 (modo kernel); Ntdll.dll (modo de usuário)
IRQL PASSIVE_LEVEL

Confira também

ACL

RtlCreateAcl

RtlCreateSecurityDescriptor

RtlLengthSecurityDescriptor

RtlValidSecurityDescriptor

SECURITY_DESCRIPTOR

SECURITY_DESCRIPTOR_CONTROL