WdfDeviceConfigureWdmIrpDispatchCallback, fonction (wdfdevice.h)
[S’applique à KMDF et UMDF]
La méthode WdfDeviceConfigureWdmIrpDispatchCallback inscrit la EvtDeviceWdmIrpDispatch de pilote.
Syntaxe
NTSTATUS WdfDeviceConfigureWdmIrpDispatchCallback(
[in] WDFDEVICE Device,
[in, optional] WDFDRIVER Driver,
[in] UCHAR MajorFunction,
PFN_WDFDEVICE_WDM_IRP_DISPATCH EvtDeviceWdmIrpDispatch,
[in, optional] WDFCONTEXT DriverContext
);
Paramètres
[in] Device
Handle vers un objet d’appareil framework.
[in, optional] Driver
Handle de l’objet du pilote framework que le pilote a obtenu à partir d’un appel précédent à WdfDriverCreate ou WdfGetDriver. Ce paramètre est facultatif.
[in] MajorFunction
L’un des codes de fonction principaux IRP suivants : IRP_MJ_DEVICE_CONTROL, IRP_MJ_INTERNAL_DEVICE_CONTROL, IRP_MJ_READ, IRP_MJ_WRITE.
EvtDeviceWdmIrpDispatch
Pointeur vers la fonction de rappel EvtDeviceWdmIrpDispatch du pilote.
[in, optional] DriverContext
Pointeur non typé vers les informations de contexte définies par le pilote que l’infrastructure transmet à la fonction de rappel EvtDeviceWdmIrpDispatch du pilote. Ce paramètre est facultatif et peut être NULL.
Valeur de retour
Si la méthode WdfDeviceConfigureWdmIrpDispatchCallback ne rencontre aucune erreur, elle retourne STATUS_SUCCESS. Les valeurs de retour supplémentaires sont les suivantes :
Retourner le code | Description |
---|---|
|
Une valeur MajorFunction non valide a été fournie. |
|
Mémoire insuffisante disponible. |
Remarques
Un pilote appelle la méthode WdfDeviceConfigureWdmIrpDispatchCallback pour inscrire une fonction de rappel EvtDeviceWdmIrpDispatch. L’infrastructure appelle ensuite EvtDeviceWdmIrpDispatch chaque fois qu’il reçoit un paquet de requête d’E/S (IRP) contenant un code de fonction principal IRP qui correspond au paramètre MajorFunction de cette méthode.
Un pilote appelle généralement WdfDeviceConfigureWdmIrpDispatchCallback à partir de son EvtDriverDeviceAdd fonction de rappel.
Vous devez appeler WdfDeviceConfigureWdmIrpDispatchCallback une fois pour chaque fonction MJ pour laquelle le pilote souhaite inscrire une fonction de rappel. En d’autres termes, plusieurs appels sont requis pour intercepter plusieurs fonctions MJ.
Un pilote peut appeler la méthode WdfDeviceConfigureWdmIrpDispatchCallback pour ces raisons :
- Pour examiner un IRP et l’affecter à une file d’attente spécifique en fonction de critères spécifiques au domaine, par exemple, diriger tous les E/S associés à un objet de fichier vers une file d’attente particulière.
- Pour sélectionner une requête individuelle en fonction de la nécessité d’appeler la fonction de rappel EvtIoInCallerContext.
Pour plus d’informations sur la spécification de files d’attente pour les fournisseurs d’intégration à mesure qu’ils arrivent, consultez Dispatching IRPs to I/O Queues.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
version minimale de KMDF | 1.11 |
version minimale de UMDF | 2.17 |
d’en-tête | wdfdevice.h (include Wdf.h) |
bibliothèque | Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
règles de conformité DDI | DriverCreate(kmdf) |