HIDP_VALUE_CAPS結構 (hidpi.h)

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 報表的報表標識碼。

IsAlias

指出,如果 為 TRUE,表示使用方式是一組別名用法的成員。 否則,如果 IsAliasFALSE,則值只有一個使用方式。

BitField

包含 (一或兩個字節的數據欄位,) 與輸入、輸出或功能主要專案相關聯。

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 大於一個,則每個使用量都有此大小的個別數據欄位。

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

表示由字串最小值 (和字串最大值所指定之字串描述項範圍的內含下限,) 其內含上限由 Range.StringMax 表示。

Range.StringMax

表示由字串最小值和字串最大值所指定之字串描述元範圍的內含上限 (,) 其內含下限由 Range.StringMin 表示。

Range.DesignatorMin

表示由指示項最小值和指示項最大專案所指定之指定之指定 (範圍之指定項範圍的內含下限,) 其內含下限是由 Range.DesignatorMax 表示。

Range.DesignatorMax

表示由指示 (項最小值和指示項最大專案所指定之指定範圍之指定項範圍的內含上限,) 其內含下限是由 Range.DesignatorMin 表示。

Range.DataIndexMin

表示連續數據索引範圍的內含下限,這些索引會依相同順序對應至 Range.UsageMin 至 Range.UsageMax 所指定的使用方式。

Range.DataIndexMax

表示連續數據索引範圍的內含上限,這些索引會以相同順序對應至 Range.UsageMax 範圍 Range.UsageMin 所指定的使用方式。

NotRange

指定如果 IsRangeFALSE,則指定單一使用方式的相關信息。 否則,如果IsRangeTRUE,Range 會包含使用範圍的相關信息。

NotRange.Usage

表示 使用方式識別碼

NotRange.Reserved1

保留供內部系統使用。

NotRange.StringIndex

指出 NotRange.Usage 所指定使用量的字串描述元標識碼。

NotRange.Reserved2

保留供內部系統使用。

NotRange.DesignatorIndex

指出 NotRange.Usage 所指定使用量的指示項標識碼。

NotRange.Reserved3

保留供內部系統使用。

NotRange.DataIndex

指出 NotRange.Usage 所指定使用量的數據索引。

NotRange.Reserved4

保留供內部系統使用。

備註

用戶端藉由呼叫 HidP_GetValueCapsHidP_GetSpecificValueCaps 來取得值功能陣列。 這些例程會傳回呼叫端配置緩衝區中HIDP_VALUE_CAPS結構的陣列。 必要的緩衝區長度是在HidP_GetCaps所傳回的HIDP_CAPS結構中指定。

如需 HID 控制項值功能的相關信息,請參閱集合功能和值功能陣列

規格需求

需求
標頭 hidpi.h (包含 Hidpi.h)

另請參閱

HIDP_CAPS

HidP_GetButtonCaps

HidP_GetCaps

HidP_GetSpecificButtonCaps

HidP_GetSpecificValueCaps

HidP_GetUsageValue

HidP_GetUsageValueArray

HidP_GetValueCaps