Partilhar via


Criando um novo driver de função de dispositivo

Neste artigo, explicamos como usar o Visual Studio para começar a escrever um novo driver de função de dispositivo. Os drivers de função de dispositivo são diferentes dos drivers de filtro, drivers de software e drivers de sistema de arquivos, que abordamos em outros artigos. Para saber mais sobre drivers de função de dispositivo e como eles diferem de outros tipos de drivers, consulte O que é um driver?, Escolhendo um modelo de driver e Nós de dispositivo e Pilhas de dispositivos.

Para começar, determine onde o dispositivo se encaixa na lista de tecnologias descritas em Tecnologias de dispositivo e driver. Para saber quais modelos de driver estão disponíveis para seu dispositivo, consulte a documentação dessa tecnologia específica. O modelo de driver recomendado varia de uma tecnologia para outra. Para algumas tecnologias, a documentação recomenda o uso do User Mode Driver Framework (UMDF) ou do Kernel Mode Driver Framework (KMDF). Para outras tecnologias, a documentação explica como criar um minidriver que faz parte de um par de drivers. Minidrivers são conhecidos por vários nomes, incluindo miniport e miniclass.

Determine qual dos seguintes casos descreve a recomendação do modelo de driver e siga as etapas:

Caso 1: A documentação da sua tecnologia recomenda UMDF

  1. Inicie o Visual Studio.
  2. Escolha Criar um novo projeto na caixa de diálogo de inicialização ou selecione Novo | Projete a partir do menu Arquivo do Visual Studio.
  3. No painel direito da caixa de diálogo Criar um novo projeto, localize e selecione Driver do Modo de Usuário (UMDF V2).
  4. Selecione Seguinte.
  5. Preencha as caixas Nome do projeto, Local e Nome da solução e selecione Criar. Para obter mais informações, consulte Escrevendo um driver UMDF com base em um modelo.

    Observação

    Ao criar um novo driver UMDF, você deve selecionar um nome de driver que tenha 32 caracteres ou menos. Este limite de comprimento é definido em wdfglobals.h.

  6. Neste ponto, você tem um projeto de driver que implementa o código geral exigido pela maioria dos drivers UMDF. Agora você pode fornecer o código que é específico para o seu dispositivo. Consulte a documentação da sua tecnologia para saber mais sobre as interfaces que você precisa implementar.

Caso 2: A documentação da sua tecnologia recomenda KMDF

  1. Inicie o Visual Studio.
  2. Escolha Criar um novo projeto na caixa de diálogo de inicialização ou selecione Novo | Projete a partir do menu Arquivo do Visual Studio.
  3. No painel direito da caixa de diálogo Criar um novo projeto, localize e selecione Driver do Modo Kernel (KMDF).
  4. Selecione Seguinte.
  5. Preencha as caixas Nome do projeto, Local e Nome da solução e selecione Criar. Para obter mais informações, consulte Escrevendo um driver KMDF com base em um modelo.

    Observação

    Ao criar um novo driver KMDF, você deve selecionar um nome de driver que tenha 32 caracteres ou menos. Este limite de comprimento é definido em wdfglobals.h.

  6. Neste ponto, você tem um projeto de driver que implementa o código geral exigido pela maioria dos drivers KMDF. Agora você pode fornecer o código que é específico para o seu dispositivo. Consulte a documentação da sua tecnologia para saber mais sobre os métodos que você precisa implementar.

Caso 3: A documentação da sua tecnologia descreve um modelo de minidriver

Se a tecnologia do dispositivo tiver uma miniporta, uma miniclasse, ou outro tipo de minidriver, confirme se o Visual Studio tem um modelo específico para esse modelo.

  1. Inicie o Visual Studio.
  2. Escolha Criar um novo projeto na caixa de diálogo de inicialização ou selecione Novo | Projete a partir do menu Arquivo do Visual Studio.
  3. No painel direito da caixa de diálogo Criar um novo projeto , navegue pela lista de modelos instalados para encontrar um modelo para o tipo de driver que você precisa escrever.
  4. Se você encontrar um modelo para o seu tipo de driver, selecione-o.
  5. Selecione Seguinte.
  6. Preencha as caixas Nome do projeto, Local e Nome da solução e selecione Criar.
  7. Se for apresentado um assistente de instalação do driver, percorra o assistente para criar o seu projeto de driver.
  8. Neste ponto, você tem um projeto de driver que implementa o código geral exigido pelo driver. Agora você pode fornecer o código que é específico para o seu dispositivo. Consulte a documentação da sua tecnologia para saber mais sobre as funções que você precisa implementar.

Se a tecnologia do seu dispositivo tiver um modelo de minidriver e você não conseguir encontrar um modelo específico para o seu tipo de minidriver, o modelo WDM (Windows Driver Model) provavelmente será o seu ponto de partida. Consulte a documentação específica da tecnologia para obter orientação. Em casos raros, você pode usar KMDF para escrever um minidriver, mas geralmente o ponto de partida é WDM.

  1. Inicie o Visual Studio.
  2. Escolha Criar um novo projeto na caixa de diálogo de inicialização ou selecione Novo | Projete a partir do menu Arquivo do Visual Studio.
  3. No painel direito da caixa de diálogo Criar um novo projeto, localize e selecione Driver WDM Vazio.
  4. Selecione Seguinte.
  5. Preencha as caixas Nome do projeto, Local e Nome da solução e selecione Criar.
  6. Neste ponto, você tem um projeto de driver WDM vazio. Na janela Gerenciador de Soluções, clique com o botão direito do mouse no projeto de driver e escolha Adicionar | Novo item.
  7. Na caixa de diálogo Adicionar Novo Item , insira um nome para o arquivo .cpp e selecione Adicionar.

    Observação

    Se você quiser criar um arquivo .c em vez de um arquivo .cpp, digite um nome que tenha a extensão .c .

  8. Consulte a documentação da sua tecnologia para saber mais sobre as funções que você precisa implementar. À medida que implementa e organiza as suas funções, pode decidir adicionar mais ficheiros .cpp ou .c.