USBCCGP 复合USB设备的枚举
2021-09-15
1296
0
当新的 USB 设备连接到主机计算机时,USB 总线驱动程序创建设备的物理设备对象 (PDO),并生成报告新 PDO 的即插即用事件。 操作系统然后,查询的硬件 Id 与 PDO 相关联的总线驱动程序。
对于所有 USB 设备、 USB 总线驱动程序报告设备 ID具有以下格式:
USB\VID_xxxx&PID_yyyy
请注意
总线驱动程序还会报告为兼容的标识符 (ID) 的USB\COMPOSITE
,并且设备满足以下要求:
1.设备描述符的设备类字段 (bDeviceClass) 必须为零值或者设备描述符字类 (bDeviceClass),子类 (bDeviceSubClass),设备协议 (bDeviceProtocol) 字段必须为 0xEF、 0x02 和 0x01 。
2.设备必须具有多个接口。
3.设备必须具有单个配置。
总线驱动程序还会检查设备类 (bDeviceClass),子类 (bDeviceSubClass),和协议 (bDeviceProtocol) 的设备描述符字段。 如果这些字段均为零,则该设备是复合设备,总线驱动程序报告的 USB\COMPOSITE
用于 PDO 复合。
在检索之后的硬件和兼容 Id 对新创建的PDO,操作系统搜索 INF 文件。
如果一个 INF 文件包含设备 ID 的匹配项,Windows 将加载该 INF 文件指示驱动程序和泛型父驱动程序不起作用。
如果没有 INF 文件包含设备 ID 和 PDO 具有兼容 ID,Windows 搜索兼容的 id。 这会生成 Usb.inf 中的匹配项,将导致操作系统加载USB 通用父驱动程序 (Usbccgp.sys)。
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936