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