Princípios de design DCH e práticas recomendadas

esta página descreve os princípios de design e as práticas recomendadas para Drivers de Windows.

Princípios de design DCH

há três princípios de design a serem considerados para que um Windows Driver seja compatível com DCH:

  • Declarativo (D): Instale o driver usando apenas as diretivas inf declarativas. Não inclua coinstaladores ou funções RegisterDll.

  • Componented (C): a edição específica, específica do OEM e personalizações opcionais para o driver são separadas do pacote de driver base. Como resultado, o driver base, que fornece apenas a funcionalidade de dispositivo principal, pode ser direcionado, comprovado e atendido independentemente das personalizações.

  • aplicativo de suporte de Hardware (H): qualquer componente de interface do usuário associado a um Driver Windows deve ser empacotado como um aplicativo de suporte de Hardware (HSA) ou pré-instalado no dispositivo OEM. Um HSA é um aplicativo opcional específico do dispositivo que é emparelhado com um driver. o aplicativo pode ser um Plataforma Universal do Windows (UWP) ou Ponte de Desktop aplicativo. Você deve distribuir e atualizar um HSA por meio do Microsoft Store. Para obter detalhes, consulte aplicativo de suporte de hardware (HSA): etapas para desenvolvedores de driver e HSA (aplicativo de suporte de hardware): etapas para desenvolvedores de aplicativos.

O acrônimo "DCH" refere-se aos princípios listados acima. Consulte a página de exemplo de pacote de driver compatível com dch para ver como um exemplo de driver pode aplicar princípios de design dch.

Visão geral

os pacotes de Driver que são compatíveis com DCH contêm um arquivo INF e binários que são instalados e executados em edições baseadas em Plataforma Universal do Windows (UWP) do Windows. eles também são instalados e executados 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 KMDF, UMDF 2ou o Windows Driver Model (WDM).

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

  • Um driver base
  • Pacotes de componentes opcionais
  • Um aplicativo de suporte de hardware opcional

O driver base contém toda a funcionalidade básica e o código compartilhado. Os pacotes de componentes opcionais podem conter personalizações e configurações adicionais.

Normalmente, um fabricante de dispositivo ou um fornecedor de hardware independente (IHV), grava o driver base. Em seguida, um System Builder, ou OEM (fabricante original do equipamento), fornece pacotes de componentes opcionais.

Depois que um IHV tiver certificado o pacote de driver base, ele poderá 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 por meio do Windows o flighting insider, em vez de limitar a distribuição a computadores específicos.

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

Requisitos

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

  • Crie um arquivo INF para seu driver:
    1. examine a lista de seções INF e diretivas que são válidas em pacotes de Driver Windows.
    2. Use a ferramenta InfVerif para verificar se o arquivo INF do pacote de driver segue os requisitos declarativos (D) para Drivers de Windows. Ele deve passar infverif /w .
  • Verifique se os pacotes de componentes opcionais que não contêm a funcionalidade do driver principal estão separados do pacote de driver base.
  • Os aplicativos de suporte de hardware associados ao pacote de driver devem ser distribuídos por meio do Microsoft Store.

Práticas recomendadas

  • se você estiver usando o Windows Driver Kit (WDK) com os Visual Studio mais recentes disponíveis, defina o valor da plataforma de destino nas propriedades do projeto de Driver como Windows Driver . Isso adiciona automaticamente as bibliotecas corretas e executa a validação de INF apropriada e ApiValidator como parte da compilação. Para fazer isso:

    1. Abra as propriedades do projeto de driver.
    2. selecione Configurações de Driver.
    3. Use o menu suspenso para definir a plataforma de destino como Windows Driver .
  • Se o INF executar qualquer ação de instalação personalizada que dependa da plataforma de destino, considere separá-las em um INF de extensão. Você pode atualizar um INF de extensão independentemente do pacote de driver base para torná-lo mais robusto e pode ser atendido. 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 aplicativo UWP. Para obter mais informações, consulte hardware support app (HSA): etapas para desenvolvedores de driver. Um OEM pode pré-carregar esse aplicativo usando o DISM-gerenciamento e manutenção de imagens de implantação. Ou, os usuários podem baixar manualmente o aplicativo do Microsoft Store.

  • Na seção inf DestinationDirs, defina os diretórios de destino como dirid 13 para fazer com que o driver seja executado no repositório de drivers. Essa configuração não funcionará para alguns dispositivos.