Funzione WdfDeviceConfigureWdmIrpDispatchCallback (wdfdevice.h)
[Si applica a KMDF e UMDF]
Il metodo WdfDeviceConfigureWdmIrpDispatchCallback registra la funzione di callback EvtDeviceWdmIrpDispatch di un driver.
Sintassi
NTSTATUS WdfDeviceConfigureWdmIrpDispatchCallback(
[in] WDFDEVICE Device,
[in, optional] WDFDRIVER Driver,
[in] UCHAR MajorFunction,
PFN_WDFDEVICE_WDM_IRP_DISPATCH EvtDeviceWdmIrpDispatch,
[in, optional] WDFCONTEXT DriverContext
);
Parametri
[in] Device
Handle per un oggetto dispositivo framework.
[in, optional] Driver
Handle all'oggetto driver del framework del driver ottenuto da una chiamata precedente a WdfDriverCreate o WdfGetDriver. Questo parametro è facoltativo e,
[in] MajorFunction
Uno dei codici di funzione principali di IRP seguenti: IRP_MJ_DEVICE_CONTROL, IRP_MJ_INTERNAL_DEVICE_CONTROL, IRP_MJ_READ, IRP_MJ_WRITE.
EvtDeviceWdmIrpDispatch
Puntatore alla funzione di callback EvtDeviceWdmIrpDispatch del driver.
[in, optional] DriverContext
Puntatore non tipizzato alle informazioni sul contesto definite dal driver che il framework passa alla funzione di callback EvtDeviceWdmIrpDispatch del driver. Questo parametro è facoltativo e può essere NULL.
Valore restituito
Se il metodo WdfDeviceConfigureWdmIrpDispatchCallback non rileva errori, restituisce STATUS_SUCCESS. I valori restituiti aggiuntivi includono:
Codice restituito | Descrizione |
---|---|
|
È stato fornito un valore MajorFunction non valido. |
|
Memoria insufficiente disponibile. |
Commenti
Un driver chiama il metodo WdfDeviceConfigureWdmIrpDispatchCallback per registrare una funzione di callback EvtDeviceWdmIrpDispatch . Il framework chiama quindi EvtDeviceWdmIrpDispatch ogni volta che riceve un pacchetto di richiesta I/O contenente un codice di funzione principale IRP che corrisponde al parametro MajorFunction di questo metodo.
Un driver chiama in genere WdfDeviceConfigureWdmIrpDispatchCallback dalla relativa funzione EvtDriverDeviceAdd callback.
È necessario chiamare WdfDeviceConfigureWdmIrpDispatchCallback una volta per ogni funzione MJ per cui il driver vuole registrare una funzione di callback. In altre parole, sono necessarie più chiamate per intercettare più funzioni MJ.
Un driver potrebbe chiamare il metodo WdfDeviceConfigureWdmIrpDispatchCallback per questi motivi:
- Per esaminare un'IRP e assegnarla a una coda specifica in base a criteri specifici del dominio, ad esempio, indirizzare tutti gli I/O associati a un oggetto file a una determinata coda.
- Per selezionare una singola richiesta, la necessità di chiamare la funzione di callback EvtIoInCallerContext .
Per altre informazioni sulla specifica delle code per i provider di servizi di integrazione al loro arrivo, vedere Invio di IRP alle code di I/O.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.11 |
Versione UMDF minima | 2.17 |
Intestazione | wdfdevice.h (includere Wdf.h) |
Libreria | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
Regole di conformità DDI | DriverCreate(kmdf) |