传感器 (SENSOR_CONTROLLER_CONFIG结构cx.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