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

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

返回值

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)
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