Partager via


Fonction RtlAddAccessAllowedAce (ntifs.h)

La routine RtlAddAccessAllowedAce ajoute une entrée de contrôle d’accès autorisé (ACE) à 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 RtlAddAccessAllowedAce(
  [in, out] PACL        Acl,
  [in]      ULONG       AceRevision,
  [in]      ACCESS_MASK AccessMask,
  [in]      PSID        Sid
);

Paramètres

[in, out] Acl

Pointeur vers une mémoire tampon allouée à l’appelant contenant l’ACL à modifier. RtlAddAccessAllowedAce 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. Les réquirtions de version Windows sont les suivantes :

Valeur Signification
ACL_REVISION
Niveau de révision valide sur toutes les versions de Windows.
ACL_REVISION_DS
Niveau de révision valide à compter de Windows 2000.
RemarqueAceRevision doit être ACL_REVISION_DS si la liste de contrôle d’accès dans Acl contient un ACE spécifique à un objet.
 

[in] AccessMask

Masque de bits d’un ou de plusieurs indicateurs ACCESS_MASK spécifiant 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 représentant un utilisateur, un groupe ou un compte d’ouverture de session auquel l’accès est accordé.

Valeur retournée

RtlAddAccessAllowedAce 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_SID
La structure SID spécifiée n’est pas structurellement valide.
STATUS_REVISION_MISMATCH
La révision spécifiée n’est pas connue ou n’est pas compatible avec celle de la liste de contrôle d’accès.

Remarques

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.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête ntifs.h (include Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Voir aussi

ACCESS_ALLOWED_ACE

ACCESS_MASK

ACE

ACL

RtlCreateAcl

RtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

RtlLengthSecurityDescriptor

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor

SID

SeAssignSecurity

ZwCreateFile