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 ミリアンペア 単位で指定します。 このメンバーは、bmAttributesでビット 7 が設定されている場合にのみ有効です。
備考
wTotalLength が、取得したすべての記述子 (インターフェイス、エンドポイント、クラス、ベンダー定義) を保持するために URB で指定されたバッファー サイズより大きい場合は、不完全なデータが返されます。 完全な記述子を取得するには、より大きなバッファーを使用して要求を再送信する必要があります。
bmAttributes ビット 6 と 7 の両方が設定されている場合、デバイスはバスとバスの外部のソースの両方で電源が供給されます。
この構造体の一部であるが、ここで説明していない他のメンバーは、不透明として扱われ、システム使用のために予約されていると見なされる必要があります。
必要条件
要件 | 価値 |
---|---|
ヘッダー | usbspec.h (Usb100.h を含む) |
関連項目
USBD_CreateConfigurationRequest
UsbBuildGetDescriptorRequest の