USBDeviceAttach函数中,通过ParseStreamInterfaces函数来保存这些Interface。
主要结构如下:
for (i = 0; i < lpUsbDev->lpConfigs->dwNumInterfaces; i++)
{
lpIF = &lpUsbDev->lpConfigs->lpInterfaces;
if ((lpIF->Descriptor.bInterfaceClass == bIFStrm) && (lpIF->Descriptor.bInterfaceSubClass == bIFSubStrm))
{
//保存接口
}
}
在OV511+的datasheet中
4 BnumInterfaces 1 01 No. of interfaces supported by this config.
只有一个接口啊
但是这一个接口有8个Alternate,备用配置。所以数据手册说
There are eight interface descriptors. Each one selects one alternate setting and is followed by
the corresponding endpoint descriptor.
所以我想问 USB host 得到的lpUsbDev->lpConfigs->dwNumInterfaces是设备配置描述符中的BnumInterfaces值
还是
实际传输中一共得到了多少个接口描述符(包括备用配置)。