La funzione BuildExplicitAccessWithName inizializza una struttura EXPLICIT_ACCESS con i dati specificati dal chiamante. Il trustee è identificato da una stringa di nome.
Sintassi
void BuildExplicitAccessWithNameW(
[in, out] PEXPLICIT_ACCESS_W pExplicitAccess,
[in, optional] LPWSTR 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
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