HidD_GetInputReport関数 (hidsdi.h)
HidD_GetInputReport ルーチンは、最上位のコレクションから入力レポートを返します。
コレクションの現在の状態を取得するには、このルーチンのみを使用します。 アプリケーションがこのルーチンを使用して入力レポートを継続的に取得しようとすると、レポートが失われる可能性があります。 詳細については、「 ユーザー モード アプリケーションによる HID レポートの取得」を参照してください。
構文
BOOLEAN HidD_GetInputReport(
[in] HANDLE HidDeviceObject,
[out] PVOID ReportBuffer,
[in] ULONG ReportBufferLength
);
パラメーター
[in] HidDeviceObject
最上位のコレクションに対する開いているハンドル。
[out] ReportBuffer
呼び出し元が HID レポート ID を指定するために使用し、指定した入力レポートを返すために 使用HidD_GetInputReport 呼び出し元によって割り当てられた入力レポート バッファーへのポインター。
このパラメーターの詳細については、「解説」セクションを参照してください。
[in] ReportBufferLength
レポート バッファーのサイズ (バイト単位)。 レポート バッファーは、入力レポートを保持するのに十分な大きさと、レポート ID を指定する 1 つの追加バイトである必要があります。 レポート ID を使用しない場合、ID 値は 0 です。
戻り値
成功した場合、HidD_GetInputReportは TRUE を返します。それ以外の場合は、FALSE を返します。 GetLastError を使用して、拡張エラー情報を取得します。
注釈
正しい ReportBufferLength は、呼び出しから返される最上位レベルのコレクションのHIDP_CAPS構造体の InputReportByteLength メンバーによって指定HidP_GetCaps。
HidD_GetInputReport ルーチンを呼び出す前に、呼び出し元は次の操作を行う必要があります。
- 最上位のコレクションにレポート ID が含まれている場合、呼び出し元は ReportBuffer パラメーターの最初のバイトを 0 以外のレポート ID に設定する必要があります。
- 最上位のコレクションにレポート ID が含まれていない場合、呼び出し元は ReportBuffer パラメーターの最初のバイトを 0 に設定する必要があります。
入力レポートは ReportBuffer パラメーターで返されます。 レポート ID に応じて、呼び出し元は次のいずれかの関数を呼び出してレポートを解析します。
- HidP_GetButtonCaps
- HidP_GetData
- HidP_GetExtendedAttributes
- HidP_GetScaledUsageValue
- HidP_GetSpecificButtonCaps
- HidP_GetSpecificValueCaps
- HidP_GetUsages
- HidP_GetUsagesEx
- HidP_GetUsageValue
- HidP_GetUsageValueArray
- HidP_GetValueCaps
HID レポートを解析する方法の例については、 HClient サンプル アプリケーションを参照してください。
HidD_GetInputReportを呼び出すことができるのは、ユーザー モード アプリケーションだけです。 カーネル モード ドライバーでは、 IOCTL_HID_GET_INPUT_REPORT要求を使用できます。
詳細については、「 HID レポートの解釈」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP 以降のバージョンの Windows で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | hidsdi.h (Hidsdi.h を含む) |
Library | Hid.lib |
[DLL] | Hid.dll |