WdfDeviceWdmDispatchIrpToIoQueue-Funktion (wdfdevice.h)
[Gilt für KMDF und UMDF]
Die WdfDeviceWdmDispatchIrpToIoQueue Methode leitet das IRP an eine angegebene E/A-Warteschlange weiter.
Syntax
NTSTATUS WdfDeviceWdmDispatchIrpToIoQueue(
[in] WDFDEVICE Device,
[in] PIRP Irp,
[in] WDFQUEUE Queue,
[in] ULONG Flags
);
Die Parameter
[in] Device
Ein Handle zu einem Framework-Geräteobjekt.
[in] Irp
Ein Zeiger auf eine IRP-Struktur.
[in] Queue
Ein Handle zu einem Framework-Warteschlangenobjekt.
[in] Flags
Ein bitweises ODER von WDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGS-typierten 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 EvtDeviceWdmIrpDispatch oder die EvtDeviceWdmIrpPreprocess Rückruffunktion verwenden, die WdfDeviceWdmDispatchIrpToIoQueueaufgerufen hat.
Wenn ein KMDF-Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf. Wenn ein UMDF-Treiber ein ungültiges Handle bereitstellt, wird der Treiberhostprozess beendet.
Bemerkungen
Ein Treiber ruft WdfDeviceWdmDispatchIrpToIoQueue auf, um eine Zielwarteschlange für ein eingehendes IRP anzugeben.
Der Treiber kann diese Methode aus der EvtDeviceWdmIrpPreprocess Rückrufroutine oder aus der EvtDeviceWdmIrpDispatch Callback aufrufen.
Wenn der Treiber WdfDeviceWdmDispatchIrpToIoQueue innerhalb einer EvtDeviceWdmIrpPreprocess Rückruffunktion aufruft, der Treiber muss entweder IoSkipCurrentIrpStackLocation oder IoCopyCurrentIrpStackLocationToNext aufrufen, bevor WdfDeviceWdmDispatchIrpToIoQueueaufgerufen wird.
Weitere Informationen zum Angeben von Warteschlangen für IRPs beim Eintreffen finden Sie unter Verteilen von IRPs an E/A-Warteschlangen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | universell |
Minimale KMDF-Version | 1.11 |
Mindest-UMDF-Version | 2.17 |
Kopfzeile | wdfdevice.h (einschließen Wdf.h) |
Bibliothek | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf), FwdIrpToIoQueueValid(kmdf) |