Partager via


AddResourceAttributeAce, fonction (securitybaseapi.h)

La fonction AddResourceAttributeAce ajoute une entrée decontrôle d’accès (ACE) SYSTEM_RESOURCE_ATTRIBUTE_ACE à la fin d’une liste de contrôle d’accès système (SACL). Une structure SYSTEM_RESOURCE_ATTRIBUTE_ACE spécifie un nom d’attribut et une liste ordonnée d’éléments associés à une ressource et potentiellement utilisés lors des vérifications d’accès. L’ensemble des droits d’accès standard sont définis dans la rubrique Droits d’accès standard .

Syntaxe

BOOL AddResourceAttributeAce(
  [in, out] PACL                                   pAcl,
  [in]      DWORD                                  dwAceRevision,
  [in]      DWORD                                  AceFlags,
  [in]      DWORD                                  AccessMask,
  [in]      PSID                                   pSid,
  [in]      PCLAIM_SECURITY_ATTRIBUTES_INFORMATION pAttributeInfo,
  [out]     PDWORD                                 pReturnLength
);

Paramètres

[in, out] pAcl

Pointeur vers une liste de contrôle d’accès (ACL). Cette fonction ajoute un ACE à cette liste de contrôle d’accès. La valeur de ce paramètre ne peut pas être NULL. L’ACE se présente sous la forme d’une structure SYSTEM_RESOURCE_ATTRIBUTE_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 la liste de contrôle d’accès 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.

Par souci de cohérence avec l’interface utilisateur Windows 8 Advanced File Permissions, les applications doivent spécifier les indicateurs CONTAINER_INHERIT_ACE et OBJECT_INHERIT_ACE dans le paramètre AceFlags.

Ce paramètre peut être une combinaison des valeurs suivantes.

Valeur Signification
CONTAINER_INHERIT_ACE
2 (0x2)
L’ACE est hérité par les objets conteneur.
INHERIT_ONLY_ACE
8 (0x8)
L’ACE ne s’applique pas à l’objet auquel l’ACE est affecté, mais il peut être hérité par des objets enfants.
INHERITED_ACE
16 (0x10)
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.
NO_PROPAGATE_INHERIT_ACE
4 (0x4)
Les bits OBJECT_INHERIT_ACE et CONTAINER_INHERIT_ACE ne sont pas propagés à un ACE hérité.
OBJECT_INHERIT_ACE
1 (0x1)
L’ACE est hérité par les objets non-conteneur.

[in] AccessMask

Doit être égal à zéro pour Windows 8 et Windows Server 2012.

[in] pSid

Doit être le SID de tout le monde (S-1-1-0) pour Windows 8 et Windows Server 2012.

[in] pAttributeInfo

Spécifie les informations d’attribut qui seront ajoutées après le SID dans l’ACE.

[out] pReturnLength

Taille, en octets, de la mémoire tampon ACL réelle utilisée. Si la mémoire tampon spécifiée par le paramètre pAcl n’est pas assez grande, la valeur de ce paramètre est la taille totale requise pour la mémoire tampon ACL.

Valeur retournée

Si la fonction réussit, elle retourne TRUE.

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Plateforme cible Windows
En-tête securitybaseapi.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

Droits d’accès standard