WdfDeviceWdmDispatchIrpToIoQueue method
[Applies to KMDF only]
The WdfDeviceWdmDispatchIrpToIoQueue method forwards the IRP to a specified I/O queue.
Syntax
NTSTATUS WdfDeviceWdmDispatchIrpToIoQueue( [in] WDFDEVICE Device, [in] PIRP Irp, [in] WDFQUEUE Queue, [in] ULONG Flags );
Parameters
- Device [in]
-
A handle to a framework device object.
- Irp [in]
-
A pointer to an IRP structure.
- Queue [in]
-
A handle to a framework queue object.
- Flags [in]
-
A bitwise OR of WDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGS-typed flags.
Return value
The WdfDeviceWdmDispatchIrpToIoQueue method returns an NTSTATUS value that the framework or the driver provides as a result of processing the IRP. The driver must use this return value as the return value for the EvtDeviceWdmIrpDispatch or the EvtDeviceWdmIrpPreprocess callback function that called WdfDeviceWdmDispatchIrpToIoQueue.
A bug check occurs if the driver supplies an invalid object handle.
Remarks
In KMDF version 1.11 and later, a driver can call this method to specify a target queue for an incoming IRP.
The driver can call the WdfDeviceWdmDispatchIrpToIoQueue method from its EvtDeviceWdmIrpPreprocess callback routine or from its EvtDeviceWdmIrpDispatch callback.
If the driver calls WdfDeviceWdmDispatchIrpToIoQueue from within a EvtDeviceWdmIrpPreprocess callback function, the driver must call either IoSkipCurrentIrpStackLocation or IoCopyCurrentIrpStackLocationToNext prior to calling WdfDeviceWdmDispatchIrpToIoQueue.
For more information about specifying queues for IRPs as they arrive, see Dispatching IRPs to I/O Queues.
Requirements
Minimum KMDF version | 1.11 |
---|---|
Header |
|
Library |
|
IRQL | <= DISPATCH_LEVEL |
DDI compliance rules | DriverCreate, FwdIrpToIoQueueValid |
See also