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,则指示用法是一组别名用法的成员。 否则,如果 IsAliasFALSE,则该值只有一个用法。

BitField

包含与输入、输出或功能main项关联的一个或两个字节) (数据字段。

LinkCollection

指定顶级集合的链接集合数组中链接集合的索引,该数组包含用法或用法范围。 如果 LinkCollection 为零,则使用情况或使用情况范围包含在顶级集合中。

LinkUsage

指定包含用法或使用范围的链接集合的用法。 如果 LinkCollection 为零, 则 LinkUsage 指定顶级集合的用法。

LinkUsagePage

指定包含用法或使用范围的链接集合的用法页。 如果 LinkCollection 为零, 则 LinkUsagePage 指定顶级集合的用法页。

IsRange

如果 为 TRUE,则指定结构描述使用范围。 否则,如果 IsRangeFALSE,则结构描述单个用法。

IsStringRange

如果 为 TRUE,则指定用法或用法范围具有一组字符串描述符。 否则,如果 IsStringRangeFALSE,则用法或用法范围具有零个或一个字符串描述符。

IsDesignatorRange

如果 为 TRUE,则指定用法或使用情况范围具有一组指定符。 否则,如果 IsDesignatorRangeFALSE,则用法或使用范围具有零个或一个指示符。

IsAbsolute

如果 为 TRUE,则指定使用情况或使用情况范围提供绝对数据。 否则,如果 IsAbsoluteFALSE,则该值是上一个值的状态更改。

HasNull

如果 为 TRUE,则指定用法支持 NULL 值,该值指示数据无效且应忽略。 否则,如果 HasNullFALSE,则用法不具有 NULL 值。

Reserved

保留供内部系统使用。

BitSize

指定报表中使用情况的数据字段的大小(以位为单位)。 如果 ReportCount 大于 1,则每个用法都有一个此大小的单独数据字段。

ReportCount

指定此结构描述的用法数。

Reserved2[5]

保留供内部系统使用。

UnitsExp

指定使用情况的指数,如 USB HID 标准所述。

Units

指定使用情况的单位,如 USB HID 标准版所述。

LogicalMin

指定用法的有符号下限。

LogicalMax

指定用法的有符号上限。

PhysicalMin

指定将缩放应用到逻辑最小值后用法的有符号下限。

PhysicalMax

指定将缩放应用到逻辑最大值后的用法的有符号上限。

Range

指定 如果 IsRangeTRUE,则指定有关使用范围的信息。 否则,如果 IsRangeFALSE则 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

指定 如果 IsRangeFALSE,则指定有关单个用法的信息。 否则,如果 IsRangeTRUE则 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_GetValueCapsHidP_GetSpecificValueCaps 获取值功能数组。 这些例程返回调用方分配的缓冲区中的HIDP_VALUE_CAPS结构的数组。 所需的缓冲区长度在 HidP_GetCaps 返回的 HIDP_CAPS 结构中指定。

有关 HID 控件值的功能的信息,请参阅集合功能和值功能数组

要求

要求
Header hidpi.h (包括 Hidpi.h)

另请参阅

HIDP_CAPS

HidP_GetButtonCaps

HidP_GetCaps

HidP_GetSpecificButtonCaps

HidP_GetSpecificValueCaps

HidP_GetUsageValue

HidP_GetUsageValueArray

HidP_GetValueCaps