Partilhar via


Princípios de design e práticas recomendadas do DCH

Este artigo descreve os princípios de design e as práticas recomendadas para pacotes de driver compatíveis com DCH. DCH significa Declarativo (D), Componentizado (C) e Aplicação de Suporte de Hardware (H).

Princípios de design DCH

Há três princípios de design a serem considerados para que um pacote de driver seja compatível com DCH:

  • Declarativo: Instale o pacote de driver usando apenas diretivas INF declarativas. Não inclua coinstaladores ou funções RegisterDLL.

  • Componentizado: personalizações específicas da edição, específicas do OEM e opcionais para o pacote de driver são separadas do pacote de driver base. Como resultado, o pacote de driver básico, que fornece apenas a funcionalidade principal do dispositivo, pode ser direcionado, implementado e mantido independentemente das customizações existentes.

  • Aplicativo de suporte de hardware (HSA): Qualquer componente de interface do usuário (UI) associado a um pacote de driver deve ser empacotado como um HSA ou pré-instalado no dispositivo OEM. Uma HSA é uma aplicação opcional específica de dispositivo associada a um pacote de drivers. O aplicativo pode ser uma Plataforma Universal do Windows (UWP) ou um aplicativo Desktop Bridge criado com um pacote MSIX do seu código. Tem de distribuir e atualizar um HSA através da Microsoft Store. Para obter mais informações, consulte HSA: Etapas para desenvolvedores de drivers e HSA: Etapas para desenvolvedores de aplicativos.

Para ver como um exemplo de driver pode aplicar os princípios de design DCH, consulte o exemplo de pacote de driver compatível com DCH.

Visão geral do DCH

Os pacotes de driver compatíveis com DCH contêm um arquivo INF e binários que são instalados e executados em edições baseadas em UWP do Windows. Eles também instalam e executam em outras edições do Windows 10 e 11 que compartilham um conjunto comum de interfaces.

Os binários de driver compatíveis com DCH podem usar oKernel-Mode Driver Framework (KMDF), o User-Mode Driver Framework 2 (UMDF) ou o WDM (Windows Driver Model).

Os pacotes de drivers compatíveis com DCH consistem nas seguintes partes:

  • Um pacote de driver básico
  • Pacotes de componentes opcionais
  • Um aplicativo de suporte de hardware opcional

O pacote de driver base contém todas as funcionalidades principais e código compartilhado. Os pacotes de componentes opcionais podem conter personalizações e outras configurações.

Normalmente, um fabricante de dispositivo, ou fornecedor independente de hardware (IHV), grava o pacote de driver base. Em seguida, um construtor de sistemas, ou fabricante de equipamento original (OEM), fornece quaisquer pacotes de componentes opcionais.

Depois que um IHV certifica o pacote de driver básico, ele pode ser implantado em todos os sistemas OEM. Como um pacote de driver base pode ser usado em todos os sistemas que compartilham uma parte de hardware, a Microsoft pode testar o pacote de driver base amplamente. A Microsoft pode usar o Windows Insider voando, em vez de limitar a distribuição a máquinas específicas.

O OEM valida apenas as personalizações opcionais que fornece para o sistema OEM.

Requisitos do DCH

Para criar um pacote de driver que siga os princípios de design DCH, execute estas etapas:

  1. Crie um arquivo INF para seu pacote de driver:

    1. Revise a lista de seções e diretivas INF que são válidas em pacotes de drivers universais.

    2. Use a ferramenta InfVerif para verificar se o arquivo INF do pacote de driver segue os requisitos declarativos (D). O pacote deve passar a verificação pelo infverif /k comando.

  2. Certifique-se de que todos os pacotes de componentes opcionais que não contenham a funcionalidade do driver principal estejam separados do pacote de driver base.

  3. As aplicações de suporte de hardware associadas ao seu pacote de controladores têm de ser distribuídas através da Microsoft Store.

Melhores práticas do DCH

Ao desenvolver para conformidade com DCH, siga estas práticas recomendadas:

  • Se você usar o Kit de Driver do Windows (WDK) com a versão mais recente do Visual Studio, defina o valor da Plataforma de Destino nas propriedades do projeto de driver como Universal. Essa configuração adiciona automaticamente as bibliotecas corretas e executa a validação INF adequada e o ApiValidator como parte da compilação. Para concluir esta tarefa, siga estes passos:

    1. Abra as propriedades do projeto de driver.
    2. Selecione Configurações do driver.
    3. Utilize o menu suspenso para definir o valor Plataforma de destino como Universal.
  • Se o INF executar quaisquer ações de configuração personalizadas que dependam da plataforma de destino, considere separar as ações em uma extensão INF. Você pode atualizar uma extensão INF independentemente do pacote de driver base para torná-la mais robusta e útil. Para obter mais informações, consulte Usando um arquivo INF de extensão.

  • Se você quiser fornecer um aplicativo que funcione com seu dispositivo, inclua um HSA. Para obter mais informações, consulte HSA: etapas para desenvolvedores de drivers. Um OEM pode pré-carregar um aplicativo HSA usando o DISM (Gerenciamento e Manutenção de Imagens de Implantação) ou, os usuários podem baixar manualmente o aplicativo da Microsoft Store.