Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La fonction WdmlibIoValidateDeviceIoControlAccess vérifie que l’expéditeur d’un IRP_MJ_DEVICE_CONTROL ou d’un IRP IRP_MJ_FILE_SYSTEM_CONTROL a l’accès spécifié à l’objet de l’appareil.
Syntaxe
NTSTATUS WdmlibIoValidateDeviceIoControlAccess(
[in] PIRP Irp,
[in] ULONG RequiredAccess
);
Paramètres
[in] Irp
Spécifie le IRP sur lequel effectuer la vérification 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 de retour
WdmlibIoValidateDeviceIoControlAccess retourne une valeur NTSTATUS. Les valeurs de retour possibles sont les suivantes :
| Retourner le code | Description |
|---|---|
|
L’expéditeur de la demande a l’accès nécessaire à l’objet de l’appareil. |
|
L’expéditeur de la demande n’a pas l’accès nécessaire à l’objet de l’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 dynamique 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 demande avec la valeur d’état STATUS_ACCESS_DENIED.
Par exemple, si un IOCTL est défini avec une valeur de RequiredAccess de FILE_ANY_ACCESS, par défaut, tout expéditeur de demande disposant d’un accès SYNCHRON à l’objet de l’appareil peut envoyer 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 des codes de contrôle d’E/S.
Les vérifications d’accès sont effectuées uniquement si le RequestorMode membre de la structure IRP est UserMode. Si RequestorMode est kernelMode, la routine retourne automatiquement STATUS_SUCCESS.
Exigences
| Exigence | Valeur |
|---|---|
| client minimum 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 est d’abord fournie avec les éditions Windows XP Service Pack 1 [SP1] et Windows Server 2003 du Kit de développement de pilotes [DDK] et est désormais fournie avec le Kit de pilotes Windows [WDK].) |
| plateforme cible | Universel |
| d’en-tête | wdmsec.h (include Wdmsec.h, Wdm.h, Ntddk.h, Ntifs.h) |
| bibliothèque | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | N’importe quel niveau |