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