(usb.h) _URB_SELECT_CONFIGURATION 结构

客户端驱动程序使用 _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。

属于此结构但此处未描述的其他成员应被视为不透明,并被视为保留供系统使用。

要求

要求
Header usb.h (包括 Usb.h)

另请参阅

URB

USB 结构

USBD_CreateConfigurationRequestEx

USBD_INTERFACE_INFORMATION

USBD_PIPE_INFORMATION

_URB_HEADER