Ogólny sterownik nadrzędny USB (Usbccgp.sys)
W tym artykule opisano niezależny sterownik nazywany ogólnym sterownikiem nadrzędnym USB (Usbccgp.sys), dostarczonym przez firmę Microsoft dla urządzeń złożonych.
Wiele urządzeń USB udostępnia wiele interfejsów USB. W terminologii USB te urządzenia są nazywane urządzenia złożone. System operacyjny Windows zawiera ogólny obiekt nadrzędny w sterowniku magistrali USB (Usbhub.sys), który uwidacznia każdy interfejs urządzenia złożonego jako oddzielne urządzenie. Ta funkcja jest usprawniona przez przeniesienie jej do niezależnego sterownika o nazwie ogólny nadrzędny sterownik USB (Usbccgp.sys). Dostawca urządzenia może korzystać z funkcji ogólnego sterownika nadrzędnego, aby selektywnie korzystać z obsługi sterowników dostarczonych przez firmę Microsoft dla niektórych interfejsów.
Interfejsy niektórych urządzeń złożonych działają niezależnie. Na przykład złożona klawiatura USB z przyciskami zasilania może mieć jeden interfejs klawiatury i inny interfejs dla przycisków zasilania. Ogólny sterownik nadrzędny USB wylicza każdy z tych interfejsów jako oddzielne urządzenie. System operacyjny ładuje sterownik klawiatury dostarczonej przez firmę Microsoft do zarządzania interfejsem klawiatury, a sterownik kluczy zasilania dostarczony przez firmę Microsoft do zarządzania interfejsem kluczy zasilania.
Jeśli natywne sterowniki systemu Windows nie obsługują interfejsu urządzenia, dostawca urządzenia powinien podać sterownik interfejsu i pliku INF. Plik INF powinien zawierać sekcję INF DDInstall zgodną z identyfikatorem urządzenia interfejsu. Plik INF nie może być zgodny z identyfikatorem urządzenia złożonego, ponieważ uniemożliwia ładowanie ogólnego sterownika nadrzędnego. Aby uzyskać informacje wyjaśniające, jak system operacyjny ładuje ogólny sterownik nadrzędny USB, zobacz Wyliczenie urządzeń złożonych USB.
Niektóre urządzenia grupują interfejsy w kolekcje interfejsów, które współpracują ze sobą w celu wykonania określonej funkcji. Gdy interfejsy są grupowane w kolekcjach interfejsów, ogólny sterownik nadrzędny traktuje każdą kolekcję, a nie poszczególne interfejsy jako urządzenie. Aby uzyskać więcej informacji na temat sposobu zarządzania kolekcjami interfejsów przez ogólny sterownik nadrzędny, zobacz Wyliczenie kolekcji interfejsów na urządzeniach złożonych USB.
Po załadowaniu sterowników klienta przez system Windows dla interfejsów urządzenia złożonego ogólny sterownik nadrzędny multipleksuje przepływ danych ze sterowników klienta, łącząc te oddzielne interakcje w jeden strumień danych dla urządzenia złożonego. Ogólny rodzic jest odpowiedzialny za zasady zasilania całego urządzenia złożonego i wszystkich jego interfejsów. Zarządza również synchronizacją i żądaniami Plug and Play.
Ogólny sterownik nadrzędny może uprościć zadanie dla dostawców sprzętu złożonego, jeśli sterowniki dostarczone przez firmę Microsoft obsługują niektóre interfejsy, ale nie inne. Dostawcy takich urządzeń potrzebują tylko sterowników dla nieobsługiwanych interfejsów, ponieważ ogólny sterownik nadrzędny ułatwia korzystanie z sterowników dostarczonych przez firmę Microsoft dla obsługiwanych interfejsów.
W poniższych sekcjach opisano funkcje ogólnego sterownika nadrzędnego:
- Wyliczenie urządzeń kompozytowych USB
- deskryptory na urządzeniach złożonych USB
- Wyliczenie interfejsów na urządzeniach złożonych USB
- Wyliczenie kolekcji interfejsów na urządzeniach złożonych USB
- funkcje zabezpieczeń zawartości w usłudze Usbccgp.sys