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 提供的驱动程序用于支持的接口。
以下部分介绍泛型父驱动程序的特性和功能: