WdfDeviceConfigureWdmIrpDispatchCallback-Funktion (wdfdevice.h)
[Gilt für KMDF und UMDF]
Die WdfDeviceConfigureWdmIrpDispatchCallback Methode registriert die EvtDeviceWdmIrpDispatch Rückruffunktion eines Treibers.
Syntax
NTSTATUS WdfDeviceConfigureWdmIrpDispatchCallback(
[in] WDFDEVICE Device,
[in, optional] WDFDRIVER Driver,
[in] UCHAR MajorFunction,
PFN_WDFDEVICE_WDM_IRP_DISPATCH EvtDeviceWdmIrpDispatch,
[in, optional] WDFCONTEXT DriverContext
);
Parameter
[in] Device
Ein Handle zu einem Framework-Geräteobjekt.
[in, optional] Driver
Ein Handle für das Framework-Treiberobjekt des Treibers, das der Treiber aus einem vorherigen Aufruf von WdfDriverCreate oder WdfGetDriverabgerufen hat. Dieser Parameter ist optional.
[in] MajorFunction
Einer der folgenden IRP-Hauptfunktionscodes: IRP_MJ_DEVICE_CONTROL, IRP_MJ_INTERNAL_DEVICE_CONTROL, IRP_MJ_READ, IRP_MJ_WRITE.
EvtDeviceWdmIrpDispatch
Ein Zeiger auf die EvtDeviceWdmIrpDispatch Rückruffunktion des Treibers.
[in, optional] DriverContext
Ein nicht typisiertes Zeiger auf treiberdefinierte Kontextinformationen, die das Framework an die EvtDeviceWdmIrpDispatch Rückruffunktion übergibt. Dieser Parameter ist optional und kann NULL sein.
Rückgabewert
Wenn die WdfDeviceConfigureWdmIrpDispatchCallback Methode keine Fehler auftritt, wird STATUS_SUCCESS zurückgegeben. Weitere Rückgabewerte sind:
Rückgabecode | Beschreibung |
---|---|
|
Es wurde ein ungültiger MajorFunction- Wert angegeben. |
|
Nicht genügend Arbeitsspeicher verfügbar. |
Bemerkungen
Ein Treiber ruft die WdfDeviceConfigureWdmIrpDispatchCallback Methode auf, um eine EvtDeviceWdmIrpDispatch Rückruffunktion zu registrieren. Das Framework ruft dann EvtDeviceWdmIrpDispatch auf, wenn es ein I/O-Anforderungspaket (IRP) mit einem IRP-Hauptfunktionscode empfängt, der dem MajorFunction Parameter dieser Methode entspricht.
Ein Treiber ruft in der Regel WdfDeviceConfigureWdmIrpDispatchCallback aus seiner EvtDriverDeviceAdd- Rückruffunktion auf.
Sie müssen WdfDeviceConfigureWdmIrpDispatchCallback einmal für jede MJ-Funktion aufrufen, für die der Treiber eine Rückruffunktion registrieren möchte. Mit anderen Worten, mehrere Aufrufe sind erforderlich, um mehrere MJ-Funktionen abzufangen.
Ein Treiber ruft möglicherweise die WdfDeviceConfigureWdmIrpDispatchCallback Methode aus folgenden Gründen auf:
- Um ein IRP zu untersuchen und einer bestimmten Warteschlange basierend auf domänenspezifischen Kriterien zuzuweisen, leiten Sie beispielsweise alle E/A-Vorgänge, die einem Dateiobjekt zugeordnet sind, an eine bestimmte Warteschlange weiter.
- Um eine einzelne Anforderung auszuwählen, müssen Sie die EvtIoInCallerContext Rückruffunktion aufrufen.
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- | Universal |
Minimale KMDF-Version | 1.11 |
Mindest-UMDF-Version | 2.17 |
Header- | wdfdevice.h (einschließen Wdf.h) |
Library | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL- | <= DISPATCH_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf) |