HidP_GetScaledUsageValue 函数 (hidpi.h)

HidP_GetScaledUsageValue例程返回从 HID 报表中提取的 HID 控件值的有符号和缩放结果。

语法

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

参数

[in] ReportType

指定一个 HIDP_REPORT_TYPE 枚举器值,该值标识包含 HID 使用值的 HID 报表的类型。

[in] UsagePage

指定要提取的值的用法页。

[in] LinkCollection

指定要提取的值的链接集合标识符。 LinkCollection 值为零标识顶级集合。

[in] Usage

指定要提取的值的用法。

[out] UsageValue

指向缓冲区的指针,例程在其中返回带符号和缩放值。

[in] PreparsedData

指向生成报表的顶级集合预分析数据的指针,该集合位于 Report

[in] Report

指向包含使用情况的报表的指针。

[in] ReportLength

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

返回值

HidP_GetScaledUsageValue 返回以下状态值之一:

返回代码 说明
HIDP_STATUS_SUCCESS
例程已成功返回 值。
HIDP_STATUS_INVALID_REPORT_TYPE
指定的报表类型无效。
HIDP_STATUS_INVALID_REPORT_LENGTH
指定的报表长度无效
HIDP_STATUS_BAD_LOG_PHY_VALUES
集合返回了非法的逻辑或物理值。 若要提取集合返回的值,请调用 HidP_GetUsageValue
HIDP_STATUS_NULL
集合中缩放值的当前状态小于逻辑最小值或大于逻辑最大值,并且缩放值具有 NULL 状态。
HIDP_STATUS_VALUE_OUT_OF_RANGE
集合中缩放值数据的当前状态小于逻辑最小值或大于逻辑最大值。
HIDP_STATUS_USAGE_NOT_FOUND
在指定顶级集合支持的任何报表中,都找不到指定的使用情况、使用情况页或链接集合。
HIDP_STATUS_INCOMPATIBLE_REPORT_ID
指定的值不包含在指定的报表中,但包含在指定顶级集合支持的另一个报表中。

注解

必须在非分页池中分配 PreparsedDataUsageValue Report 中提供的调用方分配缓冲区。

用户模式应用程序和内核模式驱动程序必须使用 HidP_GetUsageValueArray 来提取 使用情况值数组的数据。

如果例程HIDP_STATUS_BAD_LOG_PHY_VALUES返回状态,应用程序或驱动程序可以调用 HidP_GetUsageValue 来提取原始使用情况数据。

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

要求

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

另请参阅

HidP_GetUsageValue

HidP_GetUsageValueArray

_HIDP_PREPARSED_DATA