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 |