AddAccessAllowedAceEx, fonction (securitybaseapi.h)
La fonction AddAccessAllowedAceEx ajoute une entrée de contrôle d’accès autorisé (ACE) à la fin d’une liste de contrôle d’accès discrétionnaire (DACL).
Syntaxe
BOOL AddAccessAllowedAceEx(
[in, out] PACL pAcl,
[in] DWORD dwAceRevision,
[in] DWORD AceFlags,
[in] DWORD AccessMask,
[in] PSID pSid
);
Paramètres
[in, out] pAcl
Pointeur vers une liste de contrôle d’accès. La fonction AddAccessAllowedAceEx ajoute un ace autorisé à l’accès à la fin de cette LISTE DE CONTRÔLE d’accès. L’ACE se présente sous la forme d’une structure ACCESS_ALLOWED_ACE .
[in] dwAceRevision
Spécifie le niveau de révision de la liste DACL en cours de modification. Cette valeur peut être ACL_REVISION ou ACL_REVISION_DS. Utilisez ACL_REVISION_DS si la liste DACL contient des AE spécifiques à l’objet.
[in] AceFlags
Ensemble d’indicateurs de bits qui contrôlent l’héritage ACE. La fonction définit ces indicateurs dans le membre AceFlags de la structure ACE_HEADER du nouvel ACE. Ce paramètre peut être une combinaison des valeurs suivantes.
Valeur | Signification |
---|---|
|
L’ACE est hérité par les objets conteneur. |
|
L’ACE ne s’applique pas à l’objet auquel la liste de contrôle d’accès (ACL) est affectée, mais elle peut être héritée par les objets enfants. |
|
Indique un ACE hérité. Cet indicateur permet aux opérations qui modifient la sécurité sur une arborescence d’objets de modifier les ACL héritées sans modifier les ACL directement appliquées à l’objet. |
|
Les bits OBJECT_INHERIT_ACE et CONTAINER_INHERIT_ACE ne sont pas propagés à un ACE hérité. |
|
L’ACE est hérité par les objets non-conteneur. |
[in] AccessMask
Ensemble d’indicateurs de bits qui utilisent le format ACCESS_MASK . Ces indicateurs spécifient les droits d’accès que la nouvelle ACE autorise pour l’identificateur de sécurité (SID) spécifié.
[in] pSid
Pointeur vers un SID qui identifie l’utilisateur, le groupe ou la session d’ouverture de session auquel le nouvel ACE autorise l’accès.
Valeur retournée
Si la fonction réussit, la valeur de retour est différente de zéro.
Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError. Voici les valeurs d’erreur possibles.
Code de retour | Description |
---|---|
|
Le nouvel ACE ne tient pas dans la liste de contrôle d’accès. Une mémoire tampon ACL plus grande est requise. |
|
La liste de contrôle d’accès spécifiée n’est pas correctement formée. |
|
Le paramètre AceFlags n’est pas valide. |
|
Le SID spécifié n’est pas structurellement valide. |
|
La révision spécifiée n’est pas connue ou est incompatible avec celle de l’ACL. |
|
L’ACE a été ajouté avec succès. |
Remarques
L’appelant doit s’assurer que les ACL sont ajoutés au dacl dans l’ordre correct. Pour plus d’informations, consultez Ordre des entrées ACE dans une liste de contrôle d’accès discrétionnaire (DACL).
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 |