WdmlibIoValidateDeviceIoControlAccess, fonction (wdmsec.h)
La fonction WdmlibIoValidateDeviceIoControlAccess vérifie que l’expéditeur d’un IRP_MJ_DEVICE_CONTROL ou d’un IRP IRP_MJ_FILE_SYSTEM_CONTROL dispose de l’accès spécifié à l’objet d’appareil.
Syntaxe
NTSTATUS WdmlibIoValidateDeviceIoControlAccess(
[in] PIRP Irp,
[in] ULONG RequiredAccess
);
Paramètres
[in] Irp
Spécifie l’IRP sur lequel effectuer le case activée d’accès.
[in] RequiredAccess
Spécifie le type d’accès à l’objet d’appareil que l’expéditeur de la demande doit avoir. L’appelant peut spécifier un ou plusieurs des indicateurs suivants.
Valeur retournée
WdmlibIoValidateDeviceIoControlAccess retourne une valeur NTSTATUS. Les valeurs de retour possibles sont les suivantes :
Code de retour | Description |
---|---|
|
L’expéditeur de la demande a l’accès nécessaire à l’objet d’appareil. |
|
L’expéditeur de la demande n’a pas l’accès nécessaire à l’objet d’appareil. |
|
Les paramètres spécifiés ne sont pas valides. Par exemple, si la routine est passée à un IRP qui n’est pas un IRP_MJ_DEVICE_CONTROL ou IRP_MJ_FILE_SYSTEM_CONTROL IRP, elle retourne STATUS_INVALID_PARAMETER. |
Remarques
WdmlibIoValidateDeviceIoControlAccess permet aux pilotes d’effectuer des vérifications d’accès dynamiques pour les IOCTL. Utilisez cette routine pour exiger un accès plus restrictif que celui spécifié dans la définition du IOCTL. Si la routine retourne STATUS_ACCESS_DENIED, le pilote peut terminer la requête avec la valeur STATUS_ACCESS_DENIED status.
Par exemple, si un IOCTL est défini avec une valeur RequiredAccess de FILE_ANY_ACCESS, par défaut, tout expéditeur de demande disposant d’un accès SYNCHRONIZE à l’objet d’appareil peut envoyer l’IOCTL. Utilisez WdmlibIoValidateDeviceIoControlAccess pour exiger une sécurité plus stricte au moment de l’exécution. Pour plus d’informations sur la valeur RequiredAccess d’un IOCTL, consultez Définition de codes de contrôle d’E/S.
Les vérifications d’accès sont effectuées uniquement si le membre RequestorMode de la structure IRP est UserMode. Si RequestorMode a la valeur KernelMode, la routine retourne automatiquement STATUS_SUCCESS.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows Server 2003 et versions ultérieures de Windows. Les pilotes qui doivent également fonctionner pour Windows 2000 et Windows XP peuvent à la place lier à Wdmsec.lib pour utiliser cette routine. (La bibliothèque Wdmsec.lib a d’abord été fournie avec les éditions Windows XP Service Pack 1 [SP1] et Windows Server 2003 du Kit de développement de pilotes [DDK] et est maintenant fournie avec le Kit de pilotes Windows [WDK].) |
Plateforme cible | Universal |
En-tête | wdmsec.h (inclure Wdmsec.h, Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | N’importe quel niveau |