センサーの共通プロパティ
この記事では、すべてのセンサーに共通するセンサー プロパティについて説明します。
共通プロパティは次の表の通りです。 型列に記載されている型の詳細については、「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