Compartilhar via


Criar um driver do Windows

Você pode usar o Microsoft Visual Studio 2019 junto com o WDK (Kit de Driver do Windows) versão 2004 para criar Drivers do Windows. Você pode baixar kits e ferramentas do Centro de Desenvolvimento para Hardware do Windows.

Em muitos casos, você pode recompilar um driver do modo kernel herdado como um Driver do Windows, desde que o driver não funcione com nenhum componente do modo de usuário. Os drivers WDM e KMDF herdados devem ser recompilados como Drivers do Windows direcionados ao Windows 10 sem a necessidade de conversão. Embora os drivers possam ser compilados sem qualquer conversão, isso não significa que o driver atenda a todos os requisitos para Drivers do Windows. Consulte Introdução ao desenvolvimento de drivers do Windows para obter detalhes sobre os requisitos de Drivers do Windows.

Por outro lado, os drivers de modo de usuário existentes podem exigir modificação para serem compilados como Drivers do Windows. Especificamente, seu pacote de driver não deve ter dependências fora da UWP. Por exemplo, apenas algumas das APIs do Win32 fazem parte da UWP.

Converter um projeto de driver existente em um projeto de Driver do Windows

  1. No Visual Studio 2019, abra o projeto do driver existente.
  2. No painel Gerenciador de Soluções, mantenha a solução selecionada (ou clique com o botão direito do mouse) e escolha Gerenciador de Configurações. Defina o sistema operacional de destino como Windows 10.
  3. Mantenha o projeto do driver selecionado (ou clique com o botão direito do mouse nele) e escolha a opção Propriedades. Em Propriedades de Configuração->Driver, verifique se a plataforma de destino está definida como Drivers do Windows. Para criar um driver que é executado apenas no Windows 10 para edições de desktop, selecione Desktop.
  4. Crie o driver. Você pode ver erros do vinculador.
  5. Corrija os erros um por um passando pelo log de erros. Consulte as páginas de referência individuais na documentação para obter possíveis APIs alternativas. Se as substituições não estiverem disponíveis, talvez seja necessário reprojetar seu driver.

Criar um novo projeto de Driver do Windows no Microsoft Visual Studio.

  1. Crie um novo driver com base em um modelo (Arquivo->Novo Projeto->Criar Novo Projeto>Tipo de Projeto->Driver->Selecione o modelo de interesse).

  2. Depois de criar o projeto, no painel Gerenciador de Soluções, mantenha a solução selecionada (ou clique com o botão direito do mouse nele) e escolha Gerenciador de Configurações. Defina Configuração da solução ativa para a versão do Windows de destino desejada e defina a Plataforma de solução ativa como Win32 ou x64. Se Arm não estiver listado, escolha <Novo...> para compilar para Arm.

    Se você escolher Windows 10, o modelo do driver será padronizado como Universal.

    Para alterar o modelo de driver manualmente, mantenha selecionado o projeto de driver (ou clique com o botão direito do mouse nele) e escolha Propriedades. Em Propriedades de Configuração->Configurações do Driver->Geral, localize a entrada da Plataforma de Destino. Escolha Driver do Windows. O Microsoft Visual Studio usa essa configuração para determinar quais bibliotecas vincular.

    Observação Você não pode criar um Driver do Windows para versões do Windows anteriores ao Windows 10 versão 1809.

  3. Talvez seja necessário modificar o arquivo .inf para especificar o provedor, especificado como um token %ManufacturerName% que é expandido posteriormente na seção Cadeias de caracteres. Por exemplo:

    Provider="Contoso"
    
  4. Agora você pode criar a solução. O Visual Studio vincula-se às bibliotecas necessárias e gera um arquivo .cat, um arquivo .inf e um binário de driver.

Criar um novo aplicativo universal ou projeto DLL no Microsoft Visual Studio

  1. Crie um novo driver com base em um modelo (Arquivo->Novo Projeto->Criar Novo Projeto->Tipo de Projeto->Driver->Selecione o modelo de interesse) e escolha Aplicativo da Área de Trabalho Vazio para Drivers (Universal) ou Dll Vazia para Drivers (Universal).
  2. Depois de criar o projeto, no painel Gerenciador de Soluções, mantenha a solução selecionada (ou clique com o botão direito do mouse nele) e escolha Gerenciador de Configurações. Defina Configuração da solução ativa para a versão do Windows de destino desejada e defina a Plataforma de solução ativa como Win32 ou x64. Se Arm não estiver listado, escolha <Novo...> para compilar para Arm. Se você escolher Windows 10, o modelo do aplicativo será padronizado como Universal. Para alterar a plataforma de destino manualmente, mantenha o projeto de driver selecionado (ou clique com o botão direito do mouse nele) e escolha Propriedades. Em Propriedades de Configuração->Configurações do Driver->Geral, localize a entrada da Plataforma de Destino.
  3. Compile a solução.

Para obter informações sobre as definições de configuração que você pode usar no Visual Studio ao criar seu driver, consulte Criar um driver com o WDK.