HidP_GetUsageValue 函数 (hidpi.h)

HidP_GetUsageValue例程提取与 HID 控件值关联的数据,该值与 HID 报表中的选择条件匹配。

语法

NTSTATUS HidP_GetUsageValue(
  [in]  HIDP_REPORT_TYPE     ReportType,
  [in]  USAGE                UsagePage,
  [in]  USHORT               LinkCollection,
  [in]  USAGE                Usage,
  [out] PULONG               UsageValue,
  [in]  PHIDP_PREPARSED_DATA PreparsedData,
  [in]  PCHAR                Report,
  [in]  ULONG                ReportLength
);

参数

[in] ReportType

指定标识报表类型的 HIDP_REPORT_TYPE 枚举器值。

[in] UsagePage

指定值的 使用情况页

[in] LinkCollection

指定包含 值 的链接集合 。 如果 LinkCollection 为非零值,则例程仅搜索此链接集合中的用法;否则,如果 LinkCollection 为零,则例程将搜索与 PreparsedData 关联的顶级集合中的使用情况。

[in] Usage

指定值的用法。

[out] UsageValue

指向例程在其中返回值数据的缓冲区的指针。

[in] PreparsedData

指向顶级集合的 预分析数据的指针。

[in] Report

指向包含值的报表的指针。

[in] ReportLength

指定位于 Report 的报表的长度(以字节为单位)。

返回值

HidP_GetUsageValue 返回以下状态值之一:

返回代码 说明
HIDP_STATUS_SUCCESS
例程已成功返回值数据。
HIDP_INVALID_REPORT_LENGTH
报表长度无效。
HIDP_INVALID_REPORT_TYPE
指定的报表类型无效。
HIDP_STATUS_INCOMPATIBLE_REPORT_ID
集合在指定类型的报表中的指定使用情况页上包含一个值,但在指定的报表中没有此类用法。
HIDP_STATUS_INVALID_PREPARSED_DATA
预分析的数据无效。
HIDP_STATUS_USAGE_NOT_FOUND
集合不包含指定报表类型的任何报表中指定使用情况页上的值。

注解

HidP_GetUsageValue 不对值进行签名或缩放。 若要提取有符号值,请使用 HidP_GetScaledUsageValue。 若要手动分配符号位,可以从值 HIDP_VALUE_CAPS 结构中的信息确定符号位的位置。

HidP_GetUsageValue 旨在提取报表计数为 1 的使用情况的使用情况值。 如果指定的使用情况的报表计数大于 1,则使用情况是 使用情况值数组的一部分。 HidP_GetUsageValue 仅返回使用情况值数组中的第一个数据项。 若要提取使用情况值数组中的所有数据项,请使用 HidP_GetUsageValueArray

有关详细信息,请参阅 HID 集合

要求

要求
最低受支持的客户端 在 Windows 2000 和更高版本的 Windows 中可用。
目标平台 通用
标头 hidpi.h (包括 Hidpi.h)
Library Hidparse.lib
IRQL <= DISPATCH_LEVEL

另请参阅

HIDP_VALUE_CAPS

HidP_GetButtons

HidP_GetButtonsEx

HidP_GetCaps

HidP_GetScaledUsageValue

HidP_GetUsageValueArray

HidP_GetUsages

HidP_GetUsagesEx

_HIDP_PREPARSED_DATA