Partager via


SENSOR_CONTROLLER_CONFIG structure (sensorscx.h)

Cette structure contient des pointeurs vers des fonctions de rappel qui doivent être implémentées par le pilote et transmises à l’extension de classe à appeler.

Syntaxe

typedef struct _SENSOR_CONTROLLER_CONFIG {
  ULONG                                             Size;
  WDF_TRI_STATE                                     DriverIsPowerPolicyOwner;
  PFN_SENSOR_DRIVER_START_SENSOR                    EvtSensorStart;
  PFN_SENSOR_DRIVER_STOP_SENSOR                     EvtSensorStop;
  PFN_SENSOR_DRIVER_GET_SUPPORTED_DATA_FIELDS       EvtSensorGetSupportedDataFields;
  PFN_SENSOR_DRIVER_GET_DATA_FIELD_PROPERTIES       EvtSensorGetDataFieldProperties;
  PFN_SENSOR_DRIVER_GET_DATA_INTERVAL               EvtSensorGetDataInterval;
  PFN_SENSOR_DRIVER_SET_DATA_INTERVAL               EvtSensorSetDataInterval;
  PFN_SENSOR_DRIVER_GET_DATA_THRESHOLDS             EvtSensorGetDataThresholds;
  PFN_SENSOR_DRIVER_SET_DATA_THRESHOLDS             EvtSensorSetDataThresholds;
  PFN_SENSOR_DRIVER_GET_PROPERTIES                  EvtSensorGetProperties;
  PFN_SENSOR_DRIVER_DEVICE_IO_CONTROL               EvtSensorDeviceIoControl;
  PFN_SENSOR_DRIVER_START_SENSOR_HISTORY            EvtSensorStartHistory;
  PFN_SENSOR_DRIVER_STOP_SENSOR_HISTORY             EvtSensorStopHistory;
  PFN_SENSOR_DRIVER_CLEAR_SENSOR_HISTORY            EvtSensorClearHistory;
  PFN_SENSOR_DRIVER_START_HISTORY_RETRIEVAL         EvtSensorStartHistoryRetrieval;
  PFN_SENSOR_DRIVER_CANCEL_HISTORY_RETRIEVAL        EvtSensorCancelHistoryRetrieval;
  PFN_SENSOR_DRIVER_SET_BATCH_LATENCY               EvtSensorSetBatchLatency;
  PFN_SENSOR_DRIVER_START_STATE_CHANGE_NOTIFICATION EvtSensorStartStateChangeNotification;
  PFN_SENSOR_DRIVER_STOP_STATE_CHANGE_NOTIFICATION  EvtSensorStopStateChangeNotification;
  PFN_SENSOR_DRIVER_ENABLE_WAKE                     EvtSensorEnableWake;
  PFN_SENSOR_DRIVER_DISABLE_WAKE                    EvtSensorDisableWake;
} SENSOR_CONTROLLER_CONFIG, *PSENSOR_CONTROLLER_CONFIG;

Membres

Size

Taille allouée de cette structure (en octets).

DriverIsPowerPolicyOwner

Indique si le pilote est propriétaire de la stratégie d’alimentation. Cette valeur doit être WdfFalse, WdfUseDefault ou WdfTrue. Pour que les partenaires tirent parti de la gestion de l’alimentation basée sur pep, ils doivent définir cet indicateur sur WdfFalse ou WdfUseDefault et supprimer toute méthode _PSx dans leurs tables ACPI.

EvtSensorStart

Cette fonction de rappel démarre le capteur en fonction des propriétés par défaut spécifiées par le pilote ou des propriétés définies par l’extension de classe.

EvtSensorStop

Cette fonction de rappel arrête le capteur.

EvtSensorGetSupportedDataFields

Cette fonction de rappel retourne une liste de champs de données pris en charge par le capteur spécifié.

EvtSensorGetDataFieldProperties

Cette fonction de rappel retourne les propriétés d’un champ de données donné associé à un capteur.

EvtSensorGetDataInterval

Cette fonction de rappel retourne l’intervalle de données pour un capteur spécifié.

EvtSensorSetDataInterval

Cette fonction de rappel définit l’intervalle de données pour un capteur spécifié.

EvtSensorGetDataThresholds

Cette fonction de rappel retourne les seuils associés à un capteur.

EvtSensorSetDataThresholds

Cette fonction de rappel arrête le capteur.

EvtSensorGetProperties

Cette fonction de rappel retourne les propriétés d’un capteur donné.

EvtSensorDeviceIoControl

Cette fonction de rappel gère les IOCTL en dehors de l’extension de classe.

Note Si le pilote doit mettre en file d’attente l’IRP, il doit copier l’IRP dans un IoQueue dont il est propriétaire. Cela empêchera tous les irps du pilote de se bloquer jusqu’à l’achèvement.

 

EvtSensorStartHistory

EvtSensorStopHistory

EvtSensorClearHistory

EvtSensorStartHistoryRetrieval

EvtSensorCancelHistoryRetrieval

EvtSensorSetBatchLatency

Cette fonction de rappel définit la latence de lot pour un capteur spécifié.

EvtSensorStartStateChangeNotification

EvtSensorStopStateChangeNotification

EvtSensorEnableWake

EvtSensorDisableWake

Remarques

Cette structure est donnée à l’extension de classe à l’aide de la fonction SensorsCxDeviceInitialize . Si l’un des pointeurs de fonction suivants n’est pas défini, le chargement du pilote échoue :

  • EvtSensorStart
  • EvtSensorStop
  • EvtSensorGetSupportedDataFields
  • EvtSensorGetDataFieldProperties
  • EvtSensorGetDataInterval
  • EvtSensorSetDataInterval
  • EvtSensorGetDataThresholds
  • EvtSensorSetDataThresholds
  • EvtSensorGetProperties
Chaque fonction retourne STATUS_SUCCESS lorsqu’elle est terminée avec succès.
Note L’extension de classe (CX) utilise uniquement la macro NT_SUCCESS pour déterminer si l’appel à la fonction Evt du pilote a réussi, mais n’effectue aucune action si la fonction a échoué ou ne retourne pas STATUS_SUCCESS.
 

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8.1
Serveur minimal pris en charge Windows Server 2012 R2
En-tête sensorscx.h