Датчики

Обзор технологии датчиков.

Для разработки датчиков вам потребуются следующие заголовки:

Руководство по программированию см. в разделе Датчики.

Класс

 
CVEC3D

Математическая библиотека для трехмерного вектора.

Перечисления

 
ACTIVITY_STATE

Это перечисление представляет состояния активности, сообщаемые датчиком обнаружения действий.
ОСИ

Определяет трехмерные координаты.
LOCATION_DESIRED_ACCURACY

Тип перечисления LOCATION_DESIRED_ACCURACY определяет значения для свойства SENSOR_PROPERTY_LOCATION_DESIRED_ACCURACY.
MAGNETOMETER_ACCURACY

Это перечисление представляет состояния точности магнитометра.
МагнитометрAccuracy

Указывает точность магнитометра.
PEDOMETER_STEP_TYPE

Это перечисление представляет типы шагов, сообщаемые шагомером.
PEDOMETER_STEP_TYPE_COUNT

Это перечисление представляет количество типов шагов, которые могут быть обнаружены шагомером.
PROXIMITY_SENSOR_CAPABILITIES

Значения перечисления PROXIMITY_SENSOR_CAPABILITIES указывают на возможности датчика близкого взаимодействия.
SENSOR_CONNECTION_TYPES

Определяет типы подключений устройств датчиков.
SENSOR_STATE

Это перечисление представляет допустимые состояния датчика.
SensorConnectionType

Тип перечисления SensorConnectionType определяет значения для свойства SENSOR_CONNECTION_TYPE.
SENSORSCXFUNCENUM

Перечисление _SENSORSCXFUNCENUM содержит список всех функций API WDF.
SensorState

Тип перечисления SensorState указывает текущее рабочее состояние датчика.

Функции

 
~CVEC3D

Деструктор для векторного 3d-класса, используемого в драйверах датчиков.
CleanupFile

Метод ISensorClassExtension::CleanupFile уведомляет расширение класса о дескрипторе файла, который закрывает и отменяет все ожидающие запросы ввода-вывода для указанного приложения.
CollectionsListAllocateBufferAndSerialize

Эта подпрограмма выделяет буфер, а затем сериализует в него список коллекций датчиков.
CollectionsListCopyAndMarshall

Эта подпрограмма копирует и маршалирует список коллекций из источника в целевой.
CollectionsListDeserializeFromBuffer

Эта подпрограмма десериализует список коллекций из входного буфера.
CollectionsListGetFillableCount

Возвращает количество элементов, в которых может храниться буфер SENSOR_COLLECTION_LIST определенного размера.
CollectionsListGetMarshalledSize

Возвращает размер, необходимый для сериализации и маршалинга списка коллекций, включая внедренную память.
CollectionsListGetMarshalledSizeWithoutSerialization

Возвращает размер всего списка коллекций, включая размер блоков памяти, на которые указывают внедренные указатели.
CollectionsListGetSerializedSize

Эта подпрограмма возвращает больший из двух размеров, чтобы обеспечить достаточный размер буфера для передачи списка коллекции между процессами, которые могут иметь различные значения битовости.
CollectionsListMarshall

Эта процедура похожа на CollectionsListCopyAndMarshall, за исключением того, что она маршалирует список коллекций на месте.
CollectionsListSerializeToBuffer

Эта подпрограмма сериализует список коллекций в буфер, выделенный вызывающим объектом.
CollectionsListSortSubscribedActivitiesByConfidence

Эта подпрограмма изменяет порядок сбора данных о действиях при определенных условиях.
CollectionsListUpdateMarshalledPointer

Эта подпрограмма обновляет внедренные указатели.
CVEC3D

Класс 3d-векторов, используемый при разработке драйвера датчика.
CVEC3D

Класс 3d-векторов, используемый при разработке драйвера датчика, с параметром 3d-вектора.
CVEC3D

Конструктор класса 3d-векторов, используемый при разработке драйвера датчика, с параметрами float.
EvaluateActivityThresholds

Эта подпрограмма определяет, соответствуют ли новые входящие данные действия пороговой.
EVT_SENSOR_DRIVER_CANCEL_HISTORY_RETRIEVAL

Отменяет извлечение журнала с датчика.
EVT_SENSOR_DRIVER_CLEAR_SENSOR_HISTORY

Очищает журнал, записанный на данный момент в датчике.
EVT_SENSOR_DRIVER_DEVICE_IO_CONTROL

Обратный вызов для обработки IOCTL.
EVT_SENSOR_DRIVER_DISABLE_WAKE

Обратный вызов для отключения пробуждения для датчика.
EVT_SENSOR_DRIVER_ENABLE_WAKE

Обратный вызов для включения пробуждения для датчика.
EVT_SENSOR_DRIVER_GET_DATA_FIELD_PROPERTIES

Эта функция обратного вызова возвращает свойства заданного поля данных, связанного с датчиком.
EVT_SENSOR_DRIVER_GET_DATA_INTERVAL

Эта функция обратного вызова возвращает интервал данных для указанного датчика.
EVT_SENSOR_DRIVER_GET_DATA_THRESHOLDS

Эта функция обратного вызова возвращает пороговые значения, связанные с датчиком.
EVT_SENSOR_DRIVER_GET_PROPERTIES

Эта функция обратного вызова возвращает свойства для заданного датчика.
EVT_SENSOR_DRIVER_GET_SUPPORTED_DATA_FIELDS

Эта функция обратного вызова возвращает список полей данных, поддерживаемых указанным датчиком.
EVT_SENSOR_DRIVER_SET_BATCH_LATENCY

Эта функция обратного вызова задает задержку пакета для указанного датчика.
EVT_SENSOR_DRIVER_SET_DATA_INTERVAL

Эта функция обратного вызова задает интервал данных для указанного датчика.
EVT_SENSOR_DRIVER_SET_DATA_THRESHOLDS

Эта функция обратного вызова задает пороговое значение для одного или нескольких полей данных, связанных с датчиком.
EVT_SENSOR_DRIVER_START_HISTORY_RETRIEVAL

Начинает извлечение журнала, записанного до сих пор в датчике.
EVT_SENSOR_DRIVER_START_SENSOR

Эта функция обратного вызова запускает датчик на основе свойств по умолчанию, заданных драйвером, или свойств, заданных расширением класса.
EVT_SENSOR_DRIVER_START_SENSOR_HISTORY

Запускает запись журнала на датчике.
EVT_SENSOR_DRIVER_START_STATE_CHANGE_NOTIFICATION

Используется для запуска уведомления об изменении состояния.
EVT_SENSOR_DRIVER_STOP_SENSOR

Эта функция обратного вызова останавливает датчик.
EVT_SENSOR_DRIVER_STOP_SENSOR_HISTORY

Останавливает запись журнала на датчике.
EVT_SENSOR_DRIVER_STOP_STATE_CHANGE_NOTIFICATION

Используется для остановки уведомления об изменении состояния.
FloatEq

Эта функция проверяет равенство с FLOAT_TOLERANCE = 0,00001.
GetMethodArgumentFromAcpi

Функция GetMethodArgumentFromAcpi считывает запрошенную запись ACPI, используя предоставленное имя метода.
GetPerformanceTime

Эта подпрограмма вычисляет системное время в миллисекундах.
GetRotationMatrixFromAcpi

Функция GetRotationMatrixFromAcpi считывает матрицу поворота из записей ACPI.
I2C_REQUEST_SIZE

Макрос I2C_REQUEST_SIZE определяет размер запроса I2C.
I2CSensorReadRegister

Функция I2CSensorReadRegister считывает регистры устройств по протоколу I2C.
I2CSensorWriteRegister

Функция I2CSensorWriteRegister записывает данные в регистры устройств по протоколу I2C.
Initialize

Метод ISensorClassExtension::Initialize инициализирует объект расширения класса датчика.
InitPropVariantFromCLSIDArray

Эта подпрограмма инициализирует PROPVARIANT из заданного массива guid.
InitPropVariantFromFloat

Эта подпрограмма инициализирует PROPVARIANT с заданным значением float.
InitTransformationMatrix

Функция InitTransformationMatrix считывает матрицу поворота из записей ACPI.
IsCollectionListSame

Эта подпрограмма сравнивает два списка коллекций, чтобы узнать, совпадают ли они.
IsGUIDPresentInList

Эта подпрограмма ищет GUID в списке идентификаторов GUID.
IsKeyPresentInCollectionList

Эта подпрограмма определяет, присутствует ли ключ в списке коллекций.
IsKeyPresentInPropertyList

Эта подпрограмма определяет, присутствует ли ключ в списке свойств.
IsSensorSubscribed

Только для внутреннего использования.
MILLISECONDS_FROM_100NANOSECONDS

Этот макрос преобразует время в миллисекундах в виде 100 единиц наносекунд.
MILLISECONDS_TO_100NANOSECONDS

Этот макрос преобразует время в миллисекундах в 100 наносекундных единиц.
OnClientConnect

Метод ISensorDriver::OnClientConnect уведомляет драйвер датчика о том, что клиентское приложение подключено.
OnClientDisconnect

Метод ISensorDriver::OnClientDisconnect уведомляет драйвер датчика о том, что клиентское приложение отключено.
OnClientSubscribeToEvents

Метод ISensorDriver::OnClientSubscribeToEvents уведомляет драйвер датчика о том, что авторизованное клиентское приложение запрашивает уведомления о событиях.
OnClientUnsubscribeFromEvents

Метод ISensorDriver::OnClientUnsubscribeFromEvents уведомляет драйвер датчика о том, что клиентское приложение больше не запрашивает уведомления о событиях.
OnGetDataFields

Метод ISensorDriver::OnGetDataFields извлекает текущие данные датчика.
OnGetProperties

Метод ISensorDriver::OnGetProperties извлекает значения указанных свойств из указанного датчика.
OnGetSupportedDataFields

Метод ISensorDriver::OnGetSupportedDataFields извлекает список полей данных, которые может предоставить указанный датчик.
OnGetSupportedEvents

Метод ISensorDriver::OnGetSupportedEvents извлекает список событий, которые может вызвать указанный датчик.
OnGetSupportedProperties

Метод ISensorDriver::OnGetSupportedProperties извлекает список свойств, которые предоставляет указанный датчик.
OnGetSupportedSensorObjects

Метод ISensorDriver::OnGetSupportedSensorObjects извлекает список датчиков, которые предоставляет драйвер.
OnProcessWpdMessage

Метод ISensorDriver::OnProcessWpdMessage обрабатывает команды переносимого устройства Windows (WPD), которые не обрабатываются методом ISensorClassExtension::P rocessIoControl.
OnSetProperties

Метод ISensorDriver::OnSetProperties задает значения для указанного списка свойств.
оператор+=

Оператор присваивания +.
оператор-=

Оператор присваивания -.
ParseRotationMatrixEntry

Функция ParseRotationMatrixEntry анализирует строку из трех чисел с плавающей точкой.
PFN_SENSORSCXDEVICEGETSENSORLIST

Возвращает список экземпляров датчиков, связанных с WDFDEVICE.
PFN_SENSORSCXDEVICEINITCONFIG

Настраивает устройство датчика.
PFN_SENSORSCXDEVICEINITIALIZE

Инициализирует датчик в расширении класса.
PFN_SENSORSCXSENSORCREATE

Создает экземпляр датчика в расширении класса.
PFN_SENSORSCXSENSORDATAREADY

Уведомляет расширение класса о том, что драйвер извлек данные.
PFN_SENSORSCXSENSORHISTORYRETRIEVALCOMPLETED

Указывает, что извлечение журнала завершено.
PFN_SENSORSCXSENSORINITIALIZE

Задает свойства перечисления датчика.
PFN_SENSORSCXSTATECHANGE

Используется для инициализации изменения состояния датчика.
PostEvent

Метод ISensorClassExtension::P ostEvent вызывает одно или несколько событий драйвера в расширении класса датчика.
PostStateChange

Метод ISensorClassExtension::P ostStateChange уведомляет расширение класса датчика об изменении рабочего состояния датчика.
ProcessIoControl

Метод ISensorClassExtension::P rocessControl отправляет запросы на управление вводом-выводом в переносных устройствах Windows (WPD) в расширение класса датчика для обработки.
PropertiesListCopy

Эта подпрограмма копирует список свойств из источника в целевой.
PropertiesListGetFillableCount

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

Эта подпрограмма получает значение BOOL из PROPVARIANT в списке коллекций на основе PROPERTYKEY.
PropKeyFindKeyGetDouble

Эта подпрограмма получает значение двойной точности с плавающей запятой из PROPVARIANT в списке коллекции на основе PROPERTYKEY.
PropKeyFindKeyGetFileTime

Эта подпрограмма получает значение FILETIME из PROPVARIANT в списке коллекций на основе PROPERTYKEY.
PropKeyFindKeyGetFloat

Эта подпрограмма получает одно значение точности с плавающей запятой из PROPVARIANT в списке коллекции на основе PROPERTYKEY.
PropKeyFindKeyGetGuid

Эта подпрограмма получает значение GUID из PROPVARIANT в списке коллекции на основе PROPERTYKEY.
PropKeyFindKeyGetInt32

Эта подпрограмма получает значение INT32 из PROPVARIANT в списке коллекции на основе PROPERTYKEY.
PropKeyFindKeyGetInt64

Эта подпрограмма получает значение INT64 из PROPVARIANT в списке коллекции на основе PROPERTYKEY.
PropKeyFindKeyGetNthInt64

Эта подпрограмма получает n-е значение INT64 из PROPVARIANT в списке коллекции на основе PROPERTYKEY.
PropKeyFindKeyGetNthUlong

Эта подпрограмма получает n-е значение ULONG из PROPVARIANT в списке коллекции на основе PROPERTYKEY.
PropKeyFindKeyGetNthUshort

Эта подпрограмма получает n-е значение USHORT из PROPVARIANT в списке коллекции на основе PROPERTYKEY.
PropKeyFindKeyGetPropVariant

Эта подпрограмма находит PROPVARIANT из списка коллекций на основе PROPERTYKEY.
PropKeyFindKeyGetUlong

Эта подпрограмма получает значение ULONG из PROPVARIANT в списке коллекции на основе PROPERTYKEY.
PropKeyFindKeyGetUshort

Эта подпрограмма получает значение USHORT из PROPVARIANT в списке коллекций на основе PROPERTYKEY.
PropKeyFindKeySetPropVariant

Эта подпрограмма находит и задает PROPVARIANT в списке коллекции на основе PROPERTYKEY.
PropVariantGetInformation

Эта подпрограмма получает смещение, размер, указатель расположения и DEVPROPTYPE PROPVARIANT.
RealModulo

Вычисляет модульное значение в диапазоне от x до y.
SENSOR_COLLECTION_LIST_CALCULATE_MAX_COUNT

Эта функция вычисляет количество SENSOR_VALUE_PAIR элементов в SENSOR_COLLECTION_LIST структуре.
SENSOR_COLLECTION_LIST_INIT

Эта функция инициализирует структуру SENSOR_COLLECTION_LIST.
SENSOR_COLLECTION_LIST_SIZE

Эта функция возвращает размер структуры SENSOR_COLLECTION_LIST.
SENSOR_CONFIG_INIT

Эта функция инициализирует структуру SENSOR_CONFIG.
SENSOR_CONTROLLER_CONFIG_INIT

Эта функция инициализирует структуру SENSOR_CONTROLLER_CONFIG.
SENSOR_PROPERTY_LIST_CALCULATE_MAX_COUNT

Эта функция вычисляет количество элементов PROPERTYKEY.
SENSOR_PROPERTY_LIST_INIT

Эта функция инициализирует структуру SENSOR_PROPERTY_LIST.
SENSOR_PROPERTY_LIST_SIZE

Эта функция возвращает размер списка свойств.
SensorCollectionGetAt

Эта подпрограмма возвращает PROPERTYKEY и PROPVARIANT, связанные с n-м элементом в предоставленном списке коллекции датчиков.
SensorsCxDeviceGetSensorList

Эта функция возвращает список экземпляров датчиков, связанных с WDFDEVICE.
SensorsCxDeviceInitConfig

Эта функция настраивает устройство датчика.
SensorsCxDeviceInitialize

Эта функция инициализирует датчик в расширении класса.
SensorsCxSensorCreate

Эта функция создает экземпляр датчика в расширении класса.
SensorsCxSensorDataReady

Эта функция уведомляет расширение класса о том, что драйвер извлек данные.
SensorsCxSensorHistoryRetrievalCompleted

Функция SensorsCxSensorHistoryRetrievalCompleted указывает, что извлечение журнала завершено.
SensorsCxSensorInitialize

Эта функция задает свойства перечисления датчика.
SensorsCxStateChange

Используется для инициализации изменения состояния.
SerializationBufferAllocate

Экспортированная функция выделения памяти для выделения сериализованного буфера.
SerializationBufferFree

Экспортируемая функция выделения памяти для освобождения буфера сериализации.
TranslateAxes

Функция TranslateAxes применяет матрицу поворота к данному образцу.
Неинициализировать

Метод ISensorClassExtension::Uninitialize не инициализирует объект расширения класса датчика.

Интерфейсы

 
ISensorClassExtension

Интерфейс ISensorClassExtension предоставляет методы, которые драйвер датчика использует для взаимодействия с платформой датчика (и, следовательно, клиентскими приложениями) через объект расширения класса датчика.
ISensorDriver

Интерфейс ISensorDriver предоставляет методы обратного вызова, которые расширение класса датчика использует для отправки запросов и уведомлений драйверу датчика.

Структуры

 
I2C_REQUEST

Запрос I2C.
MATRIX3X3

Определяет матрицу 3x3.
КВАТЕРНИОН

Структура, представляющая 4-мерный вектор, используемый для простой операции 3D-поворота.
SENSOR_COLLECTION_LIST

Эта структура содержит список всех SENSOR_VALUE_PAIR структур для каждого датчика. Эта структура возвращается путем вызова ReadFile.
SENSOR_CONFIG

Эта структура содержит сведения, которые драйвер датчика передает расширению класса о каждом датчике.
SENSOR_CONTROLLER_CONFIG

Эта структура содержит указатели на функции обратного вызова, которые должны быть реализованы драйвером и переданы в расширение класса для вызова.
SENSOR_PROPERTY_LIST

Узнайте, как эта структура содержит список всех SENSOR_VALUE_PAIR структур для каждого датчика. Эта структура возвращается путем вызова ReadFile.
SENSOR_VALUE_PAIR

Эта структура объединяет ключи свойств, перечисленные в разделе Свойства датчика, с данными, представленными каждым ключом.
VEC3D

Определяет трехмерный вектор.