AddMandatoryAce, fonction (securitybaseapi.h)

La fonction AddMandatoryAce ajoute une entrée decontrôle d’accès (ACE) SYSTEM_MANDATORY_LABEL_ACE à la liste de contrôle d’accès système (SACL) spécifiée.

Syntaxe

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

Paramètres

[in, out] pAcl

Pointeur vers une liste de contrôle d’accès partagé. Cette fonction ajoute un ACE obligatoire à la fin de cette liste SACL. L’ACE se présente sous la forme d’une structure SYSTEM_MANDATORY_LABEL_ACE .

[in] dwAceRevision

Niveau de révision de la liste de contrôle d’accès partagé en cours de modification. Cette valeur peut être l’une des valeurs suivantes.

Valeur Signification
ACL_REVISION
La liste SACL ne contient pas d’AIC spécifiques à l’objet.
ACL_REVISION_DS
La liste SACL contient des AIC spécifiés par l’objet.

[in] AceFlags

Ensemble d’indicateurs de bits qui contrôlent l’héritage ACE. Cette fonction définit ces indicateurs dans le membre AceFlags de la structure ACE_HEADER du nouvel ACE.

Ce paramètre peut être une combinaison des valeurs suivantes.

Valeur Signification
OBJECT_INHERIT_ACE
0x1
L’ACE est hérité par les objets non-contenus.
CONTAINER_INHERIT_ACE
0x2
L’ACE est hérité par les objets conteneur.
NO_PROPAGATE_INHERIT_ACE
0x4
Les bits OBJECT_INHERIT_ACE et CONTAINER_INHERIT_ACE ne sont pas propagés vers un ACE hérité.
INHERIT_ONLY_ACE
0x8
L’ACE ne s’applique pas à l’objet auquel la saCL est affectée, mais l’ACE peut être héritée par des objets enfants.
INHERITED_ACE
0x10
L’ACE est hérité. Les opérations qui modifient la sécurité sur une arborescence d’objets peuvent modifier les AE hérités sans modifier les AFC qui ont été directement appliqués à l’objet.

[in] MandatoryPolicy

Stratégie d’accès pour les principaux dont le niveau d’intégrité obligatoire est inférieur à l’objet associé à la liste d’accès sacl qui contient cet ACE.

Valeur Signification
SYSTEM_MANDATORY_LABEL_NO_WRITE_UP
0x1
Un principal dont le niveau obligatoire est inférieur à celui de l’objet ne peut pas écrire dans l’objet.
SYSTEM_MANDATORY_LABEL_NO_READ_UP
0x2
Un principal dont le niveau obligatoire est inférieur à celui de l’objet ne peut pas lire l’objet.
SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP
0x4
Un principal dont le niveau obligatoire est inférieur à celui de l’objet ne peut pas exécuter l’objet.

[in] pLabelSid

Pointeur vers un SID qui spécifie le niveau d’intégrité obligatoire de l’objet associé à la liste de contrôle d’accès partagé en cours d’ajout.

Valeur retournée

Si la fonction réussit, elle retourne TRUE.

Si la fonction échoue, elle retourne FALSE. Pour obtenir des informations d’erreur étendues, appelez GetLastError. Voici les valeurs d’erreur possibles.

Code/valeur de retour Description
ERROR_ALLOTTED_SPACE_EXCEEDED
0x540
Le nouvel ACE ne s’intègre pas dans la mémoire tampon pAcl .

Remarques

Pour compiler une application qui utilise cette fonction, définissez _WIN32_WINNT comme 0x0600 ou version ultérieure. Pour plus d’informations, consultez Utilisation des en-têtes Windows.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête securitybaseapi.h (inclure WinBase.h)
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

SYSTEM_MANDATORY_LABEL_ACE