Condividi tramite


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
ERROR_ALLOTTED_SPACE_EXCEEDED
La nuova ace non rientra nell'elenco di controllo di accesso. È necessario un buffer ACL più grande.
ERROR_INVALID_ACL
L'elenco di controllo di accesso specificato non è formato correttamente.
ERROR_INVALID_SID
Il SID specificato non è strutturalmente valido.
ERROR_REVISION_MISMATCH
La revisione specificata non è nota o non è compatibile con quella dell'ACL.
ERROR_SUCCESS
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

Vedi anche

ACCESS_ALLOWED_ACE

ACE_HEADER

AddAccessAllowedAceEx

AddAccessDeniedAce

AddAce

AddAuditAccessAce

DeleteAce

GetAce

Controllo di accesso di basso livello

Funzioni di Controllo di accesso di basso livello