最上位のコレクションは、特定のソフトウェア コンシューマー (またはコンシューマーの種類) の機能を対象とする機能のグループです。 たとえば、最上位レベルのコレクションは、キーボード、マウス、コンシューマー コントロール、センサー、ディスプレイなどと記述できます。 HID 仕様では、これらの最上位のコレクションは アプリケーション コレクションとも呼ばれます。 HID デバイスは、各最上位レベルのコレクションの目的について説明します。これにより、HID 機能のコンシューマーは、関心のある最上位レベルのコレクションを識別できます。 Windows では、HID デバイス セットアップ クラス (HIDClass) は、レポート記述子によって記述された最上位のコレクションごとに一意の物理デバイス オブジェクト (PDO) を生成します。 Microsoft では、 最上位レベルのコレクション を、別のコレクション内に入れ子になっていない HID コレクション として定義します。 割り当てられていないコレクションは、HID の種類に関係なく、常に最上位レベルのコレクションです。 特に、USB HID Standard で定義されているように、最上位のコレクションをアプリケーション コレクションにする必要はありません。
レポート記述子には、複数の最上位レベルのコレクションを含めることができます。 HID クラス ドライバーは、入力デバイスの最上位レベルのコレクションを列挙し、各最上位のコレクションの物理デバイス オブジェクト (PDO) を作成します。 ユーザー モード アプリケーションまたはカーネル モード ドライバーは、PDO を開き、 HIDClass サポート ルーチン と HID クラス ドライバーの IOCTL を使用して、最上位レベルのコレクションにアクセスできます。
次の一覧では、最上位のコレクションの内部構造と機能について説明します。
- HIDP_CAPS構造体は、最上位レベルのコレクションの機能をまとめたものです。
- リンク コレクションは、 最上位レベルのコレクションに含まれる入れ子になったコレクションの編成を記述します。
- ボタン機能配列 と 値機能配列は 、最上位のコレクションでサポートされるコントロールの機能を記述します。