HidP_GetUsagesEx 関数 (hidpi.h)
HidP_GetUsagesEx ルーチンは、HID レポートで ON に設定されているすべての HID コントロール ボタンの使用状況の一覧を返します。
構文
NTSTATUS HidP_GetUsagesEx(
[in] HIDP_REPORT_TYPE ReportType,
[in] USHORT LinkCollection,
[in, out] PUSAGE_AND_PAGE ButtonList,
[in, out] ULONG *UsageLength,
[in] PHIDP_PREPARSED_DATA PreparsedData,
[in] PCHAR Report,
[in] ULONG ReportLength
);
パラメーター
[in] ReportType
レポートの種類を識別 するHIDP_REPORT_TYPE 列挙子値を指定します。
[in] LinkCollection
ボタンの使用法の リンク コレクション を指定します。 LinkCollection が 0 以外の場合、ルーチンは、このリンク コレクションに含まれるボタンに関する情報のみを返します。それ以外の場合、LinkCollection が 0 の場合、ルーチンは PreparsedData に関連付けられている最上位のコレクション内のすべてのボタンに関する情報を返します。
[in, out] ButtonList
ON (1) に設定されている各ボタンの使用状況と 使用状況ページ 識別子を返すためにルーチンが使用する呼び出し元割り当てバッファーへのポインター。
[in, out] UsageLength
入力時に、 ButtonList バッファーの配列要素の長さを指定します。 出力時に、指定されたレポートで現在 ON に設定されている使用量を指定します。
[in] PreparsedData
最上位レベルのコレクションの 準備済みデータへのポインター。
[in] Report
ボタン データを含むレポートへのポインター。
[in] ReportLength
Report にあるレポートの長さをバイト単位で指定 します。
戻り値
HidP_GetUsagesEx は、次のいずれかの状態値を返します。
リターン コード | 説明 |
---|---|
|
ルーチンは、ON に設定されているすべてのボタン使用法を正常に返しました。 |
|
レポートの長さが無効です。 |
|
指定したレポートの種類が無効です。 |
|
UsageList バッファーが小さすぎて、指定されたレポートで現在 ON に設定されているすべての使用状況を保持できません。 |
|
コレクションには、指定した種類のレポートにボタンが含まれていますが、指定したレポートにはそのような使用法はありません。 |
|
準備されたデータが無効です。 |
注釈
ユーザー モード アプリケーションとカーネル モード ドライバーは 、HidP_MaxUsageListLength を呼び出して、指定したレポートの種類に対して返されるボタンの最大数を決定します。 または、アプリケーションまたはドライバーは 、HidP_GetUsagesEx を呼び出し 、(*UsageLength) を 0 に設定して UsageLength に必要な長さを返すことができます。 言い換えると、 UsageLength は、必要な長さを取得するために ULONG 値 0 を指す有効なポインターである必要があります。
アプリケーションまたはドライバーは、最上位のコレクションのHIDP_CAPS構造の XxxReportByteLength メンバーから必要なレポートの長さを決定します。
詳細については、「 HID コレクション」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 以降のバージョンの Windows で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | hidpi.h (Hidpi.h を含む) |
Library | Hidparse.lib |
IRQL | <= DISPATCH_LEVEL |