传感器属性

传感器和位置平台定义用于标识传感器属性的常量。 传感器制造商还可以定义自己的属性。

平台定义传感器属性的以下 PROPERTYKEY 值。 除非另有说明,否则这些属性是只读的。

每个平台定义的传感器属性 PROPERTYKEY 都基于名为 SENSOR_PROPERTY_COMMON_GUID 的通用 GUID

{7F8383EC-D3EC-495C-A8CF-B8BBE85C2920}。

重要

请勿使用此基值来定义自己的属性键。

 

客户端应用程序可以指定指定为读/写的属性的值。 指定为静态的属性的值不能随时间而改变。 传感器必须支持指定为必需属性。

属性键名称和 PID 说明
SENSOR_PROPERTY_ACCURACY
(PID = 17)
VT_UNKNOWN
只读。 包含传感器数据类型名称及其关联准确度的 IPortableDeviceValues 对象。 准确度值表示与 true 值可能的差异。 准确性值使用与数据字段相同的单位表示,除非另有说明。
SENSOR_PROPERTY_CHANGE_SENSITIVITY
(PID = 14)
VT_UNKNOWN
读/写。 包含传感器数据类型名称及其关联的更改敏感度值的 IPortableDeviceValues 对象。 更改敏感度值提供有关引发SENSOR_EVENT_DATA_UPDATED事件之前数据字段应更改的量的请求。
敏感度值使用与数据字段相同的单位表示,但另有说明的情况除外。
对于某些传感器,更改敏感度被解释为实际值。 例如,SENSOR_DATA_TYPE_TEMPERATURE_CELSIUS的更改敏感度值为 2 表示正负 2 摄氏度的敏感度。
对于其他传感器,例如环境光传感器 (ALS) ,更改敏感度被解释为百分比。 因此,SENSOR_DATA_TYPE_LIGHT_LEVEL_LUX的更改敏感度为 2 表示正负 2% 的 LUX。
可以设置此值以请求特定的更改敏感度,但多个应用程序可能使用同一传感器。 因此,传感器根据其内部逻辑确定真正的更改敏感度。 例如,传感器可能始终使用任何应用程序请求的最小更改敏感度。
如果应用程序将此属性设置为VT_NULL,则设备驱动程序会将SENSOR_PROPERTY_CHANGE_SENSITIVITY重置为其默认值。
SENSOR_PROPERTY_CONNECTION_TYPE
(PID = 11)
VT_UI4
只读。 包含当前连接类型的 SensorConnectionType 值。
SENSOR_PROPERTY_CURRENT_REPORT_INTERVAL
(PID = 13)
VT_UI4
读/写。 传感器数据报告生成的当前已用时间(以毫秒为单位)。
将值设置为零会指示驱动程序使用其默认报告间隔。 收到此属性的零值后,驱动程序在查询时必须返回其默认报告间隔,而不是零。
应用程序可以设置此值以请求特定的报告间隔,但多个应用程序可能使用相同的驱动程序。 因此,驱动程序根据内部逻辑确定真正的报告间隔。 例如,驱动程序可能始终使用任何调用方请求的最短报告间隔。
有关如何使用此属性的示例,请参阅 使用传感器 API 事件
SENSOR_PROPERTY_DESCRIPTION
(PID = 10)
VT_LPWSTR
只读。 传感器说明字符串。
SENSOR_PROPERTY_DEVICE_PATH
(PID = 15)
VT_LPWSTR
只读。 唯一标识与传感器关联的设备实例。 可以使用此属性来确定设备是否包含多个传感器。
设备驱动程序不必支持此属性,因为平台在不查询驱动程序的情况下向应用程序提供此值。
SENSOR_PROPERTY_FRIENDLY_NAME
(PID = 9)
VT_LPWSTR
只读。 必需,静态。 设备的友好名称。
SENSOR_PROPERTY_HID_USAGE
(PID = 22)
VT_UI4
只读。 提供此属性,以便 HID 传感器制造商和驱动程序开发人员能够识别 API 层中以友好名称“未知”显示的传感器。
SENSOR_PROPERTY_LIGHT_RESPONSE_CURVE
(PID = 16)
VT_VECTOR |VT_UI1
只读。 一个计数数组,其中包含提供环境光级别和偏移量之间的映射的值对。 这些值以百分比表示。 Windows 中的自适应亮度功能将这些值应用于用户的当前显示亮度首选项。
向量类型的数据始终序列化为 VT_UI1 () 的无符号 1 字节字符数组。 此属性实际上包含每个值作为 4 字节无符号整数 (VT_UI4) 。 有关使用数组的信息,请参阅 检索矢量类型
SENSOR_PROPERTY_LOCATION_DESIRED_ACCURACY
(PID = 19)
VT_UI4
读/写。 LOCATION_DESIRED_ACCURACY枚举中的值,指示客户端应用程序请求的准确性处理的类型。
LOCATION_DESIRED_ACCURACY_DEFAULT (0) 指示传感器应使用可优化电源使用和其他成本考虑的准确度。
LOCATION_DESIRED_ACCURACY_HIGH (1) 指示传感器应尽可能提供最准确的报告。 这包括使用可能收费的服务或消耗更高级别的电池电量或连接带宽。
SENSOR_PROPERTY_MANUFACTURER
(PID = 6)
VT_LPWSTR
只读。 必需,静态。 制作者类的名称。
SENSOR_PROPERTY_MIN_REPORT_INTERVAL
(PID = 12)
VT_UI4
只读。 必需,静态。 硬件支持生成传感器数据报告的最小间隔(以毫秒为单位)。
SENSOR_PROPERTY_MODEL
(PID = 7)
VT_LPWSTR
只读。 必需,静态。 传感器模型名称。
SENSOR_PROPERTY_PERSISTENT_UNIQUE_ID
(PID = 5)
VT_CLSID
只读。 必需,静态。 标识传感器的 GUID 。 此值对于设备上的每个传感器都必须是唯一的,或者对于计算机上枚举的相同型号的设备。 此属性包含通过调用 ISensor::GetID 获取的相同值。
SENSOR_PROPERTY_RANGE_MAXIMUM
(PID = 21)
VT_UKNOWN
只读。 包含传感器数据字段名称及其关联的最大值的 IPortableDeviceValues 对象。
SENSOR_PROPERTY_RANGE_MINIMUM
(PID = 20)
VT_UKNOWN
只读。 包含传感器数据字段名称及其关联的最小值的 IPortableDeviceValues 对象。
SENSOR_PROPERTY_RESOLUTION
(PID = 18)
VT_UKNOWN
只读。 包含传感器数据字段名称及其关联分辨率的 IPortableDeviceValues 对象。 分辨率值表示数据字段中更改的敏感度。
分辨率值使用与数据字段相同的单位表示,除非另有说明。
SENSOR_PROPERTY_SERIAL_NUMBER
(PID = 8)
VT_LPWSTR
只读。 必需,静态。 传感器序列号。
SENSOR_PROPERTY_STATE
(PID = 3)
VT_UI4
只读。 必需。
包含当前传感器状态的 SensorState 值。
SENSOR_PROPERTY_TYPE
(PID = 2)
VT_CLSID
只读。 必需,静态。 标识传感器类型的 GUID 。 平台定义的传感器类型在 Sensors.h 中定义。

以下 Windows 便携设备 (WPD) 属性必须受所有传感器支持。

属性键 说明
WPD_FUNCTIONAL_OBJECT_CATEGORY
VT_CLSID
只读。 必需,静态。 定义传感器类别。

要求

要求
最低受支持的客户端
Windows 7 [仅限桌面应用]
最低受支持的服务器
无受支持的版本
标头
Sensors.h

请参阅

GetProperties

GetProperty

IPortableDeviceValues

SetProperties