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) |