Pilote parent générique USB (Usbccgp.sys)

Cet article décrit un pilote indépendant appelé pilote parent générique USB (Usbccgp.sys), fourni par Microsoft pour les appareils composites.

De nombreux périphériques USB exposent plusieurs interfaces USB. Dans la terminologie USB, ces appareils sont appelés appareils composites. Le système d’exploitation Windows inclut une fonctionnalité parente générique dans le pilote de bus USB (Usbhub.sys) qui expose chaque interface du périphérique composite en tant que périphérique distinct. Cette fonctionnalité est simplifiée et améliorée en la transférant à un pilote indépendant appelé pilote parent générique USB (Usbccgp.sys). Le fournisseur d’appareils peut utiliser les fonctionnalités du pilote parent générique pour utiliser de manière sélective la prise en charge des pilotes fournis par Microsoft pour certaines interfaces.

Les interfaces de certains appareils composites fonctionnent indépendamment. Par exemple, un clavier USB composite avec des boutons d’alimentation peut avoir une interface pour le clavier et une autre interface pour les boutons d’alimentation. Le pilote parent générique USB énumère chacune de ces interfaces en tant que périphérique distinct. Le système d’exploitation charge le pilote de clavier fourni par Microsoft pour gérer l’interface du clavier, et le pilote de touches d’alimentation fourni par Microsoft pour gérer l’interface des touches d’alimentation.

Si les pilotes Windows natifs ne prennent pas en charge l’interface d’un appareil, le fournisseur de l’appareil doit fournir un pilote pour l’interface et un fichier INF. Le fichier INF doit avoir une section INF DDInstall qui correspond à l’ID d’appareil de l’interface. Le fichier INF ne doit pas correspondre à l’ID de l’appareil composite lui-même, car il empêche le chargement du pilote parent générique. Pour obtenir une explication de la façon dont le système d’exploitation charge le pilote parent générique USB, consultez Énumération des périphériques composites USB.

Certains appareils regroupent des interfaces dans des regroupements d’interfaces qui fonctionnent ensemble pour exécuter une fonction particulière. Lorsque des interfaces sont regroupées dans des collections d’interfaces, le pilote parent générique traite chaque collection, plutôt que chaque interface individuelle, comme un appareil. Pour plus d’informations sur la façon dont le pilote parent générique gère les regroupements d’interfaces, consultez Énumération des collections d’interfaces sur les périphériques composites USB.

Une fois que Windows a chargé les pilotes clients pour les interfaces d’un périphérique composite, le pilote parent générique multiplexe le flux de données à partir des pilotes clients, combinant ces interactions distinctes en un seul flux de données pour l’appareil composite. Le parent générique est le propriétaire de la stratégie d’alimentation pour l’ensemble de l’appareil composite et toutes ses interfaces. Il gère également la synchronisation et les requêtes Plug-and-Play.

Le pilote parent générique peut simplifier la tâche pour les fournisseurs de matériel composite, si les pilotes fournis par Microsoft prennent en charge certaines interfaces, mais pas d’autres. Les fournisseurs de ces appareils n’ont besoin que de fournir des pilotes pour les interfaces non prises en charge, car le pilote parent générique facilite l’utilisation des pilotes fournis par Microsoft pour les interfaces prises en charge.

Les sections suivantes décrivent les fonctionnalités et fonctions du pilote parent générique :