ISensorClassExtension ::P rocessIoControl, méthode (sensorsclassextension.h)
La méthode ISensorClassExtension ::P rocessControl envoie des demandes de contrôle d’E/S windows Portable Devices (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 de retour
Cette méthode retourne un HRESULT. Les valeurs possibles incluent, mais ne sont pas limitées à, l’une des valeurs suivantes.
Retourner le code | Description |
---|---|
S_OK | La méthode a réussi. |
E_ACCESS_DENIED | Aucune autorisation. Par exemple, la demande d’E/S a demandé des données pour lesquelles aucune autorisation n’existe. |
E_POINTER | Un argument de pointeur obligatoire é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 pour 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 traitées 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 requêtes 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.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Windows |
d’en-tête | sensorsclassextension.h |
bibliothèque | SensorsClassExtension.lib |