Funzione AddAccessAllowedAce (securitybaseapi.h)
La funzione AddAccessAllowedAce aggiunge una voce di controllo di accesso consentito (ACE) a un elenco di controllo di accesso (ACL). L'accesso viene concesso a un SID (Security Identifier ) specificato.
Per controllare se il nuovo ACE può essere ereditato dagli oggetti figlio, utilizzare la funzione AddAccessAllowedAceEx .
Sintassi
BOOL AddAccessAllowedAce(
[in, out] PACL pAcl,
[in] DWORD dwAceRevision,
[in] DWORD AccessMask,
[in] PSID pSid
);
Parametri
[in, out] pAcl
Puntatore a un elenco di controllo di accesso. Questa funzione aggiunge un ace consentito all'accesso alla fine di questo elenco di controllo di accesso. Ace è sotto forma di struttura ACCESS_ALLOWED_ACE .
[in] dwAceRevision
Specifica il livello di revisione dell'ACL da modificare.
Questo valore può essere ACL_REVISION o ACL_REVISION_DS. Usare ACL_REVISION_DS se l'ACL contiene ACL specifici dell'oggetto.
[in] AccessMask
Specifica la maschera dei diritti di accesso da concedere al SID specificato.
[in] pSid
Puntatore al SID che rappresenta un utente, un gruppo o un account di accesso a cui viene concesso 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 SID specificato non è strutturalmente valido. |
|
La revisione specificata non è nota o non è compatibile con quella dell'ACL. |
|
L'ace è stato aggiunto correttamente. |
Commenti
L'aggiunta di un ace consentito all'accesso a un elenco di controllo di accesso è la forma più comune di modifica ACL.
Le funzioni AddAccessAllowedAce e AddAccessDeniedAce aggiungono un nuovo ACE alla fine dell'elenco di ACL. Queste funzioni non inseriscono automaticamente il nuovo ACE nell'ordine canonico corretto. È responsabilità del chiamante assicurarsi che l'ACL sia in ordine canonico aggiungendo AES nella sequenza corretta.
La struttura ACE_HEADER inserita nell'ace dalla funzione AddAccessAllowedAce specifica un tipo e una dimensione, ma non fornisce ereditarietà e flag ACE.
Esempio
Per un esempio che usa questa funzione, vedere Avvio di un processo client interattivo.
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 |