Partager via


AddAccessDeniedAceEx, fonction (securitybaseapi.h)

La fonction AddAccessDeniedAceEx ajoute une entrée de contrôle d’accès refusé (ACE) à la fin d’une liste de contrôle d’accès discrétionnaire (DACL).

Syntaxe

BOOL AddAccessDeniedAceEx(
  [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 AddAccessDeniedAceEx ajoute un ACE refusé à 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_DENIED_ACE .

[in] dwAceRevision

Spécifie le niveau de révision de la liste de contrôle d’accès en cours de modification. Cette valeur peut être ACL_REVISION ou ACL_REVISION_DS. Utilisez ACL_REVISION_DS si le daCL contient des AIC 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
CONTAINER_INHERIT_ACE
L’ACE est hérité par les objets conteneur.
INHERIT_ONLY_ACE
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 des objets enfants.
INHERITED_ACE
Indique un ACE hérité. Cet indicateur permet aux opérations qui modifient la sécurité d’une arborescence d’objets de modifier les AFC hérités, sans modifier les AFC qui ont été directement appliqués à l’objet.
NO_PROPAGATE_INHERIT_ACE
Les bits OBJECT_INHERIT_ACE et CONTAINER_INHERIT_ACE ne sont pas propagés vers un ACE hérité.
OBJECT_INHERIT_ACE
L’ACE est hérité par les objets non-contenus.

[in] AccessMask

Ensemble d’indicateurs de bits qui utilisent le format ACCESS_MASK pour spécifier les droits d’accès que le nouvel ACE refuse à 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 refuse 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
ERROR_ALLOTTED_SPACE_EXCEEDED
La nouvelle ACE ne s’intègre pas dans la liste de contrôle d’accès. Une mémoire tampon ACL plus grande est requise.
ERROR_INVALID_ACL
La liste de contrôle d’accès spécifiée n’est pas correctement formée.
ERROR_INVALID_FLAGS
Le paramètre AceFlags n’est pas valide.
ERROR_INVALID_SID
Le SID spécifié n’est pas structurellement valide.
ERROR_REVISION_MISMATCH
La révision spécifiée n’est pas connue ou est incompatible avec celle de la liste de contrôle d’accès.
ERROR_SUCCESS
L’ACE a été ajouté avec succès.

Remarques

Bien que la fonction AddAccessDeniedAceEx ajoute le nouvel ACE à la fin de la liste de contrôle d’accès, les AAC refusés doivent apparaître au début d’une liste DACL. L’appelant doit s’assurer que les AIC sont ajoutés à la liste 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 uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête securitybaseapi.h (inclure Windows.h)
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

ACCESS_DENIED_ACE

ACCESS_MASK

ACE_HEADER

AddAccessAllowedAceEx

AddAuditAccessAceEx

Access Control de bas niveau

Fonctions Access Control de bas niveau