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