Expand Minimize

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

Wdfdevice.h (include Wdf.h)

Library

Wdf01000.sys (see Framework Library Versioning.)

IRQL

<= DISPATCH_LEVEL

DDI compliance rules

DriverCreate, FwdIrpToIoQueueValid

See also

EvtDeviceWdmIrpPreprocess
EvtDeviceWdmIrpDispatch

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft