USB 複合デバイスの記述子
USB 仕様に記載されているように、すべての USB デバイスでは、そのデバイスのファンクションを定義する階層型の記述子のセットが提供されます。 重要な点として、各デバイスには 1 つ以上の USB 構成記述子があり、それぞれに 1 つ以上のインターフェイス記述子があります。 USB 構成記述子の詳細については、「USB 構成記述子」を参照してください。 各構成は相互に排他的であるため、一度に 1 つの構成のみを選択して動作させることができます。
Windows Vista より前のバージョンでは、Microsoft が提供するドライバーによって 1 つ目の構成のみが選択されます。 Windows Vista 以降のバージョンの Windows では、レジストリ値を設定して、USB 汎用親ドライバー (Usbccgp.sys) で使用する構成を指定できます。 複合デバイスでのデバイス構成の選択の詳細については、「USB デバイス用の構成の選択方法」を参照してください。
構成内で、インターフェイスとインターフェイス コレクションは個別に管理されます。 各インターフェイスは、記述子レベルで、USB_INTERFACE_DESCRIPTOR 構造体の bInterfaceNumber メンバーの一意の値によって表されます。
インターフェイスの機能は、同じ構造体の bInterfaceClass、bInterfaceSubClass、および bInterfaceProtocol メンバーと、それに続くクラス固有の記述子によって示されます。
記述子の詳細については、USB 記述子に関する記事を参照してください。