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


Универсальный родительский драйвер 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-устройствах.

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

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

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