Partager via


WdfDeviceWdmDispatchIrpToIoQueue, fonction (wdfdevice.h)

[S’applique à KMDF et UMDF]

La méthode WdfDeviceWdmDispatchIrpToIoQueue transfère l’IRP à une file d’attente 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 vers un objet d’appareil framework.

[in] Irp

Pointeur vers une structure IRP.

[in] Queue

Handle vers un objet de file d’attente framework.

[in] Flags

ou d’indicateurs WDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGS-typés au niveau du bit.

Valeur de retour

La méthode WdfDeviceWdmDispatchIrpToIoQueue retourne une valeur NTSTATUS que l’infrastructure ou le pilote fournit suite au traitement de l’IRP. Le pilote doit utiliser cette valeur de retour comme valeur de retour pour la EvtDeviceWdmIrpDispatch ou la fonction de rappel EvtDeviceWdmIrpPreprocess fonction de rappel appelée WdfDeviceWdmDispatchIrpToIoQueue.

Une vérification de bogue 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 à partir de sa routine de rappel EvtDeviceWdmIrpDispatch rappel.

Si le pilote appelle WdfDeviceWdmDispatchIrpToIoQueue à partir d’un EvtDeviceWdmIrpPreprocess fonction de rappel, le pilote doit appeler IoSkipCurrentIrpStackLocation ou IoCopyCurrentIrpStackLocationToNext avant d’appeler WdfDeviceWdmDispatchIrpToIoQueue.

Pour plus d’informations sur la spécification de files d’attente pour les fournisseurs d’intégration à mesure qu’ils arrivent, consultez Dispatching IRPs to I/O Queues.

Spécifications

Besoin Valeur
plateforme cible Universel
version minimale de KMDF 1.11
version minimale de UMDF 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)

Voir aussi

EvtDeviceWdmIrpDispatch

EvtDeviceWdmIrpPreprocess