Partager via


Fonction RtlSetDaclSecurityDescriptor (wdm.h)

La routine RtlSetDaclSecurityDescriptor définit les informations DACL d’un descripteur de sécurité au format absolu, ou s’il existe déjà un DACL présent dans le descripteur de sécurité, il est remplacé.

Syntaxe

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

Paramètres

[in, out] SecurityDescriptor

Pointeur vers une structure SECURITY_DESCRIPTOR . Cette structure est le descripteur de sécurité auquel la liste DACL doit être appliquée.

[in] DaclPresent

Indique s’il faut indiquer qu’un daCL est présent dans le descripteur de sécurité. Si ce paramètre a la valeur FALSE, RtlSetDaclSecurityDescriptor définit l’indicateur de contrôle SE_DACL_PRESENT dans le descripteur de sécurité sur FALSE. Dans ce cas, les paramètres facultatifs restants (Dacl et DaclDefaulted) sont ignorés. Si DaclPresent a la valeur TRUE, l’indicateur SE_DACL_PRESENT dans le descripteur de sécurité est défini sur TRUE et les paramètres facultatifs restants ne sont pas ignorés. Pour plus d’informations sur l’indicateur SE_DACL_PRESENT, consultez SECURITY_DESCRIPTOR_CONTROL.

[in, optional] Dacl

Pointeur vers le DACL pour le descripteur de sécurité. Si ce paramètre a la valeur NULL, le pointeur DACL dans le descripteur de sécurité est défini sur NULL. Un pointeur DACL NULL accorde inconditionnellement tous les accès à un objet et n’est pas identique à un DACL vide. Une liste DACL vide refuse tout accès à un objet. Si Dacl n’a pas la valeur NULL, la structure ACL fournie par l’appelant est référencée par le descripteur de sécurité, mais pas copiée dans. L’appelant peut allouer la structure ACL à partir de la mémoire système paginée et appeler la routine RtlCreateAcl pour initialiser la structure.

[in, optional] DaclDefaulted

Indique si le DACL a été fourni par un mécanisme par défaut ou a été explicitement spécifié par l’appelant. Si ce paramètre a la valeur TRUE, le DACL a été fourni par un mécanisme par défaut. Si DaclDefaulted a la valeur FALSE, l’appelant a explicitement spécifié la liste DACL. RtlSetDaclSecurityDescriptor copie la valeur spécifiée pour ce paramètre dans l’indicateur de contrôle SE_DACL_DEFAULTED dans le descripteur de sécurité. Pour plus d’informations sur l’indicateur SE_DACL_DEFAULTED, consultez SECURITY_DESCRIPTOR_CONTROL.

Valeur retournée

RtlSetDaclSecurityDescriptor peut retourner l’une des valeurs de status suivantes.

Code de retour Description
STATUS_SUCCESS
L'appel s'est terminé avec succès.
STATUS_UNKNOWN_REVISION
La révision du descripteur de sécurité est inconnue.
STATUS_INVALID_SECURITY_DESCR
Le descripteur de sécurité n’est pas un descripteur de sécurité au format absolu.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Universal
En-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe (mode noyau) ; Ntdll.dll (mode utilisateur)
IRQL PASSIVE_LEVEL

Voir aussi

ACL

RtlCreateAcl

RtlCreateSecurityDescriptor

RtlLengthSecurityDescriptor

RtlValidSecurityDescriptor

SECURITY_DESCRIPTOR

SECURITY_DESCRIPTOR_CONTROL