Compartilhar via


Usando o Visual Studio ou MSBuild para criar um driver

Este tópico fornece instruções sobre como criar um driver usando o ambiente de desenvolvimento do Visual Studio ou a partir da linha de comando usando a janela do prompt de comando do Visual Studio e o Mecanismo de Build da Microsoft (MSBuild).

Para desenvolver drivers para o Windows, você precisará instalar o SDK e o WDK no Visual Studio e definir as configurações do driver. Verifique se as versões do SDK e do WDK no computador correspondem.

Criar um driver usando o Visual Studio

Você cria um driver da mesma forma que cria qualquer projeto ou solução no Visual Studio. Quando você cria um novo projeto de driver usando um modelo de driver, o modelo define uma configuração de projeto padrão (ativa) e uma configuração de compilação de solução padrão (ativa).

Para obter informações sobre como gerenciar e editar configurações de compilação, consulte Compilando no Visual Studio.

Configurações do driver KMDF

Para definir as configurações do driver no VS 2022, clique com o botão direito do mouse no projeto do driver, selecione propriedades e navegue até Propriedades ->Propriedades de Configuração ->Configurações do Driver.

Configurações do Driver KMDF do Visual Studio.

Versão do Sistema Operacional de Destino

A Versão de Sistema Operacional de Destino refere-se à versão do Windows para a qual o driver está sendo desenvolvido. Defina a versão do sistema operacional de destino para a versão mais baixa com suporte do driver. Por exemplo, um driver para o Windows 10 deve oferecer suporte ao Windows 10 e a todas as versões posteriores.

Siga as orientações nestes tópicos para garantir que seu pacote de driver seja escrito corretamente para oferecer suporte a várias versões do Windows.

Plataforma de Destino

Existem 3 classificações para a plataforma de destino do Windows, Drivers Universais, Drivers de Área de Trabalho e Drivers do Windows.

  1. Os Drivers Universais devem:

  2. Os Drivers da Área de Trabalho devem:

    Os drivers que atendem aos critérios do Driver da Área de Trabalho são Certificados pelo Logotipo do Windows e podem ser adicionados ao programa Windows Update.

  3. Os Drivers do Windows devem:

    • Atenda a todos os requisitos dos Drivers da Área de Trabalho.
    • Ser totalmente compatível com os requisitos de Isolamento do Pacote de Driver.
    • Aprovado InfVerif /w
    • Os Drivers do Windows são a seleção de plataforma de destino mais restritiva e atendem a todos os requisitos de confiabilidade e facilidade de manutenção.

A tabela a seguir resume as classificações de driver.

Recurso Drivers Universais Drivers da Área de Trabalho Drivers do Windows
Comutador Infverif InfVerif /u InfVerif /h InfVerif /w
Requisito WHCP atual Não Sim Não
Com suporte a todas as variantes do sistema operacional Windows Não No Sim
Suporte a X64/ARM64 Sim Sim Yes
Conformidade com APIVALIDATOR necessária Não No Sim
Suporte ao sistema operaciona da área de trabalho (Versão do sistema operacional de destino) Sim Sim Yes
Suporte a exemplos de driver do GitHub Sim Sim Não

Configurações de driver

Ao criar drivers, verifique se a arquitetura e os NT_TARGET_VERSION de plataforma estão definidos corretamente no Visual Studio com WDK ou EWDK. A configuração de compilação de solução padrão para desenvolvimento é Depurar e Win64.

  1. Selecione e segure (ou clique com o botão direito do mous) a solução no Gerenciador de Soluções e selecione Gerenciador de Configurações.
  2. No Gerenciador de Configurações, select the Configuração de soluções ativas (for example, Depuração ou Versão) e a Plataforma de soluções ativas (por exemplo, Win64) que corresponde ao tipo de build em que você está interessado.
  3. Selecione e segure Propriedades. Navegue até Configurações de Driver ->Geral e defina Versão do Sistema Operacional de Destino e Plataforma de Destino.
  4. Configure as propriedades do projeto para seu driver ou pacote de driver. Você pode definir propriedades para implantação, assinatura de driver ou outras tarefas. Para obter mais informações, consulte Configurando propriedades do projeto para o driver e o pacote de driver.

Para compilar um driver

  1. Abra o projeto de driver ou uma solução no Visual Studio.
  2. No menu Compilar, selecione Compilar Solução (Ctrl+Shift+B).
  3. Exiba quaisquer erros de tempo de compilação na janela de saída do build.

Criando um driver usando a linha de comando (MSBuild)

Você pode criar um driver da linha de comando usando a janela do Prompt de Comando do Visual Studio e o Microsoft Build Engine (MSBuild)

Para criar um driver usando a janela do Prompt de Comando do Visual Studio

  1. Abra uma janela do Prompt de Comando do Desenvolvedor para VS2022.

    Nessa janela, você pode usar MSBuild.exe para criar qualquer projeto do Visual Studio especificando o arquivo de projeto (.vcxproj) ou de soluções (.sln).

  2. Navegue até o diretório do projeto e insira o comando MSBuild para seu destino.

    Por exemplo, para executar uma compilação limpa de um projeto de driver do Visual Studio chamado MyDriver.vcxproj usando a plataforma e configuração padrão, navegue até o diretório do projeto e digite o seguinte comando do MSBuild:

    msbuild /t:clean /t:build .\MyDriver.vcxproj
    

    Para especificar uma configuração e uma plataforma específicas, use:

    msbuild /t:clean /t:build ProjectFile /p:Configuration=<Debug|Release> /p:Platform=architecture /p:TargetPlatformVersion=a.b.c.d /p:TargetVersion=OS    
    

    O comando a seguir cria um driver para a configuração "Depurar", para a plataforma "Win32" e para o Windows 10.

    msbuild /t:clean /t:build .\MyDriver.vcxproj /p:Configuration="Debug" /p:Platform=Win32 /p:TargetVersion="Windows10" /p:TargetPlatformVersion="10.0.10010.0"
    

    A configuração de TargetPlatformVersion é opcional e especifica a versão do kit com a qual compilar. O padrão é a última versão do kit.

Configurando as propriedades do projeto para seu driver e pacote de driver

Use páginas de propriedades para configurar e definir opções para seu driver e pacote de driver. Você pode optar por configurar o driver para que ele seja assinado automaticamente ao criar sua solução ou implantado automaticamente em um computador de teste remoto.

Você pode definir propriedades para um driver individual ou para um pacote de driver inteiro. A seção a seguir mostra algumas das propriedades disponíveis que você pode configurar especificamente para drivers e pacotes de driver.

Propriedades do Projeto de Driver

Propriedades do pacote de driver

Integração do projeto da ferramenta de linha de comando do WDK

O WDK fornece várias ferramentas de linha de comando, como Stampinf e Pré-processador WPP (rastreamento WPP), que são comumente incluídas no processo de compilação. Essas ferramentas não são distribuídas com o Visual Studio. Para combinar essas ferramentas com o ambiente de compilação do Visual Studio, elas são encapsuladas como tarefas do WDK para MSBuild. Se você usar um dos modelos de driver ou tiver um driver existente que você converteu, essas páginas de propriedades poderão já existir para o seu projeto. Caso contrário, as páginas de propriedades são adicionadas automaticamente ao seu projeto à medida que você adiciona os tipos de arquivo relacionados ao projeto ou solução (por exemplo, arquivos .mc ou .man para o compilador de mensagens). Para obter mais informações, consulte WDK e o ambiente de compilação do Visual Studio.

Dica para solucionar problemas de compilação de um driver

Para ajudar a solucionar problemas de compilação, você pode aumentar o detalhamento da saída de compilação no Visual Studio:

  1. Selecione Ferramentas ->Opções.
  2. Selecione a pasta Projeto e Soluções e selecione Compilar e Executar.
  3. Altere as opções para o detalhamento de saída de compilação do projeto MSBuild e o detalhamento do arquivo de log de compilação do projeto MSBuild. Por padrão, eles são definidos como Mínimo.

Atualizando drivers do Windows 8

Você pode converter projetos e soluções criados com o WDK 8 ou o Windows Driver Kit (WDK) 8.1 para trabalhar com o WDK (Kit de Driver do Windows) 10 e o Visual Studio. Antes de abrir os projetos ou soluções, execute o ProjectUpgradeTool. O ProjectUpgradeTool converte os projetos e soluções para que eles possam ser criados usando o WDK 10.

Iniciando no WDK (Kit de Driver do Windows) 8, o MSBuild substituiu o Windows Build Utility (Build.exe). O WDK usa o mesmo compilador e ferramentas de compilação que você usa para criar projetos do Visual Studio. Projetos de driver que foram criados com versões anteriores do WDK devem ser convertidos para funcionar no ambiente do Visual Studio. Você pode executar um utilitário de conversão da linha de comando ou você pode converter um driver existente criando um novo projeto do Visual Studio de fontes existentes. Para obter mais informações, consulte Criando um driver de arquivos de origem existentes e WDK e o ambiente de compilação do Visual Studio.