int usb_control_msg(struct usb_device *dev, unsigned int pipe, __u8 request,
__u8 requesttype, __u16 value, __u16 index, void *data,
__u16 size, int timeout)
usb_control_msg(dev->udev, pipe, query, type, cs << 8,
unit << 8 | intfnum, data, size, timeout);
dev uvc_video_device 为usb_device结构体
pipe usb_rcvctrlpipe 为管道,包含设备号,端点号,传输类型,传输方向
request GET_CUR 为需要进行的操作,其实就是命令
requesttype type | USB_DIR_IN 高8为表示传输方向,低五位表明传输对象的类别
value VS_PROBE_CONTROL 2个字节,高字节是msg的类型(1为输入,2为输出,3为特性);低字节为msg的ID(预设为0)
index unit << 8 | intfnum 指明了具体单元,是终极操作对象
data 缓冲区
size 缓冲区大小
timeout 等待时间
其实,还是没弄明白......