USB 常规父驱动程序 (Usbccgp.sys)

本文介绍名为 USB 通用父驱动程序(Usbccgp.sys)的驱动程序,该驱动程序是 Microsoft 提供用于复合设备的。

许多 USB 设备公开多个 USB 接口。 这些设备称为 复合设备。 Windows 操作系统在 USB 总线驱动程序(Usbhub.sys)中包含一个通用父类功能,该驱动程序将复合设备的每个接口作为独立的设备进行公开。 通过将此功能转移到名为 USB 通用父驱动程序的独立驱动程序 (Usbccgp.sys),可以简化和改进此设施。 设备供应商可以使用通用父驱动程序来选择性地对某些接口使用Microsoft提供的驱动程序支持。

某些复合设备的接口独立运行。 例如,具有电源按钮的复合 USB 键盘可能具有一个键盘接口,另一个接口用于电源按钮。 USB 通用父驱动程序将其中每个接口枚举为单独的设备。 作系统加载Microsoft提供的键盘驱动程序来管理键盘界面。 它加载Microsoft提供的电源密钥驱动程序来管理电源密钥接口。

如果本机 Windows 驱动程序不支持设备的接口,则设备的供应商应为接口和信息(INF)文件提供驱动程序。 INF 文件应具有与设备的接口 ID 匹配的 INF DDInstall 节。 INF 文件必须不能与复合设备自身的设备 ID 相匹配。 此配置可防止通用父驱动程序加载。 有关操作系统如何加载 USB 通用父驱动程序的说明,请参阅USB 复合设备的枚举

某些设备将接口分组到接口集合中,这些接口协同工作来执行函数。 当接口集合中对接口进行分组时,通用父驱动程序会将每个集合视为设备,而不是每个单独的接口。 有关详细信息,请参阅 USB 复合设备上的接口集合枚举概述

Windows 为复合设备的接口加载客户端驱动程序后,通用父驱动程序会从客户端驱动程序多路复用数据流。 它将单独的交互合并为复合设备的单个数据流。 通用父对象是整个复合设备及其所有接口的电源策略所有者。 它还管理同步和即插即用请求。

如果Microsoft提供的驱动程序支持某些接口,但不支持其他接口,则通用父驱动程序可以简化复合硬件供应商的任务。 供应商只需为不支持的接口提供驱动程序。 泛型父驱动程序有助于为支持的接口使用Microsoft提供的驱动程序。

以下文章介绍了泛型父驱动程序的特性和功能: