Componentes de um pacote de drivers

Um pacote de driver inclui todos os componentes de software que você deve fornecer para garantir que seu dispositivo seja compatível com o Windows. Normalmente, um pacote de driver contém os seguintes componentes:

  • Arquivo INF

  • Arquivo de catálogo

  • Arquivos do driver

  • Outros arquivos

Segue-se uma breve descrição de cada componente de um pacote de controlador.

O WDK inclui vários pacotes de driver de exemplo. Para obter mais informações, consulte Arquivos de instalação de dispositivo de exemplo

Arquivo INF

Cada pacote de driver deve incluir um arquivo INF, que os componentes de instalação do dispositivo leem ao instalar o dispositivo. Um arquivo INF não é um script de instalação. É um arquivo de texto ASCII ou Unicode (somente UTF-16) que fornece informações de dispositivo e driver, incluindo os arquivos de driver, entradas do Registro, IDs de dispositivo, arquivos de catálogo e informações de versão necessárias para instalar o pacote de driver em um dispositivo.

O conteúdo exato e o formato do arquivo INF dependem da classe de configuração do dispositivo que o INF declara estar dentro. Resumo das seções INF descreve as informações necessárias em cada tipo de INF. Em geral, as informações por fabricante estão localizadas em uma seção Modelos INF. As entradas na seção Modelos referem-se às seções INF DDInstall que contêm detalhes específicos do modelo.

A ferramenta InfVerif , que é fornecida no diretório \tools do Microsoft Windows Driver Kit (WDK), verifica a sintaxe e a estrutura de todas as seções e diretivas INF entre classes, juntamente com as extensões específicas de classe para todas as classes de instalação, exceto para impressoras.

Você pode usar um único arquivo INF para instalação em todas as versões do sistema operacional Windows. Para obter mais informações, consulte Criando arquivos INF para várias plataformas e sistemas operacionais. Se o seu dispositivo será vendido no mercado internacional, você deve criar um arquivo INF internacional. Dependendo das localidades envolvidas, um arquivo INF internacional pode ter que ser um arquivo Unicode (UTF-16) em vez de ASCII.

Uma boa maneira de criar um arquivo INF para o driver é modificar um dos exemplos fornecidos pelo WDK. A maioria dos drivers de exemplo WDK incluem arquivos INF no mesmo diretório que o driver de exemplo.

O arquivo INF do dispositivo deve conter, no mínimo, as seguintes informações:

  • Informações sobre em quais versões do sistema operacional o pacote de driver é suportado

  • O GUID da classe de instalação e a classe de instalação para o pacote de driver

  • Informações sobre a versão do pacote de driver

  • Os nomes dos arquivos de driver juntamente com seus locais de origem e destino

  • Informações específicas do dispositivo, incluindo ID de hardware e IDs compatíveis, que determinam a aplicabilidade do pacote de driver

  • O nome de um arquivo de catálogo (.cat)

  • Informações sobre como e quando carregar os serviços fornecidos por cada pacote de driver

Se o dispositivo estiver envolvido na inicialização do sistema, os requisitos de instalação serão diferentes. Consulte Instalando um driver de inicialização.

Para obter mais informações sobre arquivos INF, consulte Criando um arquivo INF, a documentação do InfVerif, a documentação específica do dispositivo no WDK e os arquivos INF fornecidos com drivers de exemplo para dispositivos semelhantes ao seu.

Arquivo de catálogo

Um arquivo de catálogo de driver contém um hash criptográfico de cada arquivo no pacote de driver. O Windows usa esses hashes para verificar se o pacote não foi alterado após sua publicação. Para garantir que o arquivo de catálogo não seja alterado, ele deve ser assinado digitalmente com uma assinatura digital confiável para os sistemas que devem usar esse pacote de driver.

Um fornecedor obtém assinaturas digitais de liberação enviando seu pacote de driver ao WHQL (Laboratório de Qualidade de Hardware do Windows) para teste e assinatura. WHQL retorna o pacote com um arquivo de catálogo (.arquivo cat ). Para obter mais informações, consulte Assinaturas de versão WHQL.

Para obter informações sobre como assinar drivers, consulte Assinando drivers para liberação pública e Assinando drivers durante o desenvolvimento e teste.

O arquivo INF deve fazer referência ao arquivo de catálogo com uma diretiva CatalogFile na seção Versão INF do INF.

Arquivos do driver

Na maioria dos casos, um pacote de driver conterá um ou mais serviços de driver que devem fazer parte da pilha de dispositivos para o dispositivo em que o pacote de driver está instalado. Para obter mais informações sobre serviços de driver, consulte Escolhendo um modelo de driver. O serviço de driver é a parte do pacote que fornece a interface de E/S para um dispositivo. Normalmente, um driver é uma biblioteca de vínculo dinâmico (DLL) com o .Extensão de nome de arquivo SYS . Nomes de arquivo longos são permitidos, exceto para drivers de inicialização de inicialização.

O software necessário para suportar um dispositivo específico depende dos recursos do dispositivo e do barramento ou porta ao qual ele se conecta. A Microsoft envia drivers para muitos dispositivos comuns. Se o dispositivo puder ser reparado por um desses drivers, talvez seja necessário escrever apenas um minidriver específico do dispositivo. Um minidriver manipula recursos específicos do dispositivo em nome de um driver fornecido pelo sistema. Para alguns tipos de dispositivos, mesmo um minidriver não é necessário. Por exemplo, modems normalmente podem ser suportados apenas com arquivos de instalação.

Outros arquivos

Um pacote de driver também pode conter outros arquivos, como configurações de calibração de hardware, um serviço Win32, um ícone de dispositivo ou um arquivo de biblioteca de driver (como para drivers de vídeo). Para obter mais informações, consulte o tópico a seguir:

Fornecendo ícones para um dispositivo