Share via


Funzione AddResourceAttributeAce (securitybaseapi.h)

La funzione AddResourceAttributeAce aggiunge una voce di controllo di accesso (ACE) SYSTEM_RESOURCE_ATTRIBUTE_ACE alla fine di un elenco di controllo di accesso del sistema (SACL). Una struttura SYSTEM_RESOURCE_ATTRIBUTE_ACE specifica un nome di attributo e un elenco ordinato di valori di elementi associati a una risorsa e potenzialmente usati durante i controlli di accesso. Il set di diritti di accesso standard è definito nell'argomento Diritti di accesso standard .

Sintassi

BOOL AddResourceAttributeAce(
  [in, out] PACL                                   pAcl,
  [in]      DWORD                                  dwAceRevision,
  [in]      DWORD                                  AceFlags,
  [in]      DWORD                                  AccessMask,
  [in]      PSID                                   pSid,
  [in]      PCLAIM_SECURITY_ATTRIBUTES_INFORMATION pAttributeInfo,
  [out]     PDWORD                                 pReturnLength
);

Parametri

[in, out] pAcl

Puntatore a un elenco di controllo di accesso (ACL). Questa funzione aggiunge un ACE a questo ACL. Il valore di questo parametro non può essere NULL. L'ACE è sotto forma di una struttura SYSTEM_RESOURCE_ATTRIBUTE_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] 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.

Per coerenza con l'interfaccia utente Windows 8 autorizzazioni avanzate per i file, le applicazioni devono specificare i flag di CONTAINER_INHERIT_ACE e OBJECT_INHERIT_ACE nel parametro AceFlags.

Questo parametro può essere una combinazione dei valori seguenti.

Valore Significato
CONTAINER_INHERIT_ACE
2 (0x2)
L'ACE viene ereditato dagli oggetti contenitore.
INHERIT_ONLY_ACE
8 (0x8)
L'ACE non si applica all'oggetto a cui viene assegnato l'ACE, ma può essere ereditato dagli oggetti figlio.
INHERITED_ACE
16 (0x10)
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 che sono stati applicati direttamente all'oggetto.
NO_PROPAGATE_INHERIT_ACE
4 (0x4)
I bit di OBJECT_INHERIT_ACE e CONTAINER_INHERIT_ACE non vengono propagati a un ACE ereditato.
OBJECT_INHERIT_ACE
1 (0x1)
L'ACE viene ereditato da oggetti non contenitore.

[in] AccessMask

Deve essere zero per Windows 8 e Windows Server 2012.

[in] pSid

Deve essere il SID (S-1-1-0) per Windows 8 e Windows Server 2012.

[in] pAttributeInfo

Specifica le informazioni sull'attributo che verranno aggiunte dopo il SID nell'ACE.

[out] pReturnLength

Dimensioni, in byte, del buffer ACL effettivo usato. Se il buffer specificato dal parametro pAcl non è abbastanza grande, il valore di questo parametro è la dimensione totale necessaria per il buffer ACL.

Valore restituito

Se la funzione ha esito positivo, restituisce TRUE.

Se la funzione ha esito negativo, restituisce FALSE. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Requisiti

Requisito Valore
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione securitybaseapi.h (include Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

Diritti di accesso standard