USB_CONFIGURATION_DESCRIPTOR結構 (usbspec.h)

USB 用戶端驅動程式會使用 USB_CONFIGURATION_DESCRIPTOR 結構來保存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

包含用來選取組態的值。 此值會傳遞至 USB SetConfiguration 要求,如通用序列總線規格 1.1 版中所述。 埠驅動程式目前不會公開允許較高層級驅動程式設定設定的服務。

iConfiguration

指定此組態之字串描述元的裝置定義索引。

bmAttributes

指定要描述此組態行為的點陣圖。 位會以小到尾的順序描述和設定。

bit 意義
0 - 4 保留的。
5 組態支援遠程喚醒。
6 組態是自我電源,而且不會使用來自總線的電源。
7 組態是由總線提供電源。

MaxPower

以兩毫秒為單位指定此裝置的電源需求。 只有當位 bmAttributes 中設定位 bmAttributes 時,此成員才有效。

備註

如果 wTotalLength 大於 URB 中提供的緩衝區大小,以保存擷取的所有描述元 (介面、端點、類別和廠商定義的) ,則會傳回不完整的數據。 若要擷取完整的描述元,要求必須使用較大的緩衝區重新傳送。

如果 設定 bmAttributes 位 6 和 7,則裝置會由總線和總線外部的來源提供電源。

屬於此結構但此處未說明的其他成員,應視為不透明,並視為保留供系統使用。

規格需求

需求
標頭 usbspec.h (包含 Usb100.h)

另請參閱

USB 結構

USBD_CreateConfigurationRequest

UsbBuildGetDescriptorRequest