USB通用驱动源码分析
+ -

USBCCGP 设备接口集

2021-09-15 456 0

USBCCGP是通用复合设备,所以其中一项重要的功能是需要分析USB接口集,并进行解析,然后对应于每一个集口,创建其子设备PDO。所以说USBCCGP既是一个通用的总线驱动程序,也是一个功能设备。

USBCCGP中,每个独立的子设备叫做一个功能,枚举这些子设备是通过函数USBCCGP_EnumerateFunctions实现的。

USBCCGP使用了4种方式来枚举这些子设备。

  • 供应商提供的回调函数接口,使用函数USBCCGP_CustomEnumWithInterface来枚举。
  • 联合功能说明符,使用函数USBCCGP_EnumWithUnionFunctionDescriptors来枚举(Reactos4.13并完成此功能。)
  • 关联描述符接口,使用USBCCGP_EnumWithAssociationDescriptor来枚举。
  • 老式的音频方法接口,使用USBCCGP_EnumWithAudioLegacy来枚举。

通过这4种方法枚举出来的设备接口,最后统一创建其子设设备PDO,然后系统根据子子设备接口功能,堆栈其功能设备驱动。

HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

USBCCGP 复合设备接口设备ID
复合 USB 设备上的接口可分组到集合中或分别代表一个 USB 函数。如果接口未分组在集合中,则通用父驱动程序会为每个接口创建一个 PDO,并为每个 PDO 生成一组硬件 Id。USB设备ID接口 PDO 的设备 ID具有以下格式:USBVID_v(4)&PID_p(4)&MI......
USBCCGP 设备接口
USBCCGP是通用复合设备,所以其中一项重要的功能是需要分析USB接口集,并进行解析,然后对应于每一个集口,创建其子设备PDO。所以说USBCCGP既是一个通用的总线驱动程序,也是一个功能设备。在USBCCGP中,每个独立的子设备叫做一个功能,枚举这些子设备是通过函数USBCCGP_Enumer......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!