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 の正しい は、OutputReportByteLength、HidP_GetCaps 呼び出しから返されるトップレベル コレクションの HIDP_CAPS 構造体のメンバーによって指定されます。
HidD_SetOutputReport ルーチンを呼び出す前に、呼び出し元は次の操作を行う必要があります。
- 最上位のコレクション にレポート ID が含まれている場合、呼び出し元は、ReportBuffer パラメーターの最初のバイトを 0 以外のレポート ID に設定する必要があります。
- 最上位のコレクション にレポート ID が含まれていない場合、呼び出し元は、ReportBuffer パラメーターの最初のバイトを 0 に設定する必要があります。
- 出力レポートは、ReportBuffer パラメーターによって参照されます。 レポート ID に応じて、呼び出し元は次のいずれかの関数を呼び出してレポートを準備します。
HID レポートを準備し、それを 最上位レベルのコレクションに送信する方法の例については、HClient サンプル アプリケーションを参照してください。
HidD_SetOutputReportを呼び出すことができるのは、ユーザー モード アプリケーションだけです。 カーネル モード ドライバーは、IOCTL_HID_SET_OUTPUT_REPORT 要求を使用できます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP 以降のバージョンの Windows で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | hidsdi.h (Hidsdi.h を含む) |
ライブラリ | Hid.lib |
DLL | Hid.dll |