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
[in] Report
指向包含使用情况的报表的指针。
[in] ReportLength
指定位于报表
返回值
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 | 指定的值不包含在指定的报表中,但包含在指定的顶级集合支持的另一个报表中。 |
言论
缩放值是指根据特定参数(如敏感度和设备范围)修改的原始 HID 数据的调整输出。 此调整允许对设备预期使用的数据进行更有意义的解释。
若要进一步了解 HID 报表的解释方式和缩放值的重要性,请参阅 解释 HID 报告。
PreparsedData、UsageValue提供的调用方分配的缓冲区,并且必须从非分页池分配 报表。
用户模式应用程序和内核模式驱动程序必须使用 HidP_GetUsageValueArray 来提取 使用值数组的数据。
如果例程返回状态HIDP_STATUS_BAD_LOG_PHY_VALUES,应用程序或驱动程序可以调用 HidP_GetUsageValue 来提取原始使用情况数据。
有关详细信息,请参阅 HID 集合。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows 2000 及更高版本的 Windows 中可用。 |
目标平台 | 普遍 |
标头 | hidpi.h (包括 Hidpi.h) |
库 | Hidparse.lib |
IRQL | <= DISPATCH_LEVEL |