共用方式為


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

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

iConfiguration

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

bmAttributes

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

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

MaxPower

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

言論

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

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

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

要求

要求 價值
標頭 usbspec.h (包括 Usb100.h)

另請參閱

USB 結構

USBD_CreateConfigurationRequest

UsbBuildGetDescriptorRequest