Поделиться через


Универсальный родительский драйвер USB (Usbccgp.sys)

В этой статье описывается независимый драйвер, называемый универсальным родительским драйвером USB (Usbccgp.sys), предоставляемым корпорацией Майкрософт для составных устройств.

Многие USB-устройства предоставляют несколько USB-интерфейсов. В терминологии USB эти устройства называются составные устройства. Операционная система Windows имеет универсальную родительскую функцию в драйвере USB-шины (Usbhub.sys), которая представляет каждый интерфейс составного устройства в виде отдельного устройства. Это средство оптимизируется и совершенствуется путем передачи его в независимый драйвер, называемый универсальным родительским драйвером USB (Usbccgp.sys). Поставщик устройств может использовать функции универсального родительского драйвера для выборочного использования поддержки драйверов, предоставленных Корпорацией Майкрософт, для некоторых интерфейсов.

Интерфейсы некоторых составных устройств работают независимо. Например, составная USB-клавиатура с кнопками питания может иметь один интерфейс для клавиатуры и другой интерфейс для кнопок питания. Универсальный родительский драйвер USB перечисляет каждый из этих интерфейсов как отдельное устройство. Операционная система загружает драйвер клавиатуры, предоставленный Корпорацией Майкрософт, для управления интерфейсом клавиатуры, и предоставленный корпорацией Майкрософт драйвер питания для управления интерфейсом клавиш питания.

Если собственные драйверы Windows не поддерживают интерфейс устройства, поставщик устройства должен предоставить драйвер для интерфейса и INF-файла. INF-файл должен иметь раздел INF DDInstall, соответствующий идентификатору устройства интерфейса. INF-файл не должен соответствовать идентификатору устройства для самого составного устройства, так как он предотвращает загрузку универсального родительского драйвера. Сведения о том, как операционная система загружает универсальный родительский драйвер USB, см. в разделе Перечисление составных устройств USB.

Некоторые устройства группируют интерфейсы в коллекции, которые работают вместе для выполнения определенной функции. Когда интерфейсы группируются в коллекциях интерфейсов, универсальный родительский драйвер обрабатывает каждую коллекцию, а не каждый отдельный интерфейс как устройство. Дополнительные сведения о том, как универсальный родительский драйвер управляет коллекциями интерфейсов, см. перечисление коллекций интерфейсов насоставных устройств USB.

После загрузки клиентских драйверов для интерфейсов составного устройства универсальный родительский драйвер мультиплексирует поток данных из клиентских драйверов, сочетая эти отдельные взаимодействия в один поток данных для составного устройства. Универсальный родительский элемент является владельцем политики питания для всего составного устройства и всех его интерфейсов. Он также управляет синхронизацией и запросами Plug and Play.

Универсальный родительский драйвер может упростить задачу для поставщиков составного оборудования, если предоставленные корпорацией Майкрософт драйверы поддерживают некоторые интерфейсы, но не другие. Поставщики таких устройств должны предоставлять только драйверы для неподдерживаемых интерфейсов, так как универсальный родительский драйвер упрощает использование драйверов, предоставленных Корпорацией Майкрософт, для поддерживаемых интерфейсов.

В следующих разделах описываются особенности и функции обобщенного родительского драйвера: