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