Fonction RtlAddAccessAllowedAceEx (ntifs.h)

La routine RtlAddAccessAllowedAceEx ajoute une entrée de contrôle d’accès autorisé (ACE ) avec des indicateurs ACE d’héritage à une liste de contrôle d’accès (ACL). L’accès est accordé à l’identificateur de sécurité (SID) spécifié.

Syntaxe

NTSYSAPI NTSTATUS RtlAddAccessAllowedAceEx(
  [in, out] PACL        Acl,
  [in]      ULONG       AceRevision,
  [in]      ULONG       AceFlags,
  [in]      ACCESS_MASK AccessMask,
  [in]      PSID        Sid
);

Paramètres

[in, out] Acl

Pointeur vers une mémoire tampon allouée à l’appelant qui contient l’ACL à modifier. RtlAddAccessAllowedAceEx ajoute un ACE autorisé à l’accès à la fin de cette liste de contrôle d’accès. L’ACE se présente sous la forme d’une structure ACCESS_ALLOWED_ACE .

[in] AceRevision

Niveau de révision ACL de l’ACE à ajouter. Cette valeur peut être ACL_REVISION ou ACL_REVISION_DS. Elle doit être ACL_REVISION_DS si la liste de contrôle d’accès contient un ACE spécifique à l’objet.

[in] AceFlags

Masque de bits spécifiant les indicateurs hérités de l’ACE à ajouter.

[in] AccessMask

Masque de bits d’un ou de plusieurs indicateurs de ACCESS_MASK qui spécifient les droits d’accès à accorder au SID spécifié. Pour plus d’informations, consultez la description du paramètre DesiredAccess de ZwCreateFile.

[in] Sid

Pointeur vers la structure SID qui représente un utilisateur, un groupe ou un compte d’ouverture de session auquel l’accès est accordé.

Valeur retournée

RtlAddAccessAllowedAceEx peut retourner l’une des valeurs suivantes :

Code de retour Description
STATUS_SUCCESS L’ACE a été ajouté avec succès.
STATUS_ALLOTTED_SPACE_EXCEEDED Un nouvel ACE ne tient pas dans la liste de contrôle d’accès. Une mémoire tampon ACL plus grande est requise. Pour plus d’informations sur le calcul de la taille d’une liste de contrôle d’accès, consultez RtlCreateAcl.
STATUS_INVALID_ACL La liste de contrôle d’accès spécifiée n’est pas correctement formée.
STATUS_INVALID_PARAMETER Le paramètre AceFlags n’était pas valide.
STATUS_INVALID_SID La structure SID spécifiée n’est pas structurellement valide.
STATUS_REVISION_MISMATCH L’AceRevision spécifiée n’est pas connue ou n’est pas compatible avec celle de l’ACL.

Remarques

Contrairement à RtlAddAccessAllowedAce, cette routine définit les indicateurs ACE d’héritage.

Pour plus d’informations sur la sécurité et le contrôle d’accès, consultez Modèle de sécurité Windows pour les développeurs de pilotes et la documentation sur ces rubriques dans le Kit de développement logiciel (SDK) Windows, par exemple :

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000
Plateforme cible Universal
En-tête ntifs.h (include Ntifs.h, FltKernel.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Voir aussi

ACCESS_ALLOWED_ACE

ACCESS_MASK

ACE

ACL

RtlCreateAcl

RtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

RtlLengthSecurityDescriptor

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor

SID

SeAssignSecurity

ZwCreateFile