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