共用方式為


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

另請參閱

URB

USB 結構

USBD_CreateConfigurationRequestEx

USBD_INTERFACE_INFORMATION

USBD_PIPE_INFORMATION

_URB_HEADER