通用传感器属性
本文介绍所有传感器通用的传感器属性。
下表显示了通用属性。 有关类型列中显示的类型的详细信息,请参阅 PROPVARIANT 结构。
属性键 | 类型 | 访问权限 (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) 缓冲区中为该传感器保留的事件数。 这保证了事件的最小数量。 如果此值为零,则不能保证传感器执行批处理。 |
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。
由于传感器能够将 CPU 和操作系统从 SX 状态唤醒,PKEY_Sensor_WakeCapable 还用作枚举属性,可以从 PnP 驱动程序存储中查询该属性,以了解传感器是否能够从 SX 唤醒系统,以及从连接的待机状态唤醒系统。
注解
当客户端驱动程序报告以下属性时,客户端驱动程序必须使用 CollectionsListGetMarshalledSizeWithoutSerialization 而不是 CollectionsListGetMarshalledSize:
- PKEY_SensorHistory_MaxSize_Bytes
- PKEY_SensorHistory_MaximumRecordSize_Bytes