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