Fonction RtlAddAce (ntifs.h)
La routine RtlAddAce ajoute une ou plusieurs entrées de contrôle d’accès (AE) à une liste de contrôle d’accès (ACL) spécifiée.
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 AAC spécifiés à cette liste de contrôle d’accès.
[in] AceRevision
Niveau de révision ACL de l’ACE à ajouter. Les réquirments de version Windows sont les suivants :
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. |
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 AES à laquelle ajouter de nouveaux AIC. La valeur zéro insère les AE au début de la liste. Une valeur de MAXULONG ajoute les AIC à la fin de la liste.
[in] AceList
Pointeur vers une mémoire tampon contenant une liste d’un ou plusieurs AIC à ajouter à la liste de contrôle d’accès spécifiée. Les ACÉ de la liste doivent être stockés de manière contiguë.
[in] AceListLength
Taille, en octets, de la mémoire tampon d’entrée pointée vers le paramètre AceList .
Valeur retournée
RtlAddAce retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, telle que l’une des valeurs suivantes :
Code de retour | Description |
---|---|
STATUS_BUFFER_TOO_SMALL | Les nouveaux AE ne s’intègrent pas dans la liste de contrôle d’accès. Une mémoire tampon ACL plus grande est requise. STATUS_BUFFER_TOO_SMALL est un code d’erreur. |
STATUS_INVALID_PARAMETER | L’une des valeurs de paramètre n’était pas valide. Les raisons possibles incluent le fait que l’ACL spécifiée n’est pas valide ou que la révision spécifiée est inconnue, qu’elle n’est pas compatible avec les révisions de la liste ACE ou qu’elle n’est pas compatible avec la révision de l’ACL. 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 Remarques 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é à accéder à 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.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Server 2003 avec SP1 |
Plateforme cible | Universal |
En-tête | ntifs.h (inclure Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe (mode noyau) ; Ntdll.dll (mode utilisateur) |
IRQL | <= APC_LEVEL |