USBCCGP 复合USB设备的枚举

当新的 USB 设备连接到主机计算机时,USB 总线驱动程序创建设备的物理设备对象 (PDO),并生成报告新 PDO 的即插即用事件。 操作系统然后,查询的硬件 Id 与 PDO 相关联的总线驱动程序。

对于所有 USB 设备、 USB 总线驱动程序报告设备 ID具有以下格式:

USB\VID_xxxx&PID_yyyy

请注意

xxxx和yyyy直接取自idVendor并idProduct设备描述符字段分别。

总线驱动程序还会报告为兼容的标识符 (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)。

取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

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

Powered by bytekits.com,汇天下文字,成非凡梦想!!!