WdfDeviceWdmDispatchIrpToIoQueue-Funktion (wdfdevice.h)
[Gilt für KMDF und UMDF]
Die WdfDeviceWdmDispatchIrpToIoQueue-Methode leitet den IRP an eine angegebene E/A-Warteschlange weiter.
Syntax
NTSTATUS WdfDeviceWdmDispatchIrpToIoQueue(
[in] WDFDEVICE Device,
[in] PIRP Irp,
[in] WDFQUEUE Queue,
[in] ULONG Flags
);
Parameter
[in] Device
Ein Handle für ein Framework-Geräteobjekt.
[in] Irp
Ein Zeiger auf eine IRP-Struktur.
[in] Queue
Ein Handle für ein Framework-Warteschlangenobjekt.
[in] Flags
Ein bitweiser OR mit WDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGS typisierten Flags.
Rückgabewert
Die WdfDeviceWdmDispatchIrpToIoQueue-Methode gibt einen NTSTATUS-Wert zurück, den das Framework oder der Treiber als Ergebnis der Verarbeitung des IRP bereitstellt. Der Treiber muss diesen Rückgabewert als Rückgabewert für die Rückruffunktion EvtDeviceWdmIrpDispatch oder evtDeviceWdmIrpPreprocess verwenden, die WdfDeviceWdmDispatchIrpToIoQueue aufgerufen hat.
Eine Fehlerüberprüfung tritt auf, wenn ein KMDF-Treiber ein ungültiges Objekthandle bereitstellt. Wenn ein UMDF-Treiber ein ungültiges Handle bereitstellt, wird der Treiberhostprozess beendet.
Hinweise
Ein Treiber ruft WdfDeviceWdmDispatchIrpToIoQueue auf, um eine Zielwarteschlange für einen eingehenden IRP anzugeben.
Der Treiber kann diese Methode über seine EvtDeviceWdmIrpPreprocess-Rückrufroutine oder über seinen EvtDeviceWdmIrpDispatch-Rückruf aufrufen.
Wenn der Treiber WdfDeviceWdmDispatchIrpToIoQueue innerhalb einer EvtDeviceWdmIrpPreprocess-Rückruffunktion aufruft , muss der Treiber entweder IoSkipCurrentIrpStackLocation oder IoCopyCurrentIrpStackToNext aufrufen, bevor WdfDeviceWdmDispatchIrpToIoQueue aufgerufen wird.
Weitere Informationen zum Angeben von Warteschlangen für IRPs finden Sie unter Senden von IRPs an E/A-Warteschlangen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
KMDF-Mindestversion | 1.11 |
UMDF-Mindestversion | 2.17 |
Kopfzeile | wdfdevice.h (einschließen von Wdf.h) |
Bibliothek | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf), FwdIrpToIoQueueValid(kmdf) |