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