WdfDeviceWdmDispatchIrpToIoQueue, fonction (wdfdevice.h)
[S’applique à KMDF et UMDF]
La méthode WdfDeviceWdmDispatchIrpToIoQueue transfère l’IRP vers une file d’E/S spécifiée.
Syntaxe
NTSTATUS WdfDeviceWdmDispatchIrpToIoQueue(
[in] WDFDEVICE Device,
[in] PIRP Irp,
[in] WDFQUEUE Queue,
[in] ULONG Flags
);
Paramètres
[in] Device
Handle d’un objet d’appareil framework.
[in] Irp
Pointeur vers une structure IRP.
[in] Queue
Handle d’un objet de file d’attente d’infrastructure.
[in] Flags
OR au niveau du bit des indicateurs de type WDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGS.
Valeur retournée
La méthode WdfDeviceWdmDispatchIrpToIoQueue retourne une valeur NTSTATUS que le framework ou le pilote fournit à la suite du traitement de l’IRP. Le pilote doit utiliser cette valeur de retour comme valeur de retour pour la fonction de rappel EvtDeviceWdmIrpDispatch ou EvtDeviceWdmIrpPreprocess qui a appelé WdfDeviceWdmDispatchIrpToIoQueue.
Un bogue case activée se produit si un pilote KMDF fournit un handle d’objet non valide. Si un pilote UMDF fournit un handle non valide, le processus hôte du pilote se termine.
Remarques
Un pilote appelle WdfDeviceWdmDispatchIrpToIoQueue pour spécifier une file d’attente cible pour un IRP entrant.
Le pilote peut appeler cette méthode à partir de sa routine de rappel EvtDeviceWdmIrpPreprocess ou de son rappel EvtDeviceWdmIrpDispatch .
Si le pilote appelle WdfDeviceWdmDispatchIrpToIoQueue à partir d’une fonction de rappel EvtDeviceWdmIrpPreprocess , le pilote doit appeler IoSkipCurrentIrpStackLocation ou IoCopyCurrentIrpStackLocationToNext avant d’appeler WdfDeviceWdmDispatchIrpToIoQueue.
Pour plus d’informations sur la spécification des files d’attente pour les IRP à mesure qu’ils arrivent, consultez Répartition des IRP vers les files d’attente d’E/S.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1.11 |
Version UMDF minimale | 2.17 |
En-tête | wdfdevice.h (include Wdf.h) |
Bibliothèque | Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
Règles de conformité DDI | DriverCreate(kmdf), FwdIrpToIoQueueValid(kmdf) |