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 |