hidpi.h) (HIDP_VALUE_CAPS 结构
HIDP_VALUE_CAPS 结构包含的信息描述一组 HID 控件值的功能, (单个用法或一个 使用范围) 。
语法
typedef struct _HIDP_VALUE_CAPS {
USAGE UsagePage;
UCHAR ReportID;
BOOLEAN IsAlias;
USHORT BitField;
USHORT LinkCollection;
USAGE LinkUsage;
USAGE LinkUsagePage;
BOOLEAN IsRange;
BOOLEAN IsStringRange;
BOOLEAN IsDesignatorRange;
BOOLEAN IsAbsolute;
BOOLEAN HasNull;
UCHAR Reserved;
USHORT BitSize;
USHORT ReportCount;
USHORT Reserved2[5];
ULONG UnitsExp;
ULONG Units;
LONG LogicalMin;
LONG LogicalMax;
LONG PhysicalMin;
LONG PhysicalMax;
union {
struct {
USAGE UsageMin;
USAGE UsageMax;
USHORT StringMin;
USHORT StringMax;
USHORT DesignatorMin;
USHORT DesignatorMax;
USHORT DataIndexMin;
USHORT DataIndexMax;
} Range;
struct {
USAGE Usage;
USAGE Reserved1;
USHORT StringIndex;
USHORT Reserved2;
USHORT DesignatorIndex;
USHORT Reserved3;
USHORT DataIndex;
USHORT Reserved4;
} NotRange;
};
} HIDP_VALUE_CAPS, *PHIDP_VALUE_CAPS;
成员
UsagePage
指定使用情况或使用情况范围的使用情况页。
ReportID
指定包含使用情况或使用范围的 HID 报表的报表 ID。
IsAlias
如果 为 TRUE,则指示用法是一组别名用法的成员。 否则,如果 IsAlias 为 FALSE,则该值只有一个用法。
BitField
包含与输入、输出或功能main项关联的一个或两个字节) (数据字段。
LinkCollection
指定顶级集合的链接集合数组中链接集合的索引,该数组包含用法或用法范围。 如果 LinkCollection 为零,则使用情况或使用情况范围包含在顶级集合中。
LinkUsage
指定包含用法或使用范围的链接集合的用法。 如果 LinkCollection 为零, 则 LinkUsage 指定顶级集合的用法。
LinkUsagePage
指定包含用法或使用范围的链接集合的用法页。 如果 LinkCollection 为零, 则 LinkUsagePage 指定顶级集合的用法页。
IsRange
如果 为 TRUE,则指定结构描述使用范围。 否则,如果 IsRange 为 FALSE,则结构描述单个用法。
IsStringRange
如果 为 TRUE,则指定用法或用法范围具有一组字符串描述符。 否则,如果 IsStringRange 为 FALSE,则用法或用法范围具有零个或一个字符串描述符。
IsDesignatorRange
如果 为 TRUE,则指定用法或使用情况范围具有一组指定符。 否则,如果 IsDesignatorRange 为 FALSE,则用法或使用范围具有零个或一个指示符。
IsAbsolute
如果 为 TRUE,则指定使用情况或使用情况范围提供绝对数据。 否则,如果 IsAbsolute 为 FALSE,则该值是上一个值的状态更改。
HasNull
如果 为 TRUE,则指定用法支持 NULL 值,该值指示数据无效且应忽略。 否则,如果 HasNull 为 FALSE,则用法不具有 NULL 值。
Reserved
保留供内部系统使用。
BitSize
指定报表中使用情况的数据字段的大小(以位为单位)。 如果 ReportCount 大于 1,则每个用法都有一个此大小的单独数据字段。
ReportCount
指定此结构描述的用法数。
Reserved2[5]
保留供内部系统使用。
UnitsExp
指定使用情况的指数,如 USB HID 标准所述。
Units
指定使用情况的单位,如 USB HID 标准版所述。
LogicalMin
指定用法的有符号下限。
LogicalMax
指定用法的有符号上限。
PhysicalMin
指定将缩放应用到逻辑最小值后用法的有符号下限。
PhysicalMax
指定将缩放应用到逻辑最大值后的用法的有符号上限。
Range
指定 如果 IsRange 为 TRUE,则指定有关使用范围的信息。 否则,如果 IsRange 为 FALSE, 则 NotRange 包含有关单个用法的信息。
Range.UsageMin
指示使用范围的非独占下限,其非独占上限由 Range.UsageMax 指定。
Range.UsageMax
指示使用范围的非独占上限,其非独占下限由 Range.UsageMin 指示。
Range.StringMin
指示由 string minimum 和 string maximum 项 (指定的字符串描述符范围的非独占下限下限,) 其非独占上限由 Range.StringMax 指示。
Range.StringMax
指示 (字符串最小项和字符串最大项指定的字符串描述符范围的非独占上限,) 其非独占下限由 Range.StringMin 指示。
Range.DesignatorMin
指示由指示符最小值和指示符最大项 (指定的指定符范围的非独占下限下限) ,其非独占下限由 Range.DesignatorMax 指示。
Range.DesignatorMax
指示由指示符最小值和指示符最大项 (指定的指定符范围的非独占上限,) 其非独占下限由 Range.DesignatorMin 指示。
Range.DataIndexMin
指示与使用范围 Range.UsageMin 到 Range.UsageMax 指定的用法对应的连续数据索引范围(一对一且顺序相同)的包含下限。
Range.DataIndexMax
指示顺序数据索引范围与使用范围 Range.UsageMin 到 Range.UsageMax 指定的用法相对应的一对一数据索引范围的非独占上限。
NotRange
指定 如果 IsRange 为 FALSE,则指定有关单个用法的信息。 否则,如果 IsRange 为 TRUE, 则 Range 包含有关使用范围的信息。
NotRange.Usage
指示 使用情况 ID。
NotRange.Reserved1
保留供内部系统使用。
NotRange.StringIndex
指示 NotRange.Usage 指定的用法的字符串描述符 ID。
NotRange.Reserved2
保留供内部系统使用。
NotRange.DesignatorIndex
指示 NotRange.Usage 指定的用法的指示符 ID。
NotRange.Reserved3
保留供内部系统使用。
NotRange.DataIndex
指示 NotRange.Usage 指定的使用情况的数据索引。
NotRange.Reserved4
保留供内部系统使用。
注解
客户端通过调用 HidP_GetValueCaps 或 HidP_GetSpecificValueCaps 获取值功能数组。 这些例程返回调用方分配的缓冲区中的HIDP_VALUE_CAPS结构的数组。 所需的缓冲区长度在 HidP_GetCaps 返回的 HIDP_CAPS 结构中指定。
有关 HID 控件值的功能的信息,请参阅集合功能和值功能数组。
要求
要求 | 值 |
---|---|
Header | hidpi.h (包括 Hidpi.h) |