Fonction RtlGetDaclSecurityDescriptor (ntifs.h)

La routine RtlGetDaclSecurityDescriptor retourne un pointeur vers l’ACL discrétionnaire (DACL) pour un descripteur de sécurité.

Syntaxe

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

Paramètres

[in] SecurityDescriptor

Pointeur vers le SECURITY_DESCRIPTOR dont la liste de contrôle d’accès doit être retournée.

[out] DaclPresent

Pointeur vers une variable booléenne qui indique la présence d’une liste dacl dans le descripteur de sécurité spécifié. Si cette variable reçoit TRUE, le descripteur de sécurité contient une liste dacl et les paramètres de sortie restants reçoivent des valeurs valides. Si cette variable reçoit FALSE, le descripteur de sécurité ne contient pas de liste de contrôle d’accès dacl et les paramètres de sortie restants ne reçoivent pas de valeurs valides.

[out] Dacl

Pointeur vers une variable qui reçoit l’adresse de la liste dacl pour le descripteur de sécurité. Si le descripteur de sécurité n’a pas de liste de contrôle d’accès( DACL), cette variable ne reçoit pas de valeur. Si le descripteur de sécurité a une LISTE DE contrôle d’accès NULL , cette variable reçoit NULL. Une LISTE DE CONTRÔLE DE contrôle d’accès NULL autorise implicitement tout accès à un objet.

[out] DaclDefaulted

Pointeur vers une variable booléenne qui reçoit la valeur de l’indicateur SE_DACL_DEFAULTED dans la structure SECURITY_DESCRIPTOR_CONTROL du descripteur de sécurité. Si cet indicateur a la valeur TRUE, la liste dacl a été récupérée par un mécanisme par défaut. S’il a la valeur FALSE, la liste dacl a été spécifiée explicitement par un utilisateur. Cette valeur est valide uniquement si *Dacl reçoit une valeur non NULL .

Valeur retournée

RtlGetDaclSecurityDescriptor retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, par exemple :

Code de retour Description
STATUS_UNKNOWN_REVISION
Le niveau de révision du descripteur de sécurité est inconnu ou n’est pas pris en charge. Il s’agit d’un code d’erreur.

Remarques

La valeur TRUE pour *DaclPresent ne signifie pas que *Dacl est non NULL. Autrement dit, *DaclPresent peut avoir la valeur TRUE tandis que *Dacl a la valeur NULL, ce qui signifie qu’une liste DACL NULL est en vigueur. Une liste DACL NULL autorise implicitement tout accès à un objet et n’est pas identique à une liste DACL vide. Une liste DACL vide n’autorise aucun accès à un objet.

Pour plus d’informations sur la sécurité et le contrôle d’accès, consultez Modèle de sécurité Windows pour les développeurs de pilotes et la documentation sur ces rubriques dans le Kit de développement logiciel (SDK) Windows.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Server 2003 SP1
Plateforme cible Universal
En-tête ntifs.h (inclure Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Voir aussi

ACL

RtlCreateSecurityDescriptor

RtlLengthSecurityDescriptor

RtlSetDaclSecurityDescriptor

RtlValidSecurityDescriptor

SECURITY_DESCRIPTOR