USB 記述子

USB デバイスは、USB 記述子と呼ばれるデータ構造内のそれ自体に関する情報を提供します。 このセクションでは、クライアント ドライバーが USB デバイスから取得できるさまざまな記述子に関する情報を提供します。

ホストは、さまざまな標準制御リクエスト (GET_DESCRIPTOR 要求) を既定のエンドポイントに送信することにより、接続されたデバイスから記述子を取得します。 これらの要求は、取得する記述子の種類を指定します。 このような要求に応じて、デバイスは、デバイス、その構成、インターフェイス、および関連するエンドポイントに関する情報を含む記述子を送信します。 デバイス記述子には、デバイス全体に関する情報が含まれています。 構成記述子には、各デバイス構成に関する情報が含まれています。 文字列記述子には、Unicode テキスト文字列が含まれています。

すべての USB デバイスは、デバイスのクラス情報、ベンダーと製品の識別子、および構成の数を示すデバイス記述子を公開します。 各構成は、インターフェイスの数と電源特性を示す構成記述子を公開します。 各インターフェイスは、クラスとエンドポイントの数に関する情報を含む代替設定ごとにインターフェイス記述子を公開します。 各インターフェイス内の各エンドポイントは、エンドポイントのタイプと最大パケット サイズを示すエンドポイント記述子を公開します。

たとえば、「USB デバイス レイアウト」で説明されている OSR FX2 ボード デバイスのレイアウトについて考えてみます。 デバイス レベルでは、デバイスは既定のエンドポイントのデバイス記述子とエンドポイント記述子を公開します。 構成レベルでは、デバイスは構成 0 の構成記述子を公開します。 インターフェイス レベルでは、代替設定 0 の 1 つのインターフェイス記述子を公開します。 エンドポイント レベルでは、3 つのエンドポイント記述子を公開します。

このセクションの内容

記事 説明
USB デバイス記述子 デバイス記述子には、USB デバイス全体に関する情報が含まれています。 この記事では、USB_DEVICE_DESCRIPTOR 構造体について説明し、クライアント ドライバーがデバイス記述子を取得する get 記述子要求を送信する方法に関する情報が含まれています。
USB 構成記述子 USB デバイスは、USB 構成と呼ばれる一連のインターフェイスの形式でその機能を公開します。 各インターフェイスは 1 つ以上の代替設定で構成され、各代替設定は一連のエンドポイントで構成されます。 この記事では、USB 構成に関連付けられたさまざまな記述子について説明します。
USB 文字列記述子 デバイス、構成、インターフェイス記述子には、文字列記述子への参照が含まれる場合があります。 この記事では、デバイスから特定の文字列記述子を取得する方法について説明します。
USB インターフェイス関連付け記述子 USB インターフェイス関連付け記述子 (IAD) は、デバイスで 1 つの機能に属するインターフェイスをグループ化するために使用します。 この記事では、特定の機能の IAD がデバイスに含まれているかどうかをクライアント ドライバーが判断する方法について説明します。