Функция WdfDeviceWdmDispatchIrpToIoQueue (wdfdevice.h)

[Применимо к KMDF и UMDF]

Метод WdfDeviceWdmDispatchIrpToIoQueue перенаправит IRP в указанную очередь ввода-вывода.

Синтаксис

NTSTATUS WdfDeviceWdmDispatchIrpToIoQueue(
  [in] WDFDEVICE Device,
  [in] PIRP      Irp,
  [in] WDFQUEUE  Queue,
  [in] ULONG     Flags
);

Параметры

[in] Device

Дескриптор объекта устройства платформы.

[in] Irp

Указатель на структуру IRP.

[in] Queue

Дескриптор объекта очереди платформы.

[in] Flags

Битовая OR флагов WDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGSтипа.

Возвращаемое значение

Метод WdfDeviceWdmDispatchIrpToIoQueue возвращает значение NTSTATUS, которое платформа или драйвер предоставляет в результате обработки IRP. Драйвер должен использовать это возвращаемое значение в качестве возвращаемого значения для функции обратного вызова EvtDeviceWdmIrpDispatch или функции обратного вызова EvtDeviceWdmIrpPreprocess, которая называется WdfDeviceWdmDispatchIrpToIoQueue.

Ошибка возникает, если драйвер KMDF предоставляет недопустимый дескриптор объекта. Если драйвер UMDF предоставляет недопустимый дескриптор, процесс узла драйвера завершается.

Замечания

Драйвер вызывает WdfDeviceWdmDispatchIrpToIoQueue, чтобы указать целевую очередь для входящего IRP.

Драйвер может вызвать этот метод из своей EvtDeviceWdmIrpPreprocess подпрограммы обратного вызова или из EvtDeviceWdmIrpDispatch обратного вызова.

Если драйвер вызывает WdfDeviceWdmDispatchIrpToIoQueue из функции обратного вызова EvtDeviceWdmIrpPreprocess обратного вызова, Драйвер должен вызывать IoSkipCurrentIrpStackLocation или IoCopyCurrentIrpStackLocationToNext перед вызовом WdfDeviceWdmDispatchIrpToIoQueue.

Дополнительные сведения об указании очередей для ip-адресов по мере их поступления см. в отправке запросов irPs в очереди ввода-вывода.

Требования

Требование Ценность
целевая платформа универсальный
минимальная версия KMDF 1.11
минимальная версия UMDF 2.17
Заголовок wdfdevice.h (include Wdf.h)
Библиотека Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
правил соответствия DDI DriverCreate(kmdf), FwdIrpToIoQueueValid(kmdf)

См. также

EvtDeviceWdmIrpDispatch

EvtDeviceWdmIrpPreprocess