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

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

许多 USB 设备公开多个 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提供的驱动程序。

以下部分介绍泛型父驱动程序的特性和功能: