Méthode ISensorClassExtension ::P rocessIoControl (sensorsclassextension.h)
La méthode ISensorClassExtension ::P rocessControl envoie des demandes de contrôle d’E/S des appareils portables Windows (WPD) à l’extension de classe de capteur pour traitement.
Syntaxe
HRESULT ProcessIoControl(
IWDFIoRequest *pRequest
);
Paramètres
pRequest
Pointeur vers l’interface IWDFIoRequest qui représente l’objet de requête UMDF.
Valeur retournée
Cette méthode retourne un HRESULT. Les valeurs possibles incluent, sans s’y limiter, l’une des valeurs suivantes.
Code de retour | Description |
---|---|
S_OK | S_OK |
E_ACCESS_DENIED | Aucune autorisation. Par exemple, la demande d’E/S a cherché des données pour lesquelles aucune autorisation n’existe. |
E_POINTER | Un argument de pointeur requis était NULL. |
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED) | La demande ne contenait pas de WPD IOCTL. |
Remarques
UMDF envoie des demandes de contrôle d’E/S aux pilotes de capteur via IQueueCallbackDeviceIoControl ::OnDeviceIoControl. Nous vous recommandons d’appeler ProcessIoControl pour transférer toutes les requêtes WPD à l’extension de classe de capteur à des fins de traitement. Vous pouvez utiliser la macro WPD IS_WPD_IOCTL pour déterminer si un code de contrôle donné est spécifique à WPD. Les clients de l’API sensor et de l’API Location envoient uniquement des IOCTL WPD, qui peuvent toujours être traiter par l’extension de classe de capteur.
Après avoir traité une demande de contrôle d’E/S, l’extension de classe de capteur utilise l’interface de rappel du pilote, ISensorDriver, pour fournir des notifications, le cas échéant. Les demandes WPD que l’extension de classe de capteur ne gère pas par défaut sont envoyées au pilote via ISensorDriver ::OnProcessWpdMessage.
Le pilote ne doit pas terminer les demandes de contrôle d’E/S qu’il transfère à l’extension de classe de capteur.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | sensorsclassextension.h |
Bibliothèque | SensorsClassExtension.lib |