Export (0) Print
Expand All

Sensor Properties

The Sensor and Location platform defines constants that identify properties for sensors. Sensor manufacturers can also define their own properties.

The platform defines the following PROPERTYKEY values for sensor properties. These properties are read-only unless otherwise noted.

Each platform-defined sensor property PROPERTYKEY is based on a common GUID named SENSOR_PROPERTY_COMMON_GUID:

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

Important   Do not use this base value to define your own property keys.

Values for properties designated as read/write can be specified by the client application. Values for properties designated as static must not change over time. Properties designated as required must be supported by the sensor.

Property key name and PIDDescription
SENSOR_PROPERTY_ACCURACY
(PID = 17)

VT_UNKNOWN

Read only. IPortableDeviceValues object that contains sensor data type names and their associated accuracies. Accuracy values represent possible variation from true values. Accuracy values are expressed by using the same units as the data field, except when otherwise documented.

SENSOR_PROPERTY_CHANGE_SENSITIVITY
(PID = 14)

VT_UNKNOWN

Read/write. IPortableDeviceValues object that contains sensor data type names and their associated change sensitivity values. Change sensitivity values provide requests about the amount by which the data field should change before the SENSOR_EVENT_DATA_UPDATED event is raised.

Sensitivity values are expressed by using the same units as the data field, except where otherwise documented.

For some sensors, the change sensitivity is interpreted as an actual value. For example, a change sensitivity value of 2 for SENSOR_DATA_TYPE_TEMPERATURE_CELSIUS represents a sensitivity of plus or minus 2 degrees Celsius.

For other sensors, like the ambient light sensor (ALS), the change sensitivity is interpreted as a percent. So, a change sensitivity of 2 for SENSOR_DATA_TYPE_LIGHT_LEVEL_LUX represents plus or minus 2% of LUX.

You can set this value to request a particular change sensitivity, but multiple applications could be using the same sensor. Therefore, sensors determine the true change sensitivity, based on their internal logic. For example, the sensor might always use the smallest change sensitivity that is requested by any of the applications.

If an application sets this property to VT_NULL, the device driver will reset SENSOR_PROPERTY_CHANGE_SENSITIVITY to its default value.

SENSOR_PROPERTY_CONNECTION_TYPE
(PID = 11)

VT_UI4

Read only. SensorConnectionType value that contains the current connection type.

SENSOR_PROPERTY_CURRENT_REPORT_INTERVAL
(PID = 13)

VT_UI4

Read/write. The current elapsed time for sensor data report generation, in milliseconds.

Setting a value of zero signals the driver to use its default report interval. After receiving a value of zero for this property, a driver must return its default report interval, not zero, when queried.

Applications can set this value to request a particular report interval, but multiple applicationscould be using the same driver. Therefore, drivers determine the true report interval, based on internal logic. For example, the driver might always use the shortest report interval that is requested by any caller.

For an example of how to use this property, see Using Sensor API Events.

SENSOR_PROPERTY_DESCRIPTION
(PID = 10)

VT_LPWSTR

Read only. The sensor description string.

SENSOR_PROPERTY_DEVICE_PATH
(PID = 15)

VT_LPWSTR

Read only. Uniquely identifies the device instance with which the sensor is associated. You can use this property to determine whether a device contains multiple sensors.

Device drivers do not have to support this property because the platform provides this value to applications without querying drivers.

SENSOR_PROPERTY_FRIENDLY_NAME
(PID = 9)

VT_LPWSTR

Read only. Required, static. The friendly name for the device.

SENSOR_PROPERTY_HID_USAGE
(PID = 22)

VT_UI4

Read only. This property is provided so that HID sensor manufacturers and driver developers have a means of identifying a sensor that surfaces in the API layer with a friendly name of "unknown".

SENSOR_PROPERTY_LIGHT_RESPONSE_CURVE
(PID = 16)

VT_VECTOR|VT_UI1

Read only. A counted array that contains pairs of values that provide a mapping between ambient light levels and offsets. These values are expressed as percentages. The adaptive brightness feature in Windows applies these values to the user's current display brightness preference.

Data for vector types is always serialized as VT_UI1 (an array of unsigned, 1-byte characters). This property actually contains each value as a 4-byte unsigned integer (VT_UI4). For information about working with arrays, see Retrieving Vector Types.

SENSOR_PROPERTY_LOCATION_DESIRED_ACCURACY
(PID = 19)

VT_UI4

Read/write. A value from the LOCATION_DESIRED_ACCURACY enumeration that indicates the type of accuracy handling requested by a client application.

LOCATION_DESIRED_ACCURACY_DEFAULT (0) indicates that the sensor should use the accuracy for which it can optimize power use and other cost considerations.

LOCATION_DESIRED_ACCURACY_HIGH (1) indicates that the sensor should deliver the most accurate report possible. This includes using services that might charge money, or consuming higher levels of battery power or connection bandwidth.

SENSOR_PROPERTY_MANUFACTURER
(PID = 6)

VT_LPWSTR

Read only. Required, static. The manufacturer's name.

SENSOR_PROPERTY_MIN_REPORT_INTERVAL
(PID = 12)

VT_UI4

Read only. Required, static. The minimum interval that the hardware supports for sensor data report generation, in milliseconds.

SENSOR_PROPERTY_MODEL
(PID = 7)

VT_LPWSTR

Read only. Required, static. The sensor model name.

SENSOR_PROPERTY_PERSISTENT_UNIQUE_ID
(PID = 5)

VT_CLSID

Read only. Required, static. A GUID that identifies the sensor. This value must be unique for each sensor on a device, or across devices of the same model as enumerated on the computer. This property contains the same value obtained by calling ISensor::GetID .

SENSOR_PROPERTY_RANGE_MAXIMUM
(PID = 21)

VT_UKNOWN

Read only. IPortableDeviceValues object that contains sensor data field names and their associated maximum values.

SENSOR_PROPERTY_RANGE_MINIMUM
(PID = 20)

VT_UKNOWN

Read only. IPortableDeviceValues object that contains sensor data field names and their associated minimum values.

SENSOR_PROPERTY_RESOLUTION
(PID = 18)

VT_UKNOWN

Read only. IPortableDeviceValues object that contains sensor data field names and their associated resolutions. Resolution values represent sensitivity to change in the data field.

Resolution values are expressed by using the same units as the data field, except when otherwise documented.

SENSOR_PROPERTY_SERIAL_NUMBER
(PID = 8)

VT_LPWSTR

Read only. Required, static. The sensor serial number.

SENSOR_PROPERTY_STATE
(PID = 3)

VT_UI4

Read only. Required.

SensorState value that contains the current sensor state.

SENSOR_PROPERTY_TYPE
(PID = 2)

VT_CLSID

Read only. Required, static. A GUID that identifies the sensor type. Platform-defined sensor types are defined in Sensors.h.

The following Windows Portable Devices (WPD) property must be supported by all sensors.

Property keyDescription
WPD_FUNCTIONAL_OBJECT_CATEGORY

VT_CLSID

Read only. Required, static. Defines the sensor category.

Requirements

Minimum supported client

Windows 7 [desktop apps only]

Minimum supported server

None supported

Header

Sensors.h

See also

GetProperties
GetProperty
IPortableDeviceValues
SetProperties

 

 

Community Additions

ADD
Show:
© 2014 Microsoft