_URB_SELECT_CONFIGURATION結構 (usb.h)
用戶端驅動程式會使用 _URB_SELECT_CONFIGURATION 結構來選取 USB 裝置的設定。
語法
struct _URB_SELECT_CONFIGURATION {
struct _URB_HEADER Hdr;
PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor;
USBD_CONFIGURATION_HANDLE ConfigurationHandle;
USBD_INTERFACE_INFORMATION Interface;
};
成員
Hdr
指定 URB 標頭資訊的 _URB_HEADER 結構的指標。 Hdr.Function 必須 URB_FUNCTION_SELECT_CONFIGURATION,Hdr.Length 必須是整個 URB 的大小。 驅動程式可以使用 usbdlib.h 中定義的GET_SELECT_CONFIGURATION_REQUEST_SIZE宏來取得 URB 的大小。
ConfigurationDescriptor
初始化之 USB 組態描述元的指標,可識別要用於裝置的組態。 如果此成員為 NULL,裝置將會設定為未設定的狀態。
ConfigurationHandle
包含句柄,用於從主機控制器驅動程式傳回時存取此組態。 USB 用戶端驅動程式必須將此成員視為不透明。
Interface
指定 USBD_INTERFACE_INFORMATION 結構的可變長度陣列,每個陣列都會描述所選取組態所支援的介面。
將要求傳送至主機控制器驅動程式之前,驅動程式可以藉由設定該介面的 USBD_INTERFACE_INFORMATION 結構成員,為這個數位中包含的一或多個介面選取替代設定。
從主控制器驅動程式傳回時,此成員包含 USBD_INTERFACE_INFORMATION 結構,其中包含描述該介面內端點功能和格式的數據。
備註
URB_FUNCTION_SELECT_CONFIGURATION URB 是由 一個_URB_SELECT_CONFIGURATION 結構所組成,後面接著一連串可變 長度的USBD_INTERFACE_INFORMATION 結構陣列,而組態中每個唯一介面編號的陣列中每個元素。 用戶端驅動程式必須配置足夠的記憶體,以包含所選介面中每個端點的一 個USBD_PIPE_INFORMATION 結構。
驅動程式可以使用 USBD_CreateConfigurationRequestEx 服務例程來配置 URB。
屬於此結構但此處未說明的其他成員,應視為不透明,並視為保留供系統使用。
規格需求
需求 | 值 |
---|---|
標頭 | usb.h (包含 Usb.h) |