共用方式為


SENSOR_CONTROLLER_CONFIG 結構 (sensorscx.h)

這個結構包含驅動程式必須實作的回呼函式指標,並傳遞至要呼叫的類別延伸模組。

語法

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;

成員

Size

此結構的配置大小 (位元組) 。

DriverIsPowerPolicyOwner

指出驅動程式是否擁有電源原則。 此值必須是 WdfFalse、WdfUseDefault 或 WdfTrue。 若要讓合作夥伴利用 pep 型電源管理,必須將此旗標設定為 WdfFalse 或 WdfUseDefault,並移除其 ACPI 數據表中的任何_PSx方法。

EvtSensorStart

此回呼函式會根據驅動程式所指定的預設屬性,或類別延伸模組所設定的屬性來啟動感測器。

EvtSensorStop

此回呼函式會停止感測器。

EvtSensorGetSupportedDataFields

此回呼函式會傳回指定感測器所支持的數據欄位清單。

EvtSensorGetDataFieldProperties

這個回呼函式會傳回與感測器相關聯的指定數據欄位屬性。

EvtSensorGetDataInterval

這個回呼函式會傳回指定感測器的數據間隔。

EvtSensorSetDataInterval

此回呼函式會設定指定感測器的數據間隔。

EvtSensorGetDataThresholds

此回呼函式會傳回與感測器相關聯的臨界值。

EvtSensorSetDataThresholds

此回呼函式會停止感測器。

EvtSensorGetProperties

這個回呼函式會傳回指定感測器的屬性。

EvtSensorDeviceIoControl

這個回呼函式會處理類別延伸模組外部的IOCTL。

注意 如果驅動程式需要將 IRP 排入佇列,它必須將 IRP 複製到驅動程式擁有的 IoQueue。 這可防止驅動程式的所有 IRP 停止,直到完成為止。

 

EvtSensorStartHistory

EvtSensorStopHistory

EvtSensorClearHistory

EvtSensorStartHistoryRetrieval

EvtSensorCancelHistoryRetrieval

EvtSensorSetBatchLatency

此回呼函式會設定指定感測器的批次延遲。

EvtSensorStartStateChangeNotification

EvtSensorStopStateChangeNotification

EvtSensorEnableWake

EvtSensorDisableWake

備註

這個結構是使用 SensorsCxDeviceInitialize 函式提供給類別延伸模組。 如果未設定下列任一函式指標,驅動程式將無法載入:

  • EvtSensorStart
  • EvtSensorStop
  • EvtSensorGetSupportedDataFields
  • EvtSensorGetDataFieldProperties
  • EvtSensorGetDataInterval
  • EvtSensorSetDataInterval
  • EvtSensorGetDataThresholds
  • EvtSensorSetDataThresholds
  • EvtSensorGetProperties
成功完成時,每個函式都會傳回STATUS_SUCCESS。
注意 類別延伸模組 (CX) 只會使用 NT_SUCCESS 宏來判斷驅動程式 Evt 函式的呼叫是否成功,但若函式失敗或未傳回STATUS_SUCCESS,則不會採取任何動作。
 

規格需求

需求
最低支援的用戶端 Windows 8.1
最低支援的伺服器 Windows Server 2012 R2
標頭 sensorscx.h