struttura ACCESS_ALLOWED_ACE (winnt.h)

La struttura ACCESS_ALLOWED_ACE definisce una voce di controllo di accesso (ACE) per l'elenco di controllo di accesso discrezionale (DACL) che controlla l'accesso a un oggetto. Un ace consentito per l'accesso consente l'accesso a un oggetto per un trustee specifico identificato da un SID (Security Identifier ).

Sintassi

typedef struct _ACCESS_ALLOWED_ACE {
  ACE_HEADER  Header;
  ACCESS_MASK Mask;
  DWORD       SidStart;
} ACCESS_ALLOWED_ACE;

Members

Header

ACE_HEADER struttura che specifica le dimensioni e il tipo di ACE. Contiene anche flag che controllano l'ereditarietà dell'ace dagli oggetti figlio. Il membro AceType della struttura ACE_HEADER deve essere impostato su ACCESS_ALLOWED_ACE_TYPE e il membro AceSize deve essere impostato sul numero totale di byte allocati per la struttura ACCESS_ALLOWED_ACE .

Mask

Specifica una struttura ACCESS_MASK che specifica i diritti di accesso concessi da questa ace.

SidStart

Primo DWORD del SID di un trustee. I byte rimanenti del SID vengono archiviati in memoria contigua dopo il membro SidStart . Questo SID può essere aggiunto con i dati dell'applicazione.

Commenti

Le strutture ACE devono essere allineate ai limiti DWORD . Tutte le funzioni di gestione della memoria di Windows restituiscono handle allineati con DWORD alla memoria.

I diritti di accesso specificati dal membro Mask vengono concessi a qualsiasi trustee che possiede un SID abilitato che corrisponde al SID archiviato nel membro SidStart .

Una struttura ACCESS_ALLOWED_ACE può essere creata in un elenco di controllo di accesso (ACL) tramite una chiamata alla funzione AddAccessAllowedAce o AddAccessAllowedAceEx. Quando vengono usate queste funzioni, viene allocata automaticamente la quantità corretta di memoria necessaria per supportare il SID del trustee e i valori dei membri Header.AceType e Header.AceSize vengono impostati automaticamente. Se viene utilizzata la funzione AddAccessAllowedAceEx , viene impostato anche il membro Header.AceFlags . Quando viene creata una struttura ACCESS_ALLOWED_ACE all'esterno di un ACL, è necessario allocare memoria sufficiente per contenere il SID completo del trustee nel membro SidStart e la memoria contigua successiva e i valori dei membri Header.AceFlags e Header.AceFlags devono essere impostati in modo esplicito dall'applicazione.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione winnt.h (include Windows.h)

Vedi anche

ACE

ACL

AddAccessAllowedAce

AddAce

GetAce

SID