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 sono 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 struttura è semplificata e migliorata trasferendola a un driver indipendente denominato driver padre generico USB (Usbccgp.sys). Il fornitore del dispositivo può usare le funzionalità del driver padre generico per usare selettivamente il supporto del driver fornito da Microsoft per alcune interfacce.

Le interfacce di alcuni dispositivi compositi funzionano 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 ognuna di queste interfacce come dispositivo separato. Il sistema operativo carica il driver della 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 di 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, vedi Enumerazione di dispositivi compositi USB.

Alcune interfacce di gruppo di dispositivi 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 la sincronizzazione e le richieste di 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: