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 :
obtenir des informations à partir d’une de liste de contrôle d’accès
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 |