Condividi tramite


Funzione BuildExplicitAccessWithNameA (aclapi.h)

La funzione BuildExplicitAccessWithName inizializza una struttura EXPLICIT_ACCESS con dati specificati dal chiamante. Il trustee è identificato da una stringa di nome.

Sintassi

void BuildExplicitAccessWithNameA(
  [in, out]      PEXPLICIT_ACCESS_A pExplicitAccess,
  [in, optional] LPSTR              pTrusteeName,
  [in]           DWORD              AccessPermissions,
  [in]           ACCESS_MODE        AccessMode,
  [in]           DWORD              Inheritance
);

Parametri

[in, out] pExplicitAccess

Puntatore a una struttura EXPLICIT_ACCESS da inizializzare. La funzione BuildExplicitAccessWithName non alloca alcuna memoria. Questo parametro non può essere NULL.

[in, optional] pTrusteeName

Puntatore a una stringa con terminazione null contenente il nome del trustee per il membro ptstrName della struttura TRUSTEE . La funzione BuildExplicitAccessWithName imposta gli altri membri della struttura TRUSTEE come indicato di seguito.

Valore Significato
pMultipleTrustee
NULL
MultipleTrusteeOperation
NO_MULTIPLE_TRUSTEE
TrusteeForm
TRUSTEE_IS_NAME
TrusteeType
TRUSTEE_IS_UNKNOWN

[in] AccessPermissions

Specifica una maschera di accesso per il membro grfAccessPermissions della struttura EXPLICIT_ACCESS . La maschera è un set di flag di bit che usano il formato ACCESS_MASK per specificare i diritti di accesso che un ACE consente, nega o controlla per il truste. Le funzioni che usano la struttura di EXPLICIT_ACCESS non convertono, interpretano o convalidano i bit in questa maschera.

[in] AccessMode

Specifica una modalità di accesso per il membro grfAccessMode della struttura EXPLICIT_ACCESS . La modalità di accesso indica se la voce di controllo di accesso (ACE) consente, nega o controlla i diritti specificati. Per un elenco di controllo di accesso discrezionale (DACL), questo parametro può essere uno dei valori dell'enumerazione ACCESS_MODE . Per un elenco di controllo di accesso del sistema (SACL), questo parametro può essere una combinazione di valori ACCESS_MODE .

[in] Inheritance

Specifica un tipo di ereditarietà per il membro grfInheritance della struttura EXPLICIT_ACCESS . Questo valore è un set di flag di bit che determinano se altri contenitori o oggetti possono ereditare l'ACE dall'oggetto primario a cui è collegato l'ACL . Il valore di questo membro corrisponde alla parte di ereditarietà (byte a basso ordine) del membro AceFlags della struttura ACE_HEADER . Questo parametro può essere NO_INHERITANCE per indicare che l'ACE non è ereditabile oppure può essere una combinazione dei valori seguenti.

Valore Significato
CONTAINER_INHERIT_ACE
Altri contenitori contenuti dall'oggetto primario ereditano l'ACE.
INHERIT_ONLY_ACE
L'ACE non si applica all'oggetto primario a cui è collegato l'ACL, ma gli oggetti contenuti dall'oggetto primario ereditano l'ACE.
NO_PROPAGATE_INHERIT_ACE
I flag di OBJECT_INHERIT_ACE e CONTAINER_INHERIT_ACE non vengono propagati a un ace ereditato.
OBJECT_INHERIT_ACE
Gli oggetti Noncontainer contenuti nell'oggetto primario ereditano l'ACE.
SUB_CONTAINERS_AND_OBJECTS_INHERIT
Entrambi i contenitori e gli oggetti noncontainer contenuti dall'oggetto primario ereditano l'ACE. Questo flag corrisponde alla combinazione dei flag di CONTAINER_INHERIT_ACE e di OBJECT_INHERIT_ACE.
SUB_CONTAINERS_ONLY_INHERIT
Altri contenitori contenuti dall'oggetto primario ereditano l'ACE. Questo flag corrisponde alla combinazione dei flag di CONTAINER_INHERIT_ACE e INHERIT_ONLY_ACE .
SUB_OBJECTS_ONLY_INHERIT
Gli oggetti Noncontainer contenuti nell'oggetto primario ereditano l'ACE. Questo flag corrisponde alla combinazione dei flag di OBJECT_INHERIT_ACE e di INHERIT_ONLY_ACE .

Valore restituito

nessuno

Osservazioni

Nota

L'intestazione aclapi.h definisce BuildExplicitAccessWithName come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione aclapi.h
Libreria Advapi32.lib
DLL Advapi32.dll

Vedi anche

ACE

ACL

Panoramica Controllo di accesso

Funzioni di base Controllo di accesso

EXPLICIT_ACCESS

GetExplicitEntriesFromAcl

SetEntriesInAcl

FIDUCIARIO