Funzione AddAccessDeniedAce (securitybaseapi.h)
La funzione AddAccessDeniedAce aggiunge una voce di controllo di accesso negato (ACE) a un elenco di controllo di accesso (ACL). L'accesso viene negato a un SID (Security Identifier ) specificato.
Per controllare se la nuova ace può essere ereditata dagli oggetti figlio, usare la funzione AddAccessDeniedAceEx .
Sintassi
BOOL AddAccessDeniedAce(
[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 di accesso negato alla fine di questo elenco di controllo di accesso. Ace è sotto forma di struttura ACCESS_DENIED_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 negati al SID specificato.
[in] pSid
Puntatore alla struttura SID che rappresenta l'utente, il gruppo o l'account di accesso a cui viene negato 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
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 AddAccessDeniedAce specifica un tipo e una dimensione, ma non fornisce flag ACE.
L'ACE aggiunto da AddAccessDeniedAce non è ereditabile.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | securitybaseapi.h (include Windows.h) |
Libreria | Advapi32.lib |
DLL | Advapi32.dll |