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


Общие свойства датчика

В этом разделе описываются свойства датчика, которые являются общими для всех датчиков.

В следующей таблице показаны общие свойства. Дополнительные сведения о типах, отображаемых в столбце типов, см. в разделе Структура PROPVARIANT.

Ключ свойства Тип Access (R/O, R/W) Обязательный/необязательный Описание
PKEY_Sensor_Type VT_CLSID R/O Обязательно Тип датчика. Guid будет состоять из того же формата, что и датчик Windows (например, SENSOR_TYPE_ACCELEROMETER_3D). Дополнительные сведения о типах датчиков см. в разделе Идентификаторы GUID типа датчика.
PKEY_Sensor_State VT_UI4 R/O Обязательно Состояние датчика. Дополнительные сведения о состояниях датчиков см. в разделе SENSOR_STATE.
PKEY_Sensor_MinimumDataInterval_Ms VT_UI4 R/O Обязательно Минимальный интервал времени (в миллисекундах), поддерживаемый оборудованием для создания отчетов о данных датчика.
PKEY_Sensor_MaximumDataFieldSize_Bytes VT_UI4 R/O Обязательно Максимальный размер, возвращаемый в вызове ReadFile. Вызов ReadFile позволяет собственному API выделить буфер для хранения любого поля данных.
PKEY_Sensor_Power_Milliwatts VT_R4 R/O Необязательно Мощность датчика, выраженная в милливаттах.
PKEY_SensorHistory_MaxSize_Bytes VT_UI4 R/O Необязательный

, но обязательный, если датчик поддерживает журнал.
Максимальный размер данных журнала датчиков, выраженный в байтах.
PKEY_SensorHistory_Interval_Ms VT_UI4 R/O Необязательный

, но обязательный, если датчик поддерживает журнал.
Интервал выборки журнала датчика, выраженный в миллисекундах.
PKEY_SensorHistory_MaximumRecordSize_Bytes VT_UI4 R/O Необязательный

, но обязательный, если датчик поддерживает журнал.
Максимальный размер записи, выраженный в байтах.
PKEY_Sensor_FifoReservedSize_Samples VT_UI4 R/O Необязательный

, но обязательный, если датчик поддерживает пакетную обработку.
Количество событий, зарезервированных для этого датчика в буфере FIFO для пакета. Это гарантирует минимальное количество событий. Если это значение равно нулю, нет никакой гарантии, что датчик будет выполнять пакетную обработку.
PKEY_Sensor_FifoMaxSize_Samples VT_UI4 R/O Необязательный

, но обязательный, если датчик поддерживает пакетную обработку.
Максимальное количество событий, которые можно пакетировать в FIFO. Если это значение равно нулю, то датчик не поддерживает пакетную обработку. Фактическое количество событий может быть меньше этого числа, так как пакет FIFO может совместно использоваться несколькими датчиками.
PKEY_Sensor_WakeCapable VT_BOOL R/O Необязательный

, но обязательный, если датчик поддерживает пакетную обработку.
Указывает, поддерживает ли датчик пробуждение.

Если датчик поддерживает пакетную обработку датчика, это значение должно быть равно VARIANT_TRUE, если датчик может разбудить процессор приложения при заполнении FIFO. Если датчику не удается разбудить обработчик приложения, необходимо задать значение VARIANT_FALSE. В этом случае состояние этого свойства указывает на возможность датчика выйти из режима ожидания с подключением.

Если датчик поддерживает пробуждение системы из SX, этому свойству следует присвоить значение VARIANT_TRUE а если оно не поддерживает пробуждение от SX, этому свойству следует задать значение VARIANT_FALSE.

Пакетная обработка данных

Драйвер датчика, поддерживающий пакетную обработку данных, должен сообщать о следующих общих свойствах датчика:

  • PKEY_Sensor_FifoReservedSize_Samples
  • PKEY_Sensor_FifoMaxSize_Samples
  • PKEY_Sensor_WakeCapable

Начиная с Windows 10 версии 1511, теперь доступна поддержка реализации пакетной обработки данных с помощью драйвера класса датчика HID. Сведения об этом см. в разделе Элементы управления пакетной обработкой датчика.

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

Благодаря дополнительной возможности датчика для пробуждения ЦП и операционной системы из состояния SX PKEY_Sensor_WakeCapable также используется в качестве свойства перечисления, которое можно запросить из хранилища драйверов PnP, чтобы узнать, способен ли датчик пробуждения системы из SX в дополнение к пробуждению системы из подключенного режима ожидания.

Комментарии

Когда драйвер клиента сообщает следующие свойства, драйвер клиента должен использовать CollectionsListGetMarshalledSizeWithoutSerialization вместо CollectionsListGetMarshalledSize:

  • PKEY_SensorHistory_MaxSize_Bytes
  • PKEY_SensorHistory_MaximumRecordSize_Bytes