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 の正しい は、InputReportByteLength、HidP_GetCaps 呼び出しから返されるトップレベル コレクションの HIDP_CAPS 構造体のメンバーによって指定されます。
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 で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | hidsdi.h (Hidsdi.h を含む) |
ライブラリ | Hid.lib |
DLL | Hid.dll |