Partilhar via


Visão geral do desenvolvimento de drivers do Windows para controladores de função USB

Este artigo descreve o suporte no sistema operacional Windows, para desenvolver um driver de controlador de função USB (Universal Serial Bus) que se comunica com a extensão de controlador de função USB (UFX) fornecida pela Microsoft.

Ferramentas de desenvolvimento e binários fornecidos pela Microsoft

O Kit de Driver do Windows (WDK) contém recursos necessários para o desenvolvimento de drivers, como cabeçalhos, bibliotecas, ferramentas e exemplos.

Baixar kits e ferramentas para Windows

O Windows fornece drivers de controlador de função USB internos, como o UfxSynopsys.sys, para o hardware de controladores da Synopsys IP. Eles geralmente exigem alterações no nível da plataforma e validação que normalmente são realizadas por parceiros de hardware ou OEMs ao abrir uma plataforma. Esse processo de ativação pode incluir a integração com ACPI para notificar os drivers do sistema sobre eventos de conexão/desconexão USB e a execução de validação adicional usando testes HLK fornecidos pela Microsoft. Para escrever seu próprio driver de controlador, você precisa:

  • UFX (Ufx01000.sys) carregado como o FDO. Este driver está incluído no Windows.
  • Link para a biblioteca de stub (Ufx01000.lib). A biblioteca de stub está no WDK. A biblioteca traduz as chamadas feitas pelo driver do controlador de função e as passa para a UFX.
  • Inclua Ufxclient.h fornecido no WDK.

Para enviar solicitações do modo de usuário, você precisa:

  • GenericUSBFn.sys carregado como o driver da classe de função USB. Este driver está incluído no Windows.
  • Inclua o arquivo Genericusbfnioctl.h, fornecido no WDK.

Para enviar solicitações do driver de classe USB, você precisa:

  • UFX (Ufx01000.sys) carregado como o FDO. Este driver está incluído no Windows.
  • Inclua o arquivo Usbfnioctl.h fornecido no WDK.

Para escrever um driver de filtro que lida com o carregamento através de carregadores proprietários, você precisa:

  • Ou UfxChipidea.sys ou Ufxsynopsys.sys foi carregado como o driver do cliente para a UFX.
  • Inclua o ficheiro Ufxproprietarycharger.h fornecido no WDK.

Arquitetura de UFX

Familiarize-se com a pilha de drivers USB fornecida pela Microsoft:

Drivers para dispositivos USB no Windows

Habitue-se com objetos e manipuladores UFX

O UFX estende a funcionalidade de objeto WDF para definir seus próprios objetos UCX específicos para USB. Para obter mais detalhes sobre objetos WDF, consulte Introdução aos objetos do Framework.

Para solicitudes em fila, UFX usa objetos específicos para USB. Para obter mais informações, objetos e alças UFX usados por um driver de cliente de função USB.

Escrevendo um driver cliente para controlador de funções

Entenda o comportamento do UFX, como ele interage com o driver do cliente e os recursos que se espera que o driver do cliente implemente.

Tarefas para um controlador de tarefas do cliente

Secções de referência de programação

Driver de classe de função USB para referência de programação UFX

Referência de programação do driver cliente do controlador de funções USB

Driver de filtro USB compatível com carregadores proprietários