Partager via


BuildExplicitAccessWithNameW, fonction (aclapi.h)

La fonction BuildExplicitAccessWithName initialise une structure EXPLICIT_ACCESS avec les données spécifiées par l’appelant. Le fiduciaire est identifié par une chaîne de nom.

Syntaxe

void BuildExplicitAccessWithNameW(
  [in, out]      PEXPLICIT_ACCESS_W pExplicitAccess,
  [in, optional] LPWSTR             pTrusteeName,
  [in]           DWORD              AccessPermissions,
  [in]           ACCESS_MODE        AccessMode,
  [in]           DWORD              Inheritance
);

Paramètres

[in, out] pExplicitAccess

Pointeur vers une structure EXPLICIT_ACCESS à initialiser. La fonction BuildExplicitAccessWithName n’alloue pas de mémoire. Ce paramètre ne peut pas être NULL.

[in, optional] pTrusteeName

Pointeur vers une chaîne terminée par null qui contient le nom du fiduciaire pour le membre ptstrName de la structure TRUSTEE . La fonction BuildExplicitAccessWithName définit les autres membres de la structure TRUSTEE comme suit.

Valeur Signification
pMultipleTrustee
NULL
MultipleTrusteeOperation
NO_MULTIPLE_TRUSTEE
TrusteeForm
TRUSTEE_IS_NAME
TrusteeType
TRUSTEE_IS_UNKNOWN

[in] AccessPermissions

Spécifie un masque d’accès pour le membre grfAccessPermissions de la structure EXPLICIT_ACCESS . Le masque est un 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.

[in] AccessMode

Spécifie un mode d’accès pour le membre grfAccessMode de la structure EXPLICIT_ACCESS . Le mode d’accès indique si l’entrée de contrôle d’accès (ACE) autorise, refuse ou audite les droits spécifiés. Pour une liste de contrôle d’accès discrétionnaire (DACL), ce paramètre peut être l’une des valeurs de l’énumération ACCESS_MODE . Pour une liste de contrôle d’accès système (SACL), ce paramètre peut être une combinaison de valeurs ACCESS_MODE .

[in] Inheritance

Spécifie un type d’héritage pour le membre grfInheritance de la structure EXPLICIT_ACCESS . Cette valeur est un ensemble d’indicateurs de bits qui déterminent 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 ne peut pas être hérité, ou il peut s’agir d’une combinaison des valeurs suivantes.

Valeur Signification
CONTAINER_INHERIT_ACE
D’autres conteneurs contenus dans l’objet principal héritent de l’ACE.
INHERIT_ONLY_ACE
L’ACE ne s’applique pas à l’objet principal auquel la liste de contrôle d’accès est attachée, mais les objets contenus par l’objet principal héritent de l’ACE.
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 noncontainer contenus par l’objet principal héritent de l’ACE.
SUB_CONTAINERS_AND_OBJECTS_INHERIT
Les conteneurs et les objets non-conteneur 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 dans l’objet principal héritent de l’ACE. Cet indicateur correspond à la combinaison des indicateurs CONTAINER_INHERIT_ACE et INHERIT_ONLY_ACE .
SUB_OBJECTS_ONLY_INHERIT
Les objets noncontainer contenus par l’objet principal héritent de l’ACE. Cet indicateur correspond à la combinaison des indicateurs OBJECT_INHERIT_ACE et INHERIT_ONLY_ACE .

Valeur de retour

None

Remarques

Notes

L’en-tête aclapi.h définit BuildExplicitAccessWithName en tant qu’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. La combinaison 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]
Plateforme cible Windows
En-tête aclapi.h
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

ACE

ACL

Vue d’ensemble du contrôle d’accès

Fonctions Access Control de base

EXPLICIT_ACCESS

GetExplicitEntriesFromAcl

SetEntriesInAcl

FIDUCIAIRE