Share via


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 の場合、ルーチンは、PreparsedData に関連付けられている最上位のコレクション内の使用値配列を検索します。

[in] Usage

使用値配列の使用法を指定します。

[in, out] UsageValue

ルーチンが使用法値配列に関連付けられているデータを返す、呼び出し元によって割り当てられたバッファーへのポインター。

[in] UsageValueByteLength

UsageValue のバッファーの長さをバイト単位で指定します。

[in] PreparsedData

最上位レベルのコレクションの 準備済みデータへのポインター。

[in] Report

値を含むレポートへのポインター。

[in] ReportLength

Report にあるレポートの長さをバイト単位で指定 します

戻り値

HidP_GetUsageValueArray は、次のいずれかの状態値を返します。

リターン コード 説明
HIDP_STATUS_SUCCESS
ルーチンは、値のデータを正常に返しました。
HIDP_INVALID_REPORT_LENGTH
レポートの長さが無効です。
HIDP_INVALID_REPORT_TYPE
指定したレポートの種類が無効です。
HIDP_STATUS_NOT_VALUE_ARRAY
要求された使用法は、使用量の値配列ではありません。
HIDP_STATUS_BUFFER_TOO_SMALL
UsageValue バッファーが小さすぎて、要求された使用状況を保持できません。
HIDP_STATUS_INCOMPATIBLE_REPORT_ID
コレクションには、指定した種類のレポート内の指定した使用状況ページに使用値配列が含まれていますが、指定したレポートにはそのような使用法はありません。
HIDP_STATUS_INVALID_PREPARSED_DATA
準備されたデータが無効です。
HIDP_STATUS_USAGE_NOT_FOUND
コレクションには、指定したレポートの種類のレポートで、指定した使用状況ページに使用値配列が含まれていません。

注釈

UsageValueByteLength の必要なサイズ (バイト単位) は、使用量値配列のHIDP_VALUE_CAPS構造体の BitSize メンバーと ReportCount メンバーを乗算し、結果を最も近いバイトに丸めることで決定されます。

HidP_GetUsageValueArray、UsageValue バッファーを、使用量のデータの最下位ビットから始まるリトル エンディアン順に設定します。 データはバイトアラインされず、データの最下位ビットが UsageValue バッファーの最初のビットに配置されるようにシフトされます。

HidP_GetUsageValueArray は、レポート数が 1 より大きい使用状況のすべての使用状況値を抽出するように設計されています。 レポート数が 1 に等しい使用状況を抽出するには、 HidP_GetUsageValueを使用します。

詳細については、「 HID コレクション」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 以降のバージョンの Windows で使用できます。
対象プラットフォーム ユニバーサル
Header hidpi.h (Hidpi.h を含む)
Library Hidparse.lib
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

HIDP_VALUE_CAPS

HidP_GetButtons

HidP_GetButtonsEx

HidP_GetCaps

HidP_GetScaledUsageValue

HidP_GetUsageValue

HidP_GetUsages

HidP_GetUsagesEx

_HIDP_PREPARSED_DATA