Функция 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
Побитовое ИЛИWDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGS типизированных флагов.
Возвращаемое значение
Метод WdfDeviceWdmDispatchIrpToIoQueue возвращает значение NTSTATUS, предоставленное платформой или драйвером в результате обработки IRP. Драйвер должен использовать это возвращаемое значение в качестве возвращаемого значения для функции обратного вызова EvtDeviceWdmIrpDispatch или Функции обратного вызова EvtDeviceWdmIrpPreprocess , которая вызвала WdfDeviceWdmDispatchIrpToIoQueue.
Ошибка проверка возникает, если драйвер KMDF предоставляет недопустимый дескриптор объекта. Если драйвер UMDF предоставляет недопустимый дескриптор, процесс узла драйвера завершается.
Комментарии
Драйвер вызывает WdfDeviceWdmDispatchIrpToIoQueue , чтобы указать целевую очередь для входящего IRP.
Драйвер может вызвать этот метод из процедуры обратного вызова EvtDeviceWdmIrpPreprocess или из обратного вызова EvtDeviceWdmIrpDispatch .
Если драйвер вызывает WdfDeviceWdmDispatchIrpToIoQueue из функции обратного вызова EvtDeviceWdmIrpPreprocess , драйвер должен вызвать IoSkipCurrentIrpStackLocation или IoCopyCurrentIrpStackLocationToNext перед вызовом WdfDeviceWdmDispatchIrpToIoQueue.
Дополнительные сведения об указании очередей для поставщиков irP по мере их поступления см. в разделе Отправка irPs в очереди ввода-вывода.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Минимальная версия KMDF | 1.11 |
Минимальная версия UMDF | 2.17 |
Верхняя часть | wdfdevice.h (включая Wdf.h) |
Библиотека | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
Правила соответствия DDI | DriverCreate(kmdf), FwdIrpToIoQueueValid(kmdf) |