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
指定如果isRange 為 TRUE,則指定使用範圍的相關信息。 否則,如果 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.UsageMinRange.UsageMax。
NotRange
指定如果isRange isRange FALSE,則指定單一使用方式的相關信息。 否則,如果 isRange TRUE,Range 會包含使用範圍的相關信息。
NotRange.Usage
表示 使用量識別碼。
NotRange.Reserved1
保留供內部系統使用。
NotRange.StringIndex
指出 NotRange.Usage 所指定之使用量的字串描述元標識符。
NotRange.Reserved2
保留供內部系統使用。
NotRange.DesignatorIndex
表示 NotRange.Usage所指定之使用量的指示項識別碼。
NotRange.Reserved3
保留供內部系統使用。
NotRange.DataIndex
指出 NotRange.Usage 所指定之使用量的數據索引,。
NotRange.Reserved4
保留供內部系統使用。
言論
用戶端藉由呼叫 HidP_GetButtonCaps 或 HidP_GetSpecificButtonCaps來取得 按鈕功能陣列。 這些例程會傳回呼叫端配置緩衝區中HIDP_BUTTON_CAPS結構的陣列。 必要的緩衝區長度是在 HidP_GetCaps所傳回的 HIDP_CAPS 結構中指定。
如需 HID 控制項值功能的相關信息,請參閱 集合功能 和 值功能數位。
當報表描述元宣告輸入、輸出或功能主專案時,其使用方式宣告比 ReportCount少,則最後一個使用方式會套用至該主要專案中所有剩餘未指定的計數。 例如,您可能有需要許多欄位來描述的數據,可能是緩衝的位元組。 在此情況下,只會為這些相關聯的欄位配置一個值上限結構,全都使用相同的用法,ReportCount 反映涉及的欄位數目。 通常 ReportCount 為一。 若要存取這類值結構中的所有欄位,需要使用 HidP_GetUsageValueArray 和 HidP_SetUsageValueArray。 HidP_GetUsageValue 和 HidP_SetScaledUsageValue 函式也會運作。 不過,這些函式只適用於 結構的第一個字段。
要求
要求 | 價值 |
---|---|
標頭 | hidpi.h (包括 Hidpi.h) |