Funzione AddAccessAllowedAceEx (securitybaseapi.h)
La funzione AddAccessAllowedAceEx aggiunge una voce di controllo di accesso consentita dall'accesso (ACE) alla fine di un elenco di controllo di accesso discrezionale (DACL).
Sintassi
BOOL AddAccessAllowedAceEx(
[in, out] PACL pAcl,
[in] DWORD dwAceRevision,
[in] DWORD AceFlags,
[in] DWORD AccessMask,
[in] PSID pSid
);
Parametri
[in, out] pAcl
Puntatore a un DACL. La funzione AddAccessAllowedAceEx aggiunge un ace consentito all'accesso alla fine di questo DACL. Ace è sotto forma di struttura ACCESS_ALLOWED_ACE .
[in] dwAceRevision
Specifica il livello di revisione dell'elenco DACL da modificare. Questo valore può essere ACL_REVISION o ACL_REVISION_DS. Usare ACL_REVISION_DS se l'elenco DACL contiene ACL specifici dell'oggetto.
[in] AceFlags
Set di flag di bit che controllano l'ereditarietà ACE. La funzione imposta questi flag nel membro AceFlags della struttura ACE_HEADER del nuovo ACE. Questo parametro può essere una combinazione dei valori seguenti.
Valore | Significato |
---|---|
|
L'ace viene ereditato dagli oggetti contenitore. |
|
L'ace non si applica all'oggetto a cui è assegnato l'elenco di controllo di accesso ( ACL), ma può essere ereditato dagli oggetti figlio. |
|
Indica un ace ereditato. Questo flag consente alle operazioni che modificano la sicurezza in un albero di oggetti per modificare gli ACL ereditati senza modificare gli ACL applicati direttamente all'oggetto. |
|
I bit OBJECT_INHERIT_ACE e CONTAINER_INHERIT_ACE non vengono propagati a un ace ereditato. |
|
L'ACE viene ereditato da oggetti non contenitore. |
[in] AccessMask
Set di flag di bit che usano il formato ACCESS_MASK . Questi flag specificano i diritti di accesso consentiti dal nuovo ACE per l'identificatore di sicurezza (SID) specificato.
[in] pSid
Puntatore a un SID che identifica l'utente, il gruppo o la sessione di accesso a cui il nuovo ACE consente l'accesso.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError. Di seguito sono riportati i possibili valori di errore.
Codice restituito | Descrizione |
---|---|
|
La nuova ace non rientra nell'elenco di controllo di accesso. È necessario un buffer ACL più grande. |
|
L'elenco di controllo di accesso specificato non è formato correttamente. |
|
Il parametro AceFlags non è valido. |
|
Il SID specificato non è strutturalmente valido. |
|
La revisione specificata non è nota o non è compatibile con quella dell'ACL. |
|
L'ace è stato aggiunto correttamente. |
Commenti
Il chiamante deve assicurarsi che gli ACL vengano aggiunti all'elenco DACL nell'ordine corretto. Per altre informazioni, vedere Order of ACEs in a DACL.For more information, see Order of ACEs in a DACL.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [app desktop | App UWP] |
Server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | securitybaseapi.h (include Windows.h) |
Libreria | Advapi32.lib |
DLL | Advapi32.dll |