Condividi tramite


Funzione AddMandatoryAce (securitybaseapi.h)

La funzione AddMandatoryAce aggiunge un SYSTEM_MANDATORY_LABEL_ACEvoce di controllo di accesso (ACE) all'elenco di controllo di accesso di sistema (SACL) specificato.

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 questa sacl. L'ACE è sotto forma di struttura SYSTEM_MANDATORY_LABEL_ACE .

[in] dwAceRevision

Livello di revisione dell'elenco SACL da modificare. Questo valore può essere uno dei valori seguenti.

Value Meaning
ACL_REVISION
SACL non contiene ACL specifici dell'oggetto.
ACL_REVISION_DS
L'elenco SACL contiene gli ACL 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 della nuova ACE.

Questo parametro può essere una combinazione dei valori seguenti.

Value Meaning
OBJECT_INHERIT_ACE
0x1
L'ace viene ereditato da oggetti non contenitore.
CONTAINER_INHERIT_ACE
0x2
L'ace viene ereditata dagli oggetti contenitore.
NO_PROPAGATE_INHERIT_ACE
0x4
I bit 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 applicati direttamente 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.

Value Meaning
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'oggetto sacl aggiunto.

Valore restituito

Se la funzione ha esito positivo, restituisce TRUE.

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

Codice/valore restituito Description
ERROR_ALLOTTED_SPACE_EXCEEDED
0x540
La nuova ace non rientra nel buffer pAcl .

Osservazioni:

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

Requisiti

Requisito Value
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Header securitybaseapi.h (include WinBase.h)
Library Advapi32.lib
DLL Advapi32.dll

Vedere anche

SYSTEM_MANDATORY_LABEL_ACE