Condividi tramite


struttura SENSOR_CONTROLLER_CONFIG (sensorscx.h)

Questa struttura contiene puntatori alle funzioni di callback che devono essere implementate dal driver e passate all'estensione della classe da chiamare.

Sintassi

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;

Members

Size

Dimensione allocata di questa struttura (in byte).

DriverIsPowerPolicyOwner

Indica se il driver possiede o meno i criteri di alimentazione. Questo valore deve essere WdfFalse, WdfUseDefault o WdfTrue. Per consentire ai partner di sfruttare il risparmio energia basato su pep, è necessario impostare questo flag su WdfFalse o WdfUseDefault e rimuovere qualsiasi metodo _PSx nelle tabelle ACPI.

EvtSensorStart

Questa funzione di callback avvia il sensore in base alle proprietà predefinite specificate dal driver o alle proprietà impostate dall'estensione della classe.

EvtSensorStop

Questa funzione di callback arresta il sensore.

EvtSensorGetSupportedDataFields

Questa funzione di callback restituisce un elenco di campi dati supportati dal sensore specificato.

EvtSensorGetDataFieldProperties

Questa funzione di callback restituisce le proprietà di un determinato campo dati associato a un sensore.

EvtSensorGetDataInterval

Questa funzione di callback restituisce l'intervallo di dati per un sensore specificato.

EvtSensorSetDataInterval

Questa funzione di callback imposta l'intervallo di dati per un sensore specificato.

EvtSensorGetDataThresholds

Questa funzione di callback restituisce le soglie associate a un sensore.

EvtSensorSetDataThresholds

Questa funzione di callback arresta il sensore.

EvtSensorGetProperties

Questa funzione di callback restituisce le proprietà per un determinato sensore.

EvtSensorDeviceIoControl

Questa funzione di callback gestisce IOCTLs all'esterno dell'estensione della classe.

Nota Se il driver deve accodare l'IRP, deve copiare l'IRP in un IoQueue di proprietà del driver. Ciò impedirà che tutti i runtime di integrazione per il driver vengano bloccati fino al completamento.

 

EvtSensorStartHistory

EvtSensorStopHistory

EvtSensorClearHistory

EvtSensorStartHistoryRetrieval

EvtSensorCancelHistoryRetrieval

EvtSensorSetBatchLatency

Questa funzione di callback imposta la latenza batch per un sensore specificato.

EvtSensorStartStateChangeNotification

EvtSensorStopStateChangeNotification

EvtSensorEnableWake

EvtSensorDisableWake

Commenti

Questa struttura viene assegnata all'estensione della classe usando la funzione SensorsCxDeviceInitialize . Se uno dei puntatori a funzione seguenti non è impostato, il driver non verrà caricato:

  • EvtSensorStart
  • EvtSensorStop
  • EvtSensorGetSupportedDataFields
  • EvtSensorGetDataFieldProperties
  • EvtSensorGetDataInterval
  • EvtSensorSetDataInterval
  • EvtSensorGetDataThresholds
  • EvtSensorSetDataThresholds
  • EvtSensorGetProperties
Ogni funzione restituisce STATUS_SUCCESS al termine.
Nota L'estensione di classe (CX) usa solo la macro NT_SUCCESS per determinare se la chiamata alla funzione Evt del driver ha avuto esito positivo, ma non esegue alcuna azione se la funzione ha avuto esito negativo o non restituisce STATUS_SUCCESS.
 

Requisiti

Requisito Valore
Client minimo supportato Windows 8.1
Server minimo supportato Windows Server 2012 R2
Intestazione sensorscx.h