Partager via


Fonction RtlAddAccessAllowedAceEx (ntifs.h)

La routine RtlAddAccessAllowedAceEx ajoute une entrée de contrôle d’accès autorisée à l’accès (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é spécifié (SID).

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 par l’appelant qui contient la liste de contrôle d’accès à modifier. RtlAddAccessAllowedAceEx ajoute un ACE autorisé par 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 d’héritage de l’ACE à ajouter.

[in] AccessMask

Masque de bits d’un ou 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 de retour

RtlAddAccessAllowedAceEx pouvez retourner l’une des valeurs suivantes :

Retourner le code Description
STATUS_SUCCESS L’ACE a été ajouté avec succès.
STATUS_ALLOTTED_SPACE_EXCEEDED Un nouvel ACE ne s’intègre pas à la liste de contrôle d’accès. Une mémoire tampon de liste de contrôle d’accès plus grande est nécessaire. Pour plus d’informations sur la façon de calculer 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 La AceRevision spécifiée n’est pas connue ou n’est pas compatible avec celle de la liste de contrôle d’accès.

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 :

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000
plateforme cible Universel
d’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

de liste de contrôle d’accès

RtlCreateAcl

RtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

RtlLengthSecurityDescriptor

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor

SID

SeAssignSecurity

ZwCreateFile