Identificateurs USB standard

L’ensemble d’identificateurs générés pour les périphériques USB varie selon qu’il s’agit d’un appareil à interface unique ou d’un appareil à interface multiple.

Single-Interface périphériques USB

Lorsqu’un nouveau périphérique USB est branché, le pilote de hub USB fourni par le système compose l’ID de périphérique suivant à l’aide des informations extraites du descripteur d’appareil de l’appareil :

USB\VID_v(4)&PID_d(4)&REV_r(4)

Où :

  • v(4) est le code fournisseur que le comité USB attribue au fournisseur.

  • d(4) est le code de produit que le fournisseur attribue à l’appareil.

  • r(4) est le code de révision.

Le pilote hub extrait les codes fournisseur et produit des champs idVendor, idProduct et bcdDevice du descripteur d’appareil, respectivement. Il s’agit de nombres hexadécimaux à 4 chiffres.

Une section de modèle INF peut également spécifier l’ID matériel suivant :

USB\VID_v(4)&PID_d(4)

et les ID compatibles suivants :

USB\CLASS_c(2)&SUBCLASS_s(2)&PROT_p(2)

USB\CLASS_c(2)&SUBCLASS_s(2)

USB\CLASS_c(2)

Où :

  • c(2) est le code de classe d’appareil extrait du descripteur d’appareil.

  • s(2) est le code de sous-classe de l’appareil.

  • p(2) est le code de protocole.

Le code de classe d’appareil, le code de sous-classe et le code de protocole sont déterminés par les champs bDeviceClass, bDeviceSubClass et bDeviceProtocol du descripteur d’appareil, respectivement. Il s’agit de nombres hexadécimaux à 2 chiffres.

Multiple-Interface périphériques USB

Les appareils avec plusieurs interfaces sont appelés appareils composites . À compter de Windows 2000, lorsqu’un nouveau périphérique composite USB est connecté à un ordinateur, le pilote hub USB crée un objet de périphérique physique (PDO) et avertit le système d’exploitation que son ensemble d’appareils enfants a changé. Après avoir interrogé le pilote hub pour les identificateurs matériels associés au nouveau PDO, le système d’exploitation recherche les fichiers INF appropriés pour trouver une correspondance pour les identificateurs. S’il trouve une correspondance autre qu’USB\COMPOSITE, il charge le pilote indiqué dans le fichier INF. Toutefois, si aucune autre correspondance n’est trouvée, le système d’exploitation utilise l’ID compatible USB\COMPOSITE, pour lequel il charge le pilote parent générique USB. Le pilote parent générique crée ensuite un PDO distinct et génère un ensemble distinct d’identificateurs matériels pour chaque interface de l’appareil composite.

Chaque interface a un ID d’appareil au format suivant :

USB\VID_v(4)&PID_d(4)&MI_z(2)

Où :

Une section de modèle INF peut également spécifier les ID compatibles suivants :

USB\CLASS_d(2)&SUBCLASS_s(2)&PROT_p(2)

USB\CLASS_d(2)&SUBCLASS_s(2)

USB\CLASS_d(2)

USB\COMPOSITE

Où :

  • d(2) est le code de classe d’appareil extrait du descripteur d’appareil.

  • s(2) est le code de sous-classe.

  • p(2) est le code de protocole.

Le code de classe d’appareil, le code de sous-classe et le code de protocole sont déterminés par les champs bInterfaceClass, bInterfaceSubClass et bInterfaceProtocol du descripteur d’interface, respectivement. Il s’agit de nombres hexadécimaux à 2 chiffres.