Identificadores USB padrão
O conjunto de identificadores gerados para dispositivos USB depende se o dispositivo é um dispositivo de interface única ou um dispositivo de interface múltipla.
Dispositivos USB de interface única
Quando um novo dispositivo USB é conectado, o driver do hub USB fornecido pelo sistema compõe a seguinte ID de dispositivo usando informações extraídas do descritor de dispositivo do dispositivo:
USB\VID_v(4)&PID_d(4)&REV_r(4)
Em que:
- v(4) é o código do fornecedor que o comitê USB atribui ao fornecedor.
- D(4) é o código do produto que o fornecedor atribui ao dispositivo.
- r(4) é o código de revisão.
O driver de hub extrai os códigos de fornecedor e produto dos campos idVendor, idProduct e bcdDevice do descritor do dispositivo, respectivamente. Esses códigos são números hexadecimais de quatro dígitos.
Uma seção de modelo INF também pode especificar a seguinte ID de hardware:
USB\VID_v(4)&PID_d(4)
E os seguintes IDs compatíveis:
USB\CLASS_c(2)&SUBCLASS_s(2)&PROT_p(2)
USB \ CLASS_c (2) e SUBCLASS_s (2)
USB\CLASS_c(2)
Em que:
- c(2) é o código de classe do dispositivo obtido do descritor do dispositivo.
- s(2) é o código da subclasse do dispositivo.
- p(2) é o código do protocolo.
Os campos bDeviceClass, bDeviceSubClass e bDeviceProtocol do descritor do dispositivo determinam o código da classe do dispositivo, o código da subclasse e o código do protocolo, respectivamente. Esses códigos são números hexadecimais de dois dígitos.
Dispositivos USB de múltiplas interfaces
Dispositivos com várias interfaces são chamados de dispositivos compostos . Quando um novo dispositivo composto USB é conectado a um computador Windows, o driver do hub USB cria um PDO (objeto de dispositivo físico) e notifica o sistema operacional para atualizar a lista de dispositivos filho. Depois que o Windows consulta o driver de hub para os identificadores de hardware associados ao novo PDO, ele pesquisa os arquivos INF apropriados para encontrar uma correspondência para os identificadores. Se encontrar uma correspondência diferente de USB\COMPOSITE, ele carregará o driver indicado no arquivo INF. No entanto, se nenhuma outra correspondência for encontrada, o sistema operacional usará a ID compatível USB\COMPOSITE, para a qual ele carrega o driver pai genérico USB. Em seguida, o driver pai genérico cria um PDO separado e gera um conjunto separado de identificadores de hardware para cada interface do dispositivo composto.
Cada interface tem um ID de dispositivo do seguinte formato:
USB\VID_v(4)&PID_d(4)&MI_z(2)
Em que:
- v(4) é o código do fornecedor que o comitê USB atribui ao fornecedor.
- D(4) é o código do produto que o fornecedor atribui ao dispositivo.
- z(2) é o número da interface extraído do campo bInterfaceNumber do descritor de interface correspondente.
Uma seção de modelo INF também pode especificar as seguintes IDs compatíveis:
USB \ CLASS_d (2) SUBCLASS_s (2) e PROT_p (2)
USB\CLASS_d(2)&SUBCLASS_s(2)
USB\CLASS_d(2)
USB\COMPOSTO
Em que:
- d(2) é o código de classe do dispositivo obtido do descritor do dispositivo.
- s(2) é o código da subclasse.
- p(2) é o código do protocolo.
Os campos bInterfaceClass, bInterfaceSubClass e bInterfaceProtocol do descritor de interface determinam o código de classe do dispositivo, o código de subclasse e o código de protocolo, respectivamente. Esses códigos são números hexadecimais de dois dígitos.