GetSecurityDescriptorDacl, fonction (securitybaseapi.h)

La fonction GetSecurityDescriptorDacl récupère un pointeur vers la liste de contrôle d’accès discrétionnaire (DACL) dans un descripteur de sécurité spécifié.

Syntaxe

BOOL GetSecurityDescriptorDacl(
  [in]  PSECURITY_DESCRIPTOR pSecurityDescriptor,
  [out] LPBOOL               lpbDaclPresent,
  [out] PACL                 *pDacl,
  [out] LPBOOL               lpbDaclDefaulted
);

Paramètres

[in] pSecurityDescriptor

Pointeur vers la structure SECURITY_DESCRIPTOR qui contient la liste DACL. La fonction récupère un pointeur vers celle-ci.

[out] lpbDaclPresent

Pointeur vers une valeur qui indique la présence d’un DACL dans le descripteur de sécurité spécifié. Si lpbDaclPresent a la valeur TRUE, le descripteur de sécurité contient un DACL et les paramètres de sortie restants dans cette fonction reçoivent des valeurs valides. Si lpbDaclPresent a la valeur FALSE, le descripteur de sécurité ne contient pas de DACL et les paramètres de sortie restants ne reçoivent pas de valeurs valides.

La valeur TRUE pour lpbDaclPresent ne signifie pas que pDacl n’est pas NULL. Autrement dit, lpbDaclPresent peut avoir la valeur TRUE alors que pDacl a la valeur NULL, ce qui signifie qu’une liste DACL NULL est appliquée. Un DACL NULL autorise implicitement tous les accès à un objet et n’est pas identique à un DACL vide. Une liste DACL vide n’autorise aucun accès à un objet. Pour plus d’informations sur la création d’une liste DACL appropriée, consultez Création d’un DACL.

[out] pDacl

Pointeur vers un pointeur vers une liste de contrôle d’accès (ACL). S’il existe une liste DACL, la fonction définit le pointeur vers lequel pDacl pointe vers l’adresse du dacl du descripteur de sécurité. S’il n’existe pas de liste de contrôle d’accès, aucune valeur n’est stockée.

Si la fonction stocke une valeur NULL dans le pointeur vers lequel pDacl pointe, le descripteur de sécurité a une dacl NULL . Une liste DACL NULL autorise implicitement tous les accès à un objet.

Si une application s’attend à un DACL non NULL , mais rencontre une liste DACL NULL , l’application doit échouer de manière sécurisée et ne pas autoriser l’accès.

[out] lpbDaclDefaulted

Pointeur vers un indicateur défini sur la valeur de l’indicateur SE_DACL_DEFAULTED dans la structure SECURITY_DESCRIPTOR_CONTROL s’il existe une liste dacl pour le 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 ; si la valeur est FALSE, la liste DACL a été explicitement spécifiée par un utilisateur.

Valeur retournée

Si la fonction réussit, la fonction retourne une valeur différente de zéro.

Si la fonction échoue, elle retourne zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête securitybaseapi.h (inclure Windows.h)
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

GetSecurityDescriptorControl

GetSecurityDescriptorGroup

GetSecurityDescriptorLength

GetSecurityDescriptorOwner

GetSecurityDescriptorSacl

InitializeSecurityDescriptor

IsValidSecurityDescriptor

Access Control de bas niveau

Fonctions Access Control de bas niveau

SECURITY_DESCRIPTOR

SECURITY_DESCRIPTOR_CONTROL

SetSecurityDescriptorDacl