HidP_GetUsageValueArray関数 (hidpi.h)
HidP_GetUsageValueArray ルーチンは、HID レポートから 使用値配列 HID コントロールに関連付けられたデータを抽出します。
構文
NTSTATUS HidP_GetUsageValueArray(
[in] HIDP_REPORT_TYPE ReportType,
[in] USAGE UsagePage,
[in] USHORT LinkCollection,
[in] USAGE Usage,
[in, out] PCHAR UsageValue,
[in] USHORT UsageValueByteLength,
[in] PHIDP_PREPARSED_DATA PreparsedData,
[in] PCHAR Report,
[in] ULONG ReportLength
);
パラメーター
[in] ReportType
レポートの種類を識別する HIDP_REPORT_TYPE 列挙子の値を指定します。
[in] UsagePage
使用値配列の 使用ページ を指定します。
[in] LinkCollection
使用値配列を含む リンク コレクション を指定します。 LinkCollection が 0 以外の場合、ルーチンはこのリンク コレクション内の使用値配列のみを検索します。それ以外の場合、LinkCollection が 0 の場合、ルーチンは、PreparesedDataに関連付けられている 最上位のコレクション内の使用値配列を検索します。
[in] Usage
使用値配列の使用法を指定します。
[in, out] UsageValue
ルーチンが使用状況値配列に関連付けられているデータを返す呼び出し元によって割り当てられたバッファーへのポインター。
[in] UsageValueByteLength
UsageValue のバッファーの長さをバイト単位指定します。
[in] PreparsedData
最上位レベルのコレクションの 準備されたデータへのポインター。
[in] Report
値を含むレポートへのポインター。
[in] ReportLength
Reportにあるレポートの長さをバイト単位で指定します。
戻り値
HidP_GetUsageValueArray は、次のいずれかの状態値を返します。
リターン コード | 形容 |
---|---|
|
ルーチンは、値のデータを正常に返しました。 |
|
レポートの長さが無効です。 |
|
指定したレポートの種類が無効です。 |
|
要求された使用法は、使用値の配列ではありません。 |
|
UsageValue バッファーが小さすぎて、要求された使用状況を保持できません。 |
|
コレクションには、指定した種類のレポート内の指定した使用状況ページに使用値配列が含まれていますが、指定したレポートにはそのような使用法はありません。 |
|
準備されたデータが無効です。 |
|
コレクションには、指定したレポートの種類のレポート内の指定した使用状況ページに使用値配列が含まれていません。 |
備考
UsageValueByteLength 必要なサイズ (バイト単位) は、使用値配列の HIDP_VALUE_CAPS 構造体の BitSize と ReportCount メンバーを乗算し、結果を最も近いバイトに切り上げて決定します。
HidP_GetUsageValueArray、usageValue バッファーの を、使用量のデータの下位ビットから始まるリトル エンディアン順に設定します。 データはバイトアラインされず、データの下位ビットが UsageValue バッファーの最初のビットに配置されるようにシフトされます。
HidP_GetUsageValueArray は、レポート数が 1 より大きい使用状況のすべての使用状況値を抽出するように設計されています。 レポート数が 1 の使用状況を抽出するには、HidP_GetUsageValueを使用します。
詳細については、「HID コレクションの」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 以降のバージョンの Windows で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | hidpi.h (Hidpi.h を含む) |
ライブラリ | Hidparse.lib |
IRQL | <= DISPATCH_LEVEL |