Identificadores USB estándar

El conjunto de identificadores generados para dispositivos USB depende de si el dispositivo es un dispositivo de interfaz única o un dispositivo de varias interfaces.

dispositivos USB Single-Interface

Cuando se conecta un nuevo dispositivo USB, el controlador del concentrador USB proporcionado por el sistema compone el siguiente identificador de dispositivo mediante la información extraída del descriptor de dispositivo del dispositivo:

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

Donde:

  • v(4) es el código de proveedor que el comité USB asigna al proveedor.

  • d(4) es el código de producto que el proveedor asigna al dispositivo.

  • r(4) es el código de revisión.

El controlador del concentrador extrae los códigos de proveedor y producto de los campos idVendor, idProduct y bcdDevice del descriptor de dispositivo, respectivamente. Estos son números hexadecimales de 4 dígitos.

Una sección del modelo INF también puede especificar el siguiente identificador de hardware:

USB\VID_v(4)&PID_d(4)

y los siguientes identificadores compatibles:

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

USB\CLASS_c(2)&SUBCLASS_s(2)

USB\CLASS_c(2)

Donde:

  • c(2) es el código de clase de dispositivo tomado del descriptor de dispositivo.

  • s(2) es el código de subclase del dispositivo.

  • p(2) es el código de protocolo.

El código de clase de dispositivo, el código de subclase y el código de protocolo se determinan mediante los campos bDeviceClass, bDeviceSubClass y bDeviceProtocol del descriptor de dispositivo, respectivamente. Estos son números hexadecimales de 2 dígitos.

dispositivos USB Multiple-Interface

Los dispositivos con varias interfaces se denominan dispositivos compuestos . A partir de Windows 2000, cuando se conecta un nuevo dispositivo compuesto USB a un equipo, el controlador del concentrador USB crea un objeto de dispositivo físico (PDO) y notifica al sistema operativo que su conjunto de dispositivos secundarios ha cambiado. Después de consultar el controlador de concentrador para los identificadores de hardware asociados al nuevo PDO, el sistema operativo busca los archivos INF adecuados para buscar una coincidencia para los identificadores. Si encuentra una coincidencia distinta de USB\COMPOSITE, carga el controlador indicado en el archivo INF. Sin embargo, si no se encuentra ninguna otra coincidencia, el sistema operativo usa el identificador compatible USB\COMPOSITE, para el que carga el controlador primario genérico USB. A continuación, el controlador primario genérico crea un PDO independiente y genera un conjunto independiente de identificadores de hardware para cada interfaz del dispositivo compuesto.

Cada interfaz tiene un identificador de dispositivo con el formato siguiente:

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

Donde:

Una sección del modelo INF también puede especificar los siguientes identificadores compatibles:

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

USB\CLASS_d(2)&SUBCLASS_s(2)

USB\CLASS_d(2)

USB\COMPOSITE

Donde:

  • d(2) es el código de clase de dispositivo tomado del descriptor de dispositivo.

  • s(2) es el código de subclase.

  • p(2) es el código de protocolo.

El código de clase de dispositivo, el código de subclase y el código de protocolo se determinan mediante los campos bInterfaceClass, bInterfaceSubClass y bInterfaceProtocol del descriptor de interfaz, respectivamente. Estos son números hexadecimales de 2 dígitos.