structure EXPLICIT_ACCESS_A (accctrl.h)

La structure EXPLICIT_ACCESS définit les informations de contrôle d’accès pour un fiduciaire spécifié. Les fonctions de contrôle d’accès, telles que SetEntriesInAcl et GetExplicitEntriesFromAcl, utilisent cette structure pour décrire les informations d’une entrée de contrôle d’accès (ACE) d’une liste de contrôle d’accès (ACL).

Syntaxe

typedef struct _EXPLICIT_ACCESS_A {
  DWORD       grfAccessPermissions;
  ACCESS_MODE grfAccessMode;
  DWORD       grfInheritance;
  TRUSTEE_A   Trustee;
} EXPLICIT_ACCESS_A, *PEXPLICIT_ACCESS_A, EXPLICIT_ACCESSA, *PEXPLICIT_ACCESSA;

Membres

grfAccessPermissions

Ensemble d’indicateurs de bits qui utilisent le format ACCESS_MASK pour spécifier les droits d’accès qu’un ACE autorise, refuse ou audite pour le fiduciaire. Les fonctions qui utilisent la structure EXPLICIT_ACCESS ne convertissent pas, n’interprètent ni ne valident les bits de ce masque.

grfAccessMode

Valeur de l’énumération ACCESS_MODE . Pour une liste de contrôle d’accès discrétionnaire (DACL), cet indicateur indique si l’ACL autorise ou refuse les droits d’accès spécifiés. Pour une liste de contrôle d’accès système (SACL), cet indicateur indique si l’ACL génère des messages d’audit pour les tentatives d’utilisation réussies des droits d’accès spécifiés, ou les tentatives ayant échoué, ou les deux. Lorsque vous modifiez une liste de contrôle d’accès existante, vous pouvez spécifier l’indicateur REVOKE_ACCESS pour supprimer tous les AIC existants pour le fiduciaire spécifié.

grfInheritance

Ensemble d’indicateurs de bits qui détermine si d’autres conteneurs ou objets peuvent hériter de l’ACE de l’objet principal auquel la liste de contrôle d’accès est attachée. La valeur de ce membre correspond à la partie d’héritage (octet de bas ordre) du membre AceFlags de la structure ACE_HEADER . Ce paramètre peut être NO_INHERITANCE pour indiquer que l’ACE n’est pas héritable ; ou il peut s’agir d’une combinaison des valeurs suivantes.

Valeur Signification
CONTAINER_INHERIT_ACE
D’autres conteneurs contenus par l’objet principal héritent de l’ACE.
INHERIT_NO_PROPAGATE
Hériter mais ne pas propager.
INHERIT_ONLY
Hériter uniquement.
INHERIT_ONLY_ACE
L’ACE ne s’applique pas à l’objet principal auquel l’ACL est attachée, mais les objets contenus par l’objet principal héritent de l’ACE.
NO_INHERITANCE
N’héritez pas.
NO_PROPAGATE_INHERIT_ACE
Les indicateurs OBJECT_INHERIT_ACE et CONTAINER_INHERIT_ACE ne sont pas propagés à un ACE hérité.
OBJECT_INHERIT_ACE
Les objets non-contenus contenus par l’objet principal héritent de l’ACE.
SUB_CONTAINERS_AND_OBJECTS_INHERIT
Les conteneurs et les objets non-contenants qui sont contenus par l’objet principal héritent de l’ACE. Cet indicateur correspond à la combinaison des indicateurs CONTAINER_INHERIT_ACE et OBJECT_INHERIT_ACE.
SUB_CONTAINERS_ONLY_INHERIT
D’autres conteneurs contenus par l’objet principal héritent de l’ACE. Cet indicateur correspond à l’indicateur CONTAINER_INHERIT_ACE.
SUB_OBJECTS_ONLY_INHERIT
Les objets non-contenus contenus par l’objet principal héritent de l’ACE. Cet indicateur correspond à l’indicateur OBJECT_INHERIT_ACE.

Trustee

Structure TRUSTEE qui identifie l’utilisateur, le groupe ou le programme (tel qu’un service Windows) auquel l’ACE s’applique.

Remarques

Notes

L’en-tête accctrl.h définit EXPLICIT_ACCESS_ comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

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 accctrl.h

Voir aussi

ACCESS_MASK

ACCESS_MODE

ACE

ACE_HEADER

ACL

BuildExplicitAccessWithName

BuildSecurityDescriptor

GetExplicitEntriesFromAcl

LookupSecurityDescriptorParts

SetEntriesInAcl

FIDUCIAIRE