关于传感器常量

Windows 传感器和位置平台在很多方面使用常量。 平台定义了可以在传感器驱动程序代码中使用的不同常量。 传感器制造商可以定义自定义常量。 可以在 Sensors.h 文件中找到平台定义的常量的定义。 有关平台定义的传感器常量的详细信息,请参阅 常量

传感器和数据组织

该平台通过以下方式组织传感器和数据。

  • 类别表示各种传感器设备。 类别允许对可能提供类似类型信息或以某种方式相关的传感器进行分组。 每个类别由 GUID 常量表示。 例如,报告纬度和经度坐标的传感器属于位置传感器类别。 这由 SENSOR_CATEGORY_LOCATION 常量表示。
  • 传感器类型表示特定类型的传感器。 每种传感器类型都属于特定类别。 两个不同类型的传感器可以属于同一类别或不同类别。 每个传感器类型都由 GUID 常量表示。 例如,全局定位系统传感器将由SENSOR_TYPE_LOCATION_GPS常量标识。 但是,使用 IP 地址提供当前位置的传感器将由SENSOR_TYPE_LOCATION_LOOKUP常量标识。 但是,这两个传感器都属于位置传感器类别。
  • 数据类型表示传感器可以提供的特定类型的信息。 传感器数据类型可以包含实际测量值,例如海拔高度;有关用于表示数据的单位的信息,例如计量;和数据的参考点,例如海平面。 每种数据类型都由 PROPERTYKEY 常量表示。 例如,表示海拔高度的数据类型(以米为单位)将由SENSOR_DATA_TYPE_ALTITUDE_SEALEVEL_METERS常量标识。
  • 报告数据时,值将包含在数据字段中,相关数据字段的集合构成数据报表。 使用 IPortableDeviceValues 接口将数据报告打包在一起。 每个数据报表必须至少包含一个有效的数据字段和一个用于标识数据报表创建时间的时间戳。 时间戳由SENSOR_DATA_TYPE_TIMESTAMP常量表示。

其他常量

程序还必须使用其他常量。 这些常量包括:

  • 传感器属性,例如SENSOR_PROPERTY_DESCRIPTION。 通常,这些常量用于描述传感器。 某些传感器属性必须由传感器提供,某些属性可由客户端应用程序设置,有些属性必须始终从传感器返回相同的值。 传感器属性参考部分为每个属性提供此信息。
  • 事件常量,例如SENSOR_EVENT_STATE_CHANGED。 事件常量包括表示事件类型的 GUID和表示事件参数类型的 PROPERTYKEY。 将使用这些常量进行方法调用,例如 ISensor::SetEventInterestISensor::GetEventInterest

自定义常量

传感器制造商可以定义自定义常量。 例如,传感器可以属于平台未定义的类别。 在使用定义自定义常量的传感器之前,传感器制造商必须发布值,例如通过发布头文件。 有关详细信息,请参阅随传感器一起提供的文档。