共用方式為


HIDP_BUTTON_CAPS結構 (hidpi.h)

HIDP_BUTTON_CAPS結構包含 HID 控制項按鈕使用方式 (功能的相關信息,或與使用範圍) 相關聯的一組按鈕。

語法

typedef struct _HIDP_BUTTON_CAPS {
  USAGE   UsagePage;
  UCHAR   ReportID;
  BOOLEAN IsAlias;
  USHORT  BitField;
  USHORT  LinkCollection;
  USAGE   LinkUsage;
  USAGE   LinkUsagePage;
  BOOLEAN IsRange;
  BOOLEAN IsStringRange;
  BOOLEAN IsDesignatorRange;
  BOOLEAN IsAbsolute;
  USHORT  ReportCount;
  USHORT  Reserved2;
  ULONG   Reserved[9];
  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_BUTTON_CAPS, *PHIDP_BUTTON_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,按鈕數據會是先前值的狀態變更。

ReportCount

HID 定義的報表計數。 從 API 2.0 版開始提供。 呼叫 HIDP_GetVersion 函式以取得 API 版本。

Reserved2

保留供內部系統使用。

Reserved[9]

保留供內部系統使用。

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_GetButtonCapsHidP_GetSpecificButtonCaps 來取得按鈕功能陣列。 這些例程會傳回呼叫端配置緩衝區中HIDP_BUTTON_CAPS結構的陣列。 必要的緩衝區長度是在HidP_GetCaps所傳回的HIDP_CAPS結構中指定。

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

當報表描述項宣告輸入、輸出或功能主專案,其使用方式宣告比 ReportCount 少時,最後一個使用方式會套用至該主要專案中所有剩餘未指定的計數。 例如,您可能有需要許多欄位來描述的數據,可能是緩衝的位元組。 在此情況下,只有一個值上限結構會配置給這些相關聯的欄位,全部使用相同的用法,而 ReportCount 會反映涉及的欄位數目。 一般而言 ,ReportCount 是一個。 若要存取這類值結構中的所有欄位,需要使用 HidP_GetUsageValueArrayHidP_SetUsageValueArrayHidP_GetUsageValue和HidP_SetScaledUsageValue函式也會運作。 不過,這些函式只適用於 結構的第一個字段。

規格需求

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

另請參閱