Поделиться через


Свойства датчика

Платформа Датчик и расположение определяет константы, определяющие свойства датчиков. Производители датчиков также могут определять собственные свойства.

Платформа определяет следующие значения PROPERTYKEY для свойств датчика. Эти свойства доступны только для чтения, если не указано иное.

Каждое определяемое платформой свойство датчика PROPERTYKEY основано на общем идентификаторе GUID с именем SENSOR_PROPERTY_COMMON_GUID:

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

Важно!

Не используйте это базовое значение для определения собственных ключей свойств.

 

Значения свойств, назначенных для чтения и записи, могут быть заданы клиентским приложением. Значения свойств, обозначенных как статические, не должны изменяться с течением времени. Свойства, назначенные как обязательные, должны поддерживаться датчиком.

Имя ключа свойства и PID Описание
SENSOR_PROPERTY_ACCURACY
(PID = 17)
VT_UNKNOWN
Только для чтения. Объект IPortableDeviceValues, содержащий имена типов данных датчика и связанные с ними точность. Значения точности представляют собой возможные отклонения от истинных значений. Значения точности выражаются с использованием той же единицы измерения, что и поле данных, за исключением случаев, когда задокументировано иное.
SENSOR_PROPERTY_CHANGE_SENSITIVITY
(PID = 14)
VT_UNKNOWN
Read/write. Объект IPortableDeviceValues, содержащий имена типов данных датчика и связанные с ними значения конфиденциальности изменений. Значения конфиденциальности изменения предоставляют запросы о размере, на который поле данных должно измениться до возникновения события SENSOR_EVENT_DATA_UPDATED.
Значения конфиденциальности выражаются с использованием тех же единиц, что и поле данных, за исключением случаев, когда иное задокументировано.
Для некоторых датчиков чувствительность к изменениям интерпретируется как фактическое значение. Например, значение чувствительности изменения 2 для SENSOR_DATA_TYPE_TEMPERATURE_CELSIUS представляет чувствительность плюс или минус 2 градуса По Цельсию.
Для других датчиков, таких как датчик внешнего освещения (ALS), чувствительность к изменениям интерпретируется как процент. Таким образом, чувствительность изменения 2 для SENSOR_DATA_TYPE_LIGHT_LEVEL_LUX представляет плюс или минус 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
Read/write. Текущее затраченное время создания отчета о данных датчика в миллисекундах.
Установка нулевого значения указывает драйверу на использование интервала отчета по умолчанию. После получения нулевого значения для этого свойства драйвер должен возвращать интервал отчета по умолчанию, а не нулевой при запросе.
Приложения могут задать это значение, чтобы запросить определенный интервал отчета, но несколько приложений используют один и тот же драйвер. Таким образом, драйверы определяют истинный интервал отчета на основе внутренней логики. Например, драйвер всегда может использовать кратчайший интервал отчета, запрашиваемый любым вызывающим абонентом.
Пример использования этого свойства см. в разделе Использование событий 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 с понятным именем "unknown".
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
Read/write. Значение из перечисления 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 Portable Devices (WPD) должно поддерживаться всеми датчиками.

Ключ свойства Описание
WPD_FUNCTIONAL_OBJECT_CATEGORY
VT_CLSID
Только для чтения. Обязательный, статический. Определяет категорию датчика.

Требования

Требование Значение
Минимальная версия клиента
Windows 7 [только классические приложения]
Минимальная версия сервера
Ни одна версия не поддерживается
Заголовок
Sensors.h

См. также раздел

GetProperties

Getproperty

IPortableDeviceValues

SetProperties