次の方法で共有


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 レポートのレポート ID を指定します。

IsAlias

TRUE の場合、ボタンに一連の別名使用法があることを示します。 それ以外の場合、 IsAliasFALSE の場合、ボタンの使用法は 1 つだけです。

BitField

入力、出力、または機能メイン項目に関連付けられているデータ フィールド (1 バイトまたは 2 バイト) を格納します。

LinkCollection

使用法または使用 範囲を含最上位のコレクションのリンク コレクション配列内のリンク コレクション のインデックスを指定します。 LinkCollection が 0 の場合、使用法または使用範囲は最上位のコレクションに含まれます。

LinkUsage

使用法または使用範囲を含むリンク コレクションの使用法を指定します。 LinkCollection が 0 の場合、LinkUsage は最上位のコレクションの使用法を指定します。

LinkUsagePage

使用状況または使用範囲を含むリンク コレクションの使用状況ページを指定します。 LinkCollection が 0 の場合、LinkUsagePage は最上位のコレクションの使用ページを指定します。

IsRange

TRUE の場合、構造体が使用範囲を記述することを指定します。 それ以外の場合、 IsRangeFALSE の場合、構造体は 1 つの使用法を記述します。

IsStringRange

TRUE の場合、使用法または使用範囲に文字列記述子のセットがあることを指定します。 それ以外の場合、 IsStringRangeFALSE の場合、使用法または使用範囲には 0 または 1 の文字列記述子があります。

IsDesignatorRange

TRUE の場合、使用法または使用範囲に一連の指定子があることを指定します。 それ以外の場合 、IsDesignatorRangeFALSE の場合、使用法または使用範囲には 0 個または 1 個の指定子があります。

IsAbsolute

TRUE の場合、ボタンの使用状況または使用範囲が絶対データを提供することを指定します。 それ以外の場合 、IsAbsoluteFALSE の場合、ボタン データは前の値からの状態の変化になります。

ReportCount

HID で定義されたレポート数。 API バージョン 2.0 以降で使用できます。 HIDP_GetVersion関数を呼び出して API バージョンを取得します。

Reserved2

内部システムの使用のために予約されています。

Reserved[9]

内部システムの使用のために予約されています。

Range

IsRangeTRUE の場合、使用範囲に関する情報を指定します。 それ以外の場合、 IsRangeFALSE の場合、 NotRange には 1 つの使用状況に関する情報が含まれます。

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 に指定された使用量に対応する、1 対 1 と同じ順序の連続するデータ インデックスの包括的な下限を示します。

Range.DataIndexMax

使用範囲 Range.UsageMin から Range.UsageMax に指定された使用量に対応する、一対一で同じ順序のデータ インデックスの連続範囲の包括的な上限を示します。

NotRange

IsRangeFALSE の場合、1 回の使用状況に関する情報を指定します。 それ以外の場合 、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_GetButtonCapsまたはHidP_GetSpecificButtonCapsを呼び出してボタン機能配列取得します。 これらのルーチンは、呼び出し元によって割り当てられたバッファー内のHIDP_BUTTON_CAPS構造体の配列を返します。 必要なバッファー長は、HidP_GetCapsによって返されるHIDP_CAPS構造体で指定されます。

HID コントロール値の機能の詳細については、「 コレクション機能値の機能配列」を参照してください。

レポート記述子が、ReportCount よりも使用量宣言の数が少ないアイテムメイン入力、出力、または機能を宣言すると、そのメインアイテムの残りのすべての未指定カウントに最後の使用法が適用されます。 たとえば、多くのフィールドを記述する必要があるデータがあり、バッファーされたバイトである可能性があります。 この場合、関連付けられているこれらのフィールドに割り当てられる値キャップ構造は 1 つだけで、すべて同じ使用法を持ち、 ReportCount には関連するフィールドの数が反映されます。 通常、 ReportCount は 1 つです。 このような値構造のすべてのフィールドにアクセスするには、 HidP_GetUsageValueArrayHidP_SetUsageValueArrayを使用する必要があります。 HidP_GetUsageValue関数とHidP_SetScaledUsageValue関数も機能します。 ただし、これらの関数は構造体の最初のフィールドでのみ機能します。

要件

要件
Header hidpi.h (Hidpi.h を含む)

こちらもご覧ください