Condividi tramite


Funzione BuildExplicitAccessWithNameA (aclapi.h)

La funzione BuildExplicitAccessWithName inizializza una struttura EXPLICIT_ACCESS con i 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 memoria. Questo parametro non può essere NULL.

[in, optional] pTrusteeName

Puntatore a un nullstringa con terminazione contenente il nome del trustee per il ptstrName membro della struttura TRUSTEEE. 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 grfAccessPermissions membro della struttura EXPLICIT_ACCESS. La maschera è un set di flag di bit che utilizzano il formato ACCESS_MASK per specificare i diritti di accesso consentiti, negati o controllati dal trustee di un ACE. Le funzioni che usano la struttura 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 di 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 è associato il ACL . Il valore di questo membro corrisponde alla parte di ereditarietà (byte a basso ordine) del AceFlags membro della struttura ACE_HEADER. Questo parametro può essere NO_INHERITANCE per indicare che ace non è ereditabile oppure può essere una combinazione dei valori seguenti.

Valore Significato
CONTAINER_INHERIT_ACE
Gli altri contenitori contenuti nell'oggetto primario ereditano l'ace.
INHERIT_ONLY_ACE
L'ace non si applica all'oggetto primario a cui è associato l'ACL, ma gli oggetti contenuti nell'oggetto primario ereditano l'ace.
NO_PROPAGATE_INHERIT_ACE
I flag OBJECT_INHERIT_ACE e CONTAINER_INHERIT_ACE non vengono propagati a un ace ereditato.
OBJECT_INHERIT_ACE
Gli oggetti non contenitore contenuti nell'oggetto primario ereditano l'ace.
SUB_CONTAINERS_AND_OBJECTS_INHERIT
Entrambi i contenitori e gli oggetti non contenitore contenuti nell'oggetto primario ereditano l'oggetto ACE. Questo flag corrisponde alla combinazione dei flag CONTAINER_INHERIT_ACE e OBJECT_INHERIT_ACE.
SUB_CONTAINERS_ONLY_INHERIT
Gli altri contenitori contenuti nell'oggetto primario ereditano l'ace. Questo flag corrisponde alla combinazione dei flag CONTAINER_INHERIT_ACE e INHERIT_ONLY_ACE.
SUB_OBJECTS_ONLY_INHERIT
Gli oggetti non contenitore contenuti nell'oggetto primario ereditano l'ace. Questo flag corrisponde alla combinazione dei flag OBJECT_INHERIT_ACE e 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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
piattaforma di destinazione Finestre
intestazione aclapi.h
libreria Advapi32.lib
dll Advapi32.dll

Vedere anche

ace

ACL

Panoramica del controllo di accesso

funzioni di controllo di accesso di base

EXPLICIT_ACCESS

GetExplicitEntriesFromAcl

SetEntriesInAcl

TRUSTEE