通用传感器属性

本主题介绍所有传感器通用的传感器属性。

下表显示了常见属性。 有关类型列中显示的类型的详细信息,请参阅 PROPVARIANT 结构

属性键 类型 Access (R/O、R/W) 必需/可选 说明
PKEY_Sensor_Type VT_CLSID R/O 必需 传感器的类型。 GUID 将包含与 Windows 传感器相同的格式, (例如SENSOR_TYPE_ACCELEROMETER_3D) 。 有关传感器类型的详细信息,请参阅 传感器类型 GUID
PKEY_Sensor_State VT_UI4 R/O 必需 传感器的状态。 有关传感器状态的详细信息,请参阅 SENSOR_STATE
PKEY_Sensor_MinimumDataInterval_Ms VT_UI4 R/O 必需 硬件支持的传感器数据报告生成) 最小时间间隔 (毫秒。
PKEY_Sensor_MaximumDataFieldSize_Bytes VT_UI4 R/O 必需 ReadFile 调用中返回的最大大小。 ReadFile 调用允许本机 API 分配一个缓冲区来保存任何数据字段。
PKEY_Sensor_Power_Milliwatts VT_R4 R/O 可选 以毫瓦为单位表示的传感器功率。
PKEY_SensorHistory_MaxSize_Bytes VT_UI4 R/O 可选

但必需(如果传感器支持历史记录)。
传感器历史记录数据的最大大小,以字节表示。
PKEY_SensorHistory_Interval_Ms VT_UI4 R/O 可选

但必需(如果传感器支持历史记录)。
传感器历史记录采样间隔,以毫秒为单位。
PKEY_SensorHistory_MaximumRecordSize_Bytes VT_UI4 R/O 可选

但必需(如果传感器支持历史记录)。
以字节表示的最大记录大小。
PKEY_Sensor_FifoReservedSize_Samples VT_UI4 R/O 可选

但必需(如果传感器支持批处理)。
在 fiFO) 批处理缓冲区中为此传感器保留的事件数 (FIFO。 这可以保证最少的事件数。 如果此值为零,则不能保证传感器将执行批处理。
PKEY_Sensor_FifoMaxSize_Samples VT_UI4 R/O 可选

但必需(如果传感器支持批处理)。
可在 FIFO 中批处理的最大事件数。 如果此值为零,则传感器不支持批处理。 实际事件数可能小于此数字,因为批 FIFO 可由多个传感器共享。
PKEY_Sensor_WakeCapable VT_BOOL R/O 可选

但必需(如果传感器支持批处理)。
指示传感器是否支持唤醒。

当传感器支持传感器批处理时,如果传感器可以在 FIFO 已满时唤醒应用程序处理器,则应将其设置为 VARIANT_TRUE。 如果传感器无法唤醒应用程序处理器,则该值应设置为 VARIANT_FALSE。 在这种情况下,此属性的状态指示传感器能够从连接待机唤醒。

如果传感器支持从 SX 唤醒系统,则此属性应设置为 VARIANT_TRUE;如果它不支持从 SX 唤醒,则此属性应设置为 VARIANT_FALSE。

数据批处理

支持数据批处理的传感器驱动程序必须报告以下常见传感器属性:

  • PKEY_Sensor_FifoReservedSize_Samples
  • PKEY_Sensor_FifoMaxSize_Samples
  • PKEY_Sensor_WakeCapable

从 Windows 10 版本 1511 开始,现在支持使用 HID 传感器类驱动程序实现数据批处理。 有关此情况的信息,请参阅 传感器批处理控件

有关与数据批处理相关的回调函数的信息,请参阅 EvtSensorSetBatchLatency

借助传感器从 SX 状态唤醒 CPU 和操作系统的额外功能,PKEY_Sensor_WakeCapable还可用作枚举属性,可从 PnP 驱动程序存储中查询该属性,以确定除了将系统从连接待机唤醒之外,传感器是否能够从 SX 唤醒系统。

注解

当客户端驱动程序报告以下属性时,客户端驱动程序必须使用 CollectionsListGetMarshalledSizeWithoutSerialization 而不是 CollectionsListGetMarshalledSize

  • PKEY_SensorHistory_MaxSize_Bytes
  • PKEY_SensorHistory_MaximumRecordSize_Bytes