Partilhar via


Visão geral do envio de transferências de dados USB em drivers de cliente USB

Os artigos desta seção fornecem informações sobre tubos USB e URBs para solicitações de E/S e descrevem como um driver de cliente pode usar interfaces de driver de dispositivo (DDIs) para transferir dados de e para um dispositivo USB.

Uma transferência ocorre toda vez que os dados são movidos entre o controlador host e o dispositivo USB. Em geral, as transferências USB podem ser amplamente categorizadas em transferências de controle e transferências de dados. Todos os dispositivos USB devem suportar transferências de controle e podem suportar pontos finais para transferências de dados. Cada tipo de transferência está associado ao tipo de de ponto final USB (um buffer no dispositivo). A transferência de controle está associada ao ponto de extremidade padrão e as transferências de dados usam pontos de extremidade unidirecionais. Os tipos de transferência de dados utilizam terminais de interrupção, terminais de massa e terminais isócronos. A pilha de drivers USB cria um canal de comunicação chamado pipe para cada endpoint suportado pelo dispositivo. Uma extremidade do tubo é o ponto final do dispositivo. A outra extremidade do tubo é sempre o controlador host.

Antes de enviar solicitações de E/S para o dispositivo, o driver do cliente deve recuperar informações sobre configurações, interfaces, pontos de extremidade, o fornecedor e descritores específicos de classe de um dispositivo USB. Além disso, o driver também deve configurar o dispositivo. A configuração do dispositivo envolve tarefas como a seleção de uma configuração e uma configuração alternativa dentro de cada interface. Cada configuração alternativa pode especificar um ou mais pontos de extremidade USB que estão disponíveis para transferências de dados.

Para obter informações sobre a configuração do dispositivo, consulte Como selecionar uma configuração para um dispositivo USB e Como selecionar uma configuração alternativa em uma interface USB.

Depois que o driver do cliente tiver configurado o dispositivo, o driver terá acesso às alças de tubo criadas pela pilha de drivers USB para cada ponto de extremidade na configuração alternativa selecionada no momento. Para transferir dados para um endpoint, um driver de cliente cria uma solicitação formatando um URB específico para o tipo de solicitação.

Nesta secção

Artigo Descrição
Como enviar uma transferência de controlo USB Este artigo explica a estrutura de uma transferência de controle e como um driver de cliente deve enviar uma solicitação de controle para o dispositivo.
Como enumerar tubos USB Este artigo fornece uma visão geral dos tubos USB e descreve as etapas exigidas por um driver de cliente USB para obter alças de tubo da pilha de drivers USB.
Como usar o leitor contínuo para ler dados de um tubo USB Este artigo descreve o objeto de leitor contínuo fornecido pelo WDF. Os procedimentos neste artigo fornecem instruções passo a passo sobre como configurar o objeto e usá-lo para ler dados de um tubo USB.
Como enviar solicitações de transferência em massa USB Este artigo fornece uma breve visão geral sobre transferências em massa USB. Ele também fornece instruções passo a passo sobre como um driver de cliente pode enviar e receber dados em massa do dispositivo.
Como abrir e fechar fluxos estáticos num endpoint bulk USB Este artigo discute a capacidade de fluxos estáticos e explica como um driver de cliente USB pode abrir e fechar fluxos num endpoint bulk de um dispositivo USB 3.0.
Como transferir dados para terminais isócronos USB Este artigo descreve como um driver de cliente pode criar um USB Request Block (URB) para transferir dados de e para pontos finais isócronos em um dispositivo USB.
Como enviar MDLs encadeadas Neste artigo, você aprenderá sobre o recurso de MDLs encadeadas na pilha de drivers USB e como um driver de cliente pode enviar um buffer de transferência como uma cadeia de estrutura de MDL.
Como recuperar de erros de tubo USB Este artigo fornece informações sobre as etapas que você pode tentar quando uma transferência de dados para um tubo USB falha. Os mecanismos descritos neste artigo abrangem operações de abortamento, reinicialização e ciclo de portas em tubos a granel, de interrupção e isócronos.
Alocação de Largura de Banda USB Esta seção fornece orientação sobre o gerenciamento cuidadoso da largura de banda USB.