Driver padre generico USB (Usbccgp.sys)
Questo articolo descrive un driver indipendente denominato driver padre generico USB (Usbccgp.sys), fornito da Microsoft per i dispositivi compositi.
Molti dispositivi USB espongono più interfacce USB. Nella terminologia USB questi dispositivi vengono chiamati dispositivi compositi. Il sistema operativo Windows include una funzionalità padre generica nel driver del bus USB (Usbhub.sys) che espone ogni interfaccia del dispositivo composito come dispositivo separato. Questa funzionalità è semplificata e migliorata trasferendola a un driver indipendente denominato driver padre generico USB (Usbccgp.sys). Il fornitore di dispositivi può usare le funzionalità del driver padre generico per usare in modo selettivo il supporto dei driver forniti da Microsoft per alcune interfacce.
Le interfacce di alcuni dispositivi compositi operano in modo indipendente. Ad esempio, una tastiera USB composita con pulsanti di alimentazione potrebbe avere un'interfaccia per la tastiera e un'altra interfaccia per i pulsanti di alimentazione. Il driver padre generico USB enumera ogni interfaccia come un dispositivo separato. Il sistema operativo carica il driver di tastiera fornito da Microsoft per gestire l'interfaccia della tastiera e il driver di tasti di alimentazione forniti da Microsoft per gestire l'interfaccia dei tasti di alimentazione.
Se i driver windows nativi non supportano l'interfaccia di un dispositivo, il fornitore del dispositivo deve fornire un driver per l'interfaccia e un file INF. Il file INF deve avere una sezione INF DDInstall che corrisponde all'ID dispositivo dell'interfaccia. Il file INF non deve corrispondere all'ID dispositivo per il dispositivo composito stesso, perché impedisce il caricamento del driver padre generico. Per una spiegazione del modo in cui il sistema operativo carica il driver padre generico USB, vedere Enumerazione dei dispositivi compositi USB.
Alcuni dispositivi raggruppano le interfacce in raccolte di interfacce che interagiscono per eseguire una determinata funzione. Quando le interfacce sono raggruppate in raccolte di interfacce, il driver padre generico considera ogni raccolta, anziché ogni singola interfaccia, come dispositivo. Per altre informazioni su come il driver padre generico gestisce le raccolte di interfacce, vedere Enumerazione delle raccolte di interfacce nei dispositivi compositi USB.
Dopo che Windows carica i driver client per le interfacce di un dispositivo composito, il driver padre generico esegue il multiplex del flusso di dati dai driver client, combinando queste interazioni separate in un singolo flusso di dati per il dispositivo composito. L'elemento padre generico è proprietario dei criteri di alimentazione per l'intero dispositivo composito e tutte le relative interfacce. Gestisce anche le richieste di sincronizzazione e Plug and Play.
Il driver padre generico può semplificare l'attività per i fornitori di hardware composito, se i driver forniti da Microsoft supportano alcune interfacce, ma non altre. I fornitori di tali dispositivi necessitano solo di driver per le interfacce non supportate, perché il driver padre generico facilita l'uso dei driver forniti da Microsoft per le interfacce supportate.
Le sezioni seguenti descrivono le funzionalità e le funzioni del driver padre generico:
- L'enumerazione dei dispositivi compositi USB
- Descrittori su dispositivi compositi USB
- Enumerazione delle interfacce su dispositivi compositi USB
- Enumerazione delle raccolte di interfacce nei dispositivi USB compositi
- Funzionalità di sicurezza del contenuto in su Usbccgp.sys