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) |