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

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

Vedi anche

ACCESS_DENIED_ACE

ACE_HEADER

ACL

AddAccessAllowedAce

AddAccessDeniedAceEx

AddAce

AddAuditAccessAce

DeleteAce

GetAce

Controllo di accesso di basso livello

Funzioni di Controllo di accesso di basso livello