Compartilhar via


Visão geral de como selecionar uma configuração USB em drivers USB

Os tópicos nesta seção descrevem como um driver cliente deve configurar seu dispositivo.

Um dispositivo USB expõe seus recursos na forma de uma série de interfaces chamadas de configuração USB. Cada interface consiste em uma ou mais configurações alternativas, e cada configuração alternativa é composta por um conjunto de pontos de extremidade. O dispositivo deve fornecer pelo menos uma configuração, mas pode fornecer várias configurações que são definições mutuamente exclusivas do que o dispositivo pode fazer. Para obter mais informações sobre descritores de configuração, consulte Descritores de configuração USB.

A configuração do dispositivo refere-se às tarefas que o driver do cliente executa para selecionar uma configuração USB e uma interface alternativa em cada interface. Antes de enviar solicitações de E/S para o dispositivo, um driver cliente deve ler a configuração do dispositivo, analisar as informações e selecionar uma configuração apropriada. O driver cliente deve selecionar pelo menos uma das configurações com suporte para fazer o dispositivo funcionar.

Um driver cliente baseado em WDM pode selecionar qualquer uma das configurações em um dispositivo USB.

Se o driver cliente for baseado na Estrutura de Driver de Modo Kernel ou na Estrutura de Driver de Modo de Usuário, você deverá usar as respectivas interfaces de estrutura para configurar um dispositivo USB. Se você estiver usando os modelos USB fornecidos com o Microsoft Visual Studio Professional 2012, o código do modelo selecionará a primeira configuração e a configuração alternativa padrão em cada interface.

Nesta seção

Tópico Descrição
Como selecionar uma configuração para um dispositivo USB Neste tópico, você aprenderá a selecionar uma configuração em um dispositivo USB (barramento serial universal).
Como selecionar uma configuração alternativa em uma interface USB Este tópico descreve as etapas para emitir uma solicitação de interface de seleção para ativar uma configuração alternativa em uma interface USB. O driver cliente deve emitir essa solicitação depois de selecionar uma configuração USB. A seleção de uma configuração, por padrão, também ativa a primeira configuração alternativa em cada interface nessa configuração.
Configurar Usbccgp.sys para selecionar uma configuração USB não padrão Este tópico fornece informações sobre as configurações do Registro que definem a maneira como Usbccgp.sys seleciona uma configuração USB. O tópico também descreve como o Usbccgp.sys lida com solicitações de configuração de seleção enviadas por um driver cliente que controla uma das funções de um dispositivo composto.

Para obter informações sobre considerações especiais relacionadas à configuração de dispositivos que exigem downloads de firmware, consulte Configurando dispositivos USB que exigem downloads de firmware.

Limitações para selecionar uma configuração

Determinadas restrições se aplicam se um driver cliente estiver usando objetos WDF ou se o dispositivo tiver uma única interface ou várias interfaces. Considere as seguintes restrições antes de alterar a configuração padrão:

  • Um driver cliente para um dispositivo composto que gerencia interfaces ou coleções de interfaces por meio do Usbccgp.sys (Driver Pai Genérico) USB não pode alterar o valor de configuração do dispositivo. No entanto, o driver cliente pode configurar Usbccgp.sys para selecionar uma configuração diferente da primeira configuração (padrão). Para obter mais informações, consulte Configurando Usbccgp.sys para selecionar uma configuração USB não padrão.
  • Um driver cliente baseado em KMDF que está usando os destinos de E/S USB da estrutura pode selecionar apenas a primeira configuração.
  • O WinUSB dá suporte apenas à primeira configuração.
  • Um driver de classe frequentemente não tem suporte para várias configurações. Se o dispositivo implementar uma classe definida por uma especificação de classe USB, consulte o site de tecnologia USB para obter informações sobre classes de dispositivo e especificações de classe. A Microsoft fornece drivers de classe para as classes de dispositivo USB com suporte. Para obter mais informações, consulte Drivers para as classes de dispositivo USB com suporte.