USB_CONFIGURATION_DESCRIPTOR構造体 (usbspec.h)

USB_CONFIGURATION_DESCRIPTOR構造体は、USB クライアント ドライバーが USB で定義された構成記述子を保持するために使用されます。 この構造体のメンバーについては、「 USB ドキュメント ライブラリで使用できるユニバーサル シリアル バス 3.1 仕様」で説明されています。 セクション 9.6.3 を参照してください。

構文

typedef struct _USB_CONFIGURATION_DESCRIPTOR {
  UCHAR  bLength;
  UCHAR  bDescriptorType;
  USHORT wTotalLength;
  UCHAR  bNumInterfaces;
  UCHAR  bConfigurationValue;
  UCHAR  iConfiguration;
  UCHAR  bmAttributes;
  UCHAR  MaxPower;
} USB_CONFIGURATION_DESCRIPTOR, *PUSB_CONFIGURATION_DESCRIPTOR;

メンバー

bLength

この構造体の長さをバイト単位で指定します。

bDescriptorType

記述子の種類を指定します。 USB_CONFIGURATION_DESCRIPTOR_TYPEに設定する必要があります。

wTotalLength

構成のすべてのデータの合計長をバイト単位で指定します。 長さは、構成記述子で返されるすべてのインターフェイス、エンドポイント、クラス、またはベンダー固有の記述子を含みます。

bNumInterfaces

この構成でサポートされるインターフェイスの合計数を指定します。

bConfigurationValue

構成の選択に使用される値を格納します。 この値は、ユニバーサル シリアル バス仕様のバージョン 1.1 で説明されているように、USB SetConfiguration 要求に渡されます。 現在、ポート ドライバーは、上位レベルのドライバーが構成を設定できるサービスを公開していません。

iConfiguration

この構成の文字列記述子のデバイス定義インデックスを指定します。

bmAttributes

この構成の動作を記述するビットマップを指定します。 ビットは記述され、リトル エンディアン順に設定されます。

ビット 意味
0 - 4 予約済み。
5 この構成では、リモート ウェイクアップがサポートされています。
6 構成は自己駆動であり、バスからの電力を使用しません。
7 構成にはバスが搭載されています。

MaxPower

このデバイスの電力要件を 2 ミリアンペア 単位で指定します。 このメンバーは、ビット 7 が bmAttributes で設定されている場合にのみ有効です。

注釈

取得されたすべての記述子 (インターフェイス、エンドポイント、クラス、ベンダー定義) を保持するために、 wTotalLength が URB で指定されたバッファー サイズより大きい場合は、不完全なデータが返されます。 完全な記述子を取得するには、より大きなバッファーを使用して要求を再送信する必要があります。

bmAttributes ビット 6 と 7 の両方が設定されている場合、デバイスはバスとバスの外部ソースの両方で電源が供給されます。

この構造の一部であるが、ここで説明していない他のメンバーは、不透明として扱われ、システム使用のために予約されていると見なす必要があります。

要件

要件
Header usbspec.h (Usb100.h を含む)

こちらもご覧ください

USB 構造体

USBD_CreateConfigurationRequest

UsbBuildGetDescriptorRequest