Partager via


Fonction RtlAddAce (ntifs.h)

La routine RtlAddAce ajoute une ou plusieurs entrées de contrôle d’accès à une liste de contrôle d’accès spécifiée (ACL).

Syntaxe

NTSYSAPI NTSTATUS RtlAddAce(
  [in, out] PACL  Acl,
  [in]      ULONG AceRevision,
  [in]      ULONG StartingAceIndex,
  [in]      PVOID AceList,
  [in]      ULONG AceListLength
);

Paramètres

[in, out] Acl

Pointeur vers la liste de contrôle d’accès à modifier. RtlAddAce ajoute les ACL spécifiées à cette liste de contrôle d’accès.

[in] AceRevision

Niveau de révision ACL de l’ACE à ajouter. La configuration requise pour la version de Windows est la suivante :

Valeur Signification
ACL_REVISION Niveau de révision valide sur toutes les versions de Windows.
ACL_REVISION_DS Niveau de révision valide à partir de Windows 2000.

l' AceRevision doit être ACL_REVISION_DS si la liste de contrôle d’accès dans acl contient un ACE spécifique à l’objet.

[in] StartingAceIndex

Spécifie la position dans la liste des ACL des ACL auxquelles ajouter de nouvelles ACL. La valeur zéro insère les ACL au début de la liste. Une valeur de MAXULONG ajoute les acEs à la fin de la liste.

[in] AceList

Pointeur vers une mémoire tampon contenant une liste d’une ou plusieurs ACL à ajouter à la liste de contrôle d’accès spécifiée. Les ACL de la liste doivent être stockées contiguëment.

[in] AceListLength

Taille, en octets, de la mémoire tampon d’entrée pointée par le paramètre AceList.

Valeur de retour

RtlAddAce retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, comme l’une des valeurs suivantes :

Retourner le code Description
STATUS_BUFFER_TOO_SMALL Les nouvelles ACL ne s’intègrent pas dans 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. STATUS_BUFFER_TOO_SMALL est un code d’erreur.
STATUS_INVALID_PARAMETER L’une des valeurs de paramètre n’est pas valide. Les raisons possibles incluent que la liste de contrôle d’accès spécifiée n’est pas valide ou que la révision spécifiée est inconnue, n’est pas compatible avec les révisions de la liste ACE ou n’est pas compatible avec la révision de la liste de contrôle d’accès. STATUS_INVALID_PARAMETER est un code d’erreur.

Remarques

Pour plus d’informations sur le calcul de la taille d’une liste de contrôle d’accès, consultez la section Notes de l’entrée de référence pour RtlCreateAcl.

Pour obtenir un pointeur vers un ace dans une liste de contrôle d’accès, utilisez RtlGetAce.

Pour supprimer un ACE d’une liste de contrôle d’accès, utilisez RtlDeleteAce.

Pour ajouter un ACE autorisé à une liste de contrôle d’accès, utilisez RtlAddAccessAllowedAce.

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.

Exigences

Exigence Valeur
client minimum pris en charge Windows Server 2003 avec SP1
plateforme cible Universel
d’en-tête ntifs.h (include Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe (mode noyau) ; Ntdll.dll (mode utilisateur)
IRQL <= APC_LEVEL

Voir aussi

ACE

de liste de contrôle d’accès

RtlAddAccessAllowedAce

RtlCreateAcl

RtlDeleteAce

RtlGetAce