structure ACCESS_ALLOWED_ACE (winnt.h)
La structure ACCESS_ALLOWED_ACE définit une entrée de contrôle d’accès (ACE) pour la liste de contrôle d’accès discrétionnaire (DACL) qui contrôle l’accès à un objet. Un ACE autorisé à accéder autorise l’accès à un objet pour un fiduciaire spécifique identifié par un identificateur de sécurité (SID).
Syntaxe
typedef struct _ACCESS_ALLOWED_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD SidStart;
} ACCESS_ALLOWED_ACE;
Membres
Header
ACE_HEADER structure qui spécifie la taille et le type d’ACE. Il contient également des indicateurs qui contrôlent l’héritage de l’ACE par les objets enfants. Le membre AceType de la structure ACE_HEADER doit être défini sur ACCESS_ALLOWED_ACE_TYPE, et le membre AceSize doit être défini sur le nombre total d’octets alloués pour la structure ACCESS_ALLOWED_ACE .
Mask
Spécifie une structure ACCESS_MASK qui spécifie les droits d’accès accordés par cet ACE.
SidStart
Premier DWORD du SID d’un fiduciaire. Les octets restants du SID sont stockés dans la mémoire contiguë après le membre SidStart . Ce SID peut être ajouté avec des données d’application.
Remarques
Les structures ACE doivent être alignées sur les limites DWORD . Toutes les fonctions de gestion de la mémoire Windows retournent des handles alignés sur DWORD à la mémoire.
Les droits d’accès spécifiés par le membre Mask sont accordés à tout fiduciaire qui possède un SID activé qui correspond au SID stocké dans le membre SidStart .
Une structure ACCESS_ALLOWED_ACE peut être créée dans une liste de contrôle d’accès (ACL) par un appel à la fonction AddAccessAllowedAce ou AddAccessAllowedAceEx . Lorsque ces fonctions sont utilisées, la quantité de mémoire nécessaire pour prendre en charge le SID du fiduciaire est allouée et les valeurs des membres Header.AceType et Header.AceSize sont définies automatiquement. Si la fonction AddAccessAllowedAceEx est utilisée, le membre Header.AceFlags est également défini. Lorsqu’une structure de ACCESS_ALLOWED_ACE est créée en dehors d’une liste de contrôle d’accès, une mémoire suffisante doit être allouée pour prendre en charge le SID complet du membre SidStart et la mémoire contiguë qui la suit, et les valeurs des membres Header.AceType, Header.AceFlags et Header.AceSize doivent être définies explicitement par l’application.
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] |
En-tête | winnt.h (inclure Windows.h) |