Funzione AddMandatoryAce (securitybaseapi.h)

La funzione AddMandatoryAce aggiunge una voce di controllo di accesso (ACE) SYSTEM_MANDATORY_LABEL_ACE all'elenco di controllo di accesso del sistema specificato (SACL).

Sintassi

BOOL AddMandatoryAce(
  [in, out] PACL  pAcl,
  [in]      DWORD dwAceRevision,
  [in]      DWORD AceFlags,
  [in]      DWORD MandatoryPolicy,
  [in]      PSID  pLabelSid
);

Parametri

[in, out] pAcl

Puntatore a un SACL. Questa funzione aggiunge un ACE obbligatorio alla fine di questo SACL. L'ACE è sotto forma di una struttura SYSTEM_MANDATORY_LABEL_ACE .

[in] dwAceRevision

Livello di revisione dell'oggetto SACL modificato. Questo valore può essere uno dei valori seguenti.

Valore Significato
ACL_REVISION
SACL non contiene ACL specifici dell'oggetto.
ACL_REVISION_DS
SACL contiene aces specificati dall'oggetto.

[in] AceFlags

Set di flag di bit che controllano l'ereditarietà ACE. Questa funzione imposta questi flag nel membro AceFlags della struttura ACE_HEADER del nuovo ACE.

Questo parametro può essere una combinazione dei valori seguenti.

Valore Significato
OBJECT_INHERIT_ACE
0x1
L'ACE viene ereditato da oggetti noncontainer.
CONTAINER_INHERIT_ACE
0x2
L'ACE viene ereditato dagli oggetti contenitore.
NO_PROPAGATE_INHERIT_ACE
0x4
I bit di OBJECT_INHERIT_ACE e CONTAINER_INHERIT_ACE non vengono propagati a un ACE ereditato.
INHERIT_ONLY_ACE
0x8
L'ACE non si applica all'oggetto a cui è assegnato SACL, ma l'ACE può essere ereditato dagli oggetti figlio.
INHERITED_ACE
0x10
L'ACE viene ereditato. Le operazioni che modificano la sicurezza in un albero di oggetti possono modificare gli ACL ereditati senza modificare gli ACL direttamente applicati all'oggetto.

[in] MandatoryPolicy

I criteri di accesso per le entità con un livello di integrità obbligatorio inferiore all'oggetto associato a SACL che contiene questo ACE.

Valore Significato
SYSTEM_MANDATORY_LABEL_NO_WRITE_UP
0x1
Un'entità con un livello obbligatorio inferiore rispetto all'oggetto non può scrivere nell'oggetto.
SYSTEM_MANDATORY_LABEL_NO_READ_UP
0x2
Un'entità con un livello obbligatorio inferiore rispetto all'oggetto non può leggere l'oggetto.
SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP
0x4
Un'entità con un livello obbligatorio inferiore rispetto all'oggetto non può eseguire l'oggetto.

[in] pLabelSid

Puntatore a un SID che specifica il livello di integrità obbligatorio dell'oggetto associato all'aggiunta di SACL.

Valore restituito

Se la funzione ha esito positivo, restituisce TRUE.

Se la funzione ha esito negativo, restituisce FALSE. Per informazioni sull'errore estese, chiamare GetLastError. Di seguito sono riportati i valori di errore possibili.

Codice/valore restituito Descrizione
ERROR_ALLOTTED_SPACE_EXCEEDED
0x540
Il nuovo ACE non si adatta al buffer pAcl .

Commenti

Per compilare un'applicazione che usa questa funzione, definire _WIN32_WINNT come 0x0600 o versioni successive. Per altre informazioni, vedere Uso delle intestazioni di Windows.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione securitybaseapi.h (includere WinBase.h)
Libreria Advapi32.lib
DLL Advapi32.dll

Vedi anche

SYSTEM_MANDATORY_LABEL_ACE