センサーの共通プロパティ

このトピックでは、すべてのセンサーに共通するセンサー プロパティについて説明します。

共通プロパティは次の表の通りです。 型列に記載されている型の詳細については、「PROPVARIANT 構造体」を参照してください。

プロパティ キー Type アクセス (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) バッファーで予約されている、このセンサーのイベント数です。 これにより、イベントの最小数が保証されます。 この値が "0" の場合、センサーがバッチ処理を実行できるという保証はありません。
PKEY_Sensor_FifoMaxSize_Samples VT_UI4 R/O 省略可能

ただし、センサーがバッチ処理をサポートする場合は必須です。
FIFO のバッチに入れられるイベントの最大数です。 この値が "0" の場合、センサーがバッチ処理をサポートできません。 複数のセンサーがバッチ FIFO を共有できるため、実際のイベント数はこの数よりも少ない場合があります。
PKEY_Sensor_WakeCapable VT_BOOL R/O 省略可能

ただし、センサーがバッチ処理をサポートする場合は必須です。
センサーがウェイク対応かどうかを示します。

センサーがセンサー バッチ処理をサポートしており、FIFO が一杯になったときにセンサーがアプリケーション プロセッサを復帰できる場合は、これが "VARIANT_TRUE" でなければなりません。 センサーがアプリケーション プロセッサを復帰できない場合は、値が "VARIANT_FALSE" でなければなりません。 この場合、このプロパティの状態はセンサーがコネクト スタンバイから復帰できるかどうかを示します。

センサーがシステムを SX から復帰できる場合は、このプロパティが "VARIANT_TRUE" でなければならず、SX からの復帰をサポートしていない場合は、このプロパティが "VARIANT_FALSE" でなければなりません。

データのバッチ処理

データのバッチ処理をサポートするセンサー ドライバーは、次の一般的なセンサー プロパティを報告する必要があります。

  • PKEY_Sensor_FifoReservedSize_Samples
  • PKEY_Sensor_FifoMaxSize_Samples
  • PKEY_Sensor_WakeCapable

Windows 10 バージョン 1511 以降では、HID センサー クラス ドライバーによるデータのバッチ処理を実装できます。 詳細については、「センサーのバッチ処理制御」を参照してください。

データのバッチ処理に関連するコールバック関数の詳細については、「EvtSensorSetBatchLatency」を参照してください。

CPU とオペレーティング システムを SX 状態から復帰する機能をセンサーに追加すれば、PKEY_Sensor_WakeCapable を使用して PnP ドライバー ストアからリスト プロパティを取得し、システムをコネクト スタンバイからだけでなく、SX から復帰できるかどうかも調べられます。

解説

クライアント ドライバーが次のプロパティを報告する際、クライアント ドライバーは CollectionsListGetMarshalledSize ではなく CollectionsListGetMarshalledSizeWithoutSerialization を使用する必要があります。

  • PKEY_SensorHistory_MaxSize_Bytes
  • PKEY_SensorHistory_MaximumRecordSize_Bytes