Share via


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 の場合、ルーチンは PreparsedData に関連付けられている最上位のコレクション内のすべてのボタンに関する情報を返します。

[out] UsageList

ON に設定され、 UsagePage で指定された使用状況ページに属するすべてのボタンの使用法を返すためにルーチンが使用する呼び出し元割り当てバッファーへのポインター。

[in, out] UsageLength

入力時に、 UsageList バッファーの配列要素の長さを指定します。 出力時に、指定した使用状況ページで ON に設定されるボタンの数を指定します。

[in] PreparsedData

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

[out] Report

レポートへのポインター。

[in] ReportLength

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

戻り値

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

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

注釈

ユーザー モード アプリケーションとカーネル モード ドライバーは 、HidP_MaxUsageListLength を呼び出して、指定したレポートの種類に対して返すことができるボタンの最大数を決定します。 または、アプリケーションまたはドライバーは 、HidP_GetUsages を呼び出し 、(*UsageLength) を 0 に設定して 、UsageLength で必要な長さを返すことができます。 言い換えると、 UsageLength は、必要な長さを取得するために ULONG 値 0 を指す有効なポインターである必要があります。

アプリケーションまたはドライバーは、最上位のコレクションのHIDP_CAPS構造の XxxReportByteLength メンバーから必要なレポートの長さを決定します。

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

要件

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

こちらもご覧ください

HidP_GetButtons

HidP_GetButtonsEx

HidP_GetCaps

HidP_GetScaledUsageValue

HidP_GetUsageValue

HidP_GetUsageValueArray

HidP_GetUsagesEx

HidP_MaxUsageListLength

_HIDP_PREPARSED_DATA