_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