Partager via


AddMandatoryAce, fonction (securitybaseapi.h)

La fonction AddMandatoryAce ajoute une entrée de contrô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 de contrôle d’accès partagé. 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 Meaning
ACL_REVISION
La liste de contrôle d’accès partagé ne contient pas d’AE spécifiques à l’objet.
ACL_REVISION_DS
La liste de contrôle d’accès partagé contient des AE spécifiées par 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 Meaning
OBJECT_INHERIT_ACE
0x1
L’ACE est hérité par des objets noncontainer.
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 à un ACE hérité.
INHERIT_ONLY_ACE
0x8
L’ACE ne s’applique pas à l’objet auquel la liste de contrôle d’accès partagé est affectée, mais l’ACE peut être hérité 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ées sans modifier les AE qui ont été directement appliquées à l’objet.

[in] MandatoryPolicy

Stratégie d’accès pour les principaux avec un niveau d’intégrité obligatoire inférieur à l’objet associé à la liste de contrôle d’accès qui contient cet ACE.

Valeur Meaning
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.

Retourner le code/la valeur Descriptif
ERROR_ALLOTTED_SPACE_EXCEEDED
0x540
Le nouvel ACE ne tient pas dans la mémoire tampon pAcl .

Remarques

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

Spécifications

Requirement Valeur
Client minimum requis Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | Applications UWP]
plateforme cible Fenêtres
Header securitybaseapi.h (include WinBase.h)
Library Advapi32.lib
DLL Advapi32.dll

Voir aussi

SYSTEM_MANDATORY_LABEL_ACE