Сведения о константах датчика
Сенсорная и геолокационная платформа Windows использует константы различными способами. Платформа определяет различные константы, которые можно использовать в коде драйвера датчика. Производители датчиков могут определять пользовательские константы. Определения определяемых платформой констант можно найти в файле Sensor.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::SetEventInterest и ISensor::GetEventInterest.
Пользовательские константы
Производители датчиков могут определять пользовательские константы. Например, датчик может принадлежать к категории, не определенной платформой. Прежде чем использовать датчик, определяющий пользовательские константы, производитель датчика должен опубликовать значения, например путем публикации файла заголовка. Дополнительные сведения см. в документации, предоставленной датчиком.