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 do dispositivo são diferentes dos drivers de filtro, dos drivers de software e dos drivers do 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 seu dispositivo se encaixa na lista de tecnologias descritas em Tecnologias de Dispositivo e Driver. Para saber mais sobre 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 usar o UMDF (User Mode Driver Framework) ou o KMDF (Kernel Mode Driver Framework). Para outras tecnologias, a documentação explica como criar um minidriver que faz parte de um par de driver. Os minidrivers passam por vários nomes, incluindo miniporte e miniclasse.
Determine quais dos seguintes casos descrevem a recomendação do modelo de driver e siga as etapas:
Caso 1: a documentação da sua tecnologia recomenda o UMDF
- Inicie o Visual Studio.
- Escolha Criar um novo projeto na caixa de diálogo de inicialização ou selecione Novo | Projeto no menu Arquivo do Visual Studio.
- No painel direito da caixa de diálogo Criar um novo projeto , localize e selecione Driver de Modo de Usuário (UMDF V2).
- Selecione Avançar.
- 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. Esse limite de comprimento é definido em wdfglobals.h.
- 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 específico para seu dispositivo. Consulte a documentação de sua tecnologia para saber mais sobre as interfaces que você precisa implementar.
Caso 2: a documentação da sua tecnologia recomenda o KMDF
- Inicie o Visual Studio.
- Escolha Criar um novo projeto na caixa de diálogo de inicialização ou selecione Novo | Projeto no menu Arquivo do Visual Studio.
- No painel direito da caixa de diálogo Criar um novo projeto, localize e selecione KmDF (Driver do Modo Kernel).
- Selecione Avançar.
- 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. Esse limite de comprimento é definido em wdfglobals.h.
- 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 específico para seu dispositivo. Consulte a documentação de 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 um miniporto, uma miniclasse ou algum outro modelo de minidriver, marcar para ver se o Visual Studio tem um modelo específico para o modelo.
- Inicie o Visual Studio.
- Escolha Criar um novo projeto na caixa de diálogo de inicialização ou selecione Novo | Projeto no menu Arquivo do Visual Studio.
- No painel direito da caixa de diálogo Criar um novo projeto , procure a lista de modelos instalados para encontrar um modelo para o tipo de driver que você precisa gravar.
- Se você encontrar um modelo para o tipo de driver, selecione-o.
- Selecione Avançar.
- Preencha as caixas Nome do projeto, Local e Nome da solução e selecione Criar.
- Se você tiver um assistente de driver, percorra o assistente para criar seu projeto de driver.
- Neste ponto, você tem um projeto de driver que implementa o código geral exigido pelo driver. Agora você pode fornecer o código específico para seu dispositivo. Consulte a documentação de sua tecnologia para saber mais sobre as funções que você precisa implementar.
Se a tecnologia do dispositivo tiver um modelo de minidriver e você não conseguir encontrar um modelo específico para seu tipo de minidriver, o modelo WDM (Modelo de Driver do Windows) provavelmente será seu ponto de partida. Consulte a documentação específica da tecnologia para obter diretrizes. Em casos raros, você pode usar KMDF para gravar um minidriver, mas geralmente o ponto de partida é WDM.
- Inicie o Visual Studio.
- Escolha Criar um novo projeto na caixa de diálogo de inicialização ou selecione Novo | Projeto no menu Arquivo do Visual Studio.
- No painel direito da caixa de diálogo Criar um novo projeto , localize e selecione Driver WDM vazio.
- Selecione Avançar.
- Preencha as caixas Nome do projeto, Local e Nome da solução e selecione Criar.
- 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 do driver e escolha Adicionar | Novo Item.
- 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, insira um nome que tenha a extensão .c .
- Consulte a documentação de sua tecnologia para saber mais sobre as funções que você precisa implementar. Ao implementar e organizar suas funções, você pode decidir adicionar mais arquivos .cpp ou .c.