Partager via


structure SENSOR_CONTROLLER_CONFIG (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 possède ou non 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 de _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 d’un capteur spécifié.

EvtSensorSetDataInterval

Cette fonction de rappel définit l’intervalle de données d’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.

Remarque Si le pilote doit mettre en file d’attente l’IRP, il doit copier l’IRP dans un IoQueue que le pilote possède. Cela empêchera l’arrêt de tous les IRPs pour que le pilote soit bloqué 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 pilote échoue à charger :

  • EvtSensorStart
  • EvtSensorStop
  • EvtSensorGetSupportedDataFields
  • EvtSensorGetDataFieldProperties
  • EvtSensorGetDataInterval
  • EvtSensorSetDataInterval
  • EvtSensorGetDataThresholds
  • EvtSensorSetDataThresholds
  • EvtSensorGetProperties
Chaque fonction retourne STATUS_SUCCESS une fois terminée.
Remarque 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.
 

Exigences

Exigence Valeur
client minimum pris en charge Windows 8.1
serveur minimum pris en charge Windows Server 2012 R2
d’en-tête sensorscx.h