EXPLICIT_ACCESS_A struttura (accctrl.h)

La struttura EXPLICIT_ACCESS definisce le informazioni di controllo di accesso per un truste specificato. Le funzioni di controllo di accesso, ad esempio SetEntriesInAcl e GetExplicitEntriesFromAcl, usano questa struttura per descrivere le informazioni in una voce di controllo di accesso (ACE) di un elenco di controllo di accesso (ACL).

Sintassi

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;

Members

grfAccessPermissions

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 trustee. Le funzioni che usano la struttura di EXPLICIT_ACCESS non convertono, interpretano o convalidano i bit in questa maschera.

grfAccessMode

Valore dell'enumerazione ACCESS_MODE . Per un elenco di controllo di accesso discrezionale (DACL), questo flag indica se l'ACL consente o nega i diritti di accesso specificati. Per un elenco di controllo di accesso al sistema (SACL), questo flag indica se l'ACL genera messaggi di controllo per tentativi di controllo riusciti di usare i diritti di accesso specificati o tentativi non riusciti o entrambi. Quando si modifica un ACL esistente, è possibile specificare il flag di REVOKE_ACCESS per rimuovere eventuali ACL esistenti per l'utente attendibile specificato.

grfInheritance

Set di flag di bit che determina 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_NO_PROPAGATE
Ereditare ma non propagare.
INHERIT_ONLY
Eredita solo.
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_INHERITANCE
Non ereditare.
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 al flag di CONTAINER_INHERIT_ACE.
SUB_OBJECTS_ONLY_INHERIT
Gli oggetti Noncontainer contenuti nell'oggetto primario ereditano l'ACE. Questo flag corrisponde al flag OBJECT_INHERIT_ACE.

Trustee

Struttura TRUSTEE che identifica l'utente, il gruppo o il programma (ad esempio un servizio Windows) a cui si applica l'ACE.

Commenti

Nota

L'intestazione accctrl.h definisce EXPLICIT_ACCESS_ 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]
Intestazione accctrl.h

Vedi anche

ACCESS_MASK

ACCESS_MODE

ACE

ACE_HEADER

ACL

BuildExplicitAccessWithName

BuildSecurityDescriptor

GetExplicitEntriesFromAcl

RicercaSecurityDescriptorParts

SetEntriesInAcl

FIDUCIARIO