Partager via


Principes et bonnes pratiques de conception DCH

Cet article décrit les principes de conception et les meilleures pratiques pour les packages de pilotes conformes au DCH. DCH signifie Déclaratif (D), Componentisé (C) et Application de Support Matériel (H).

Principes de conception DCH

Il existe trois principes de conception à prendre en compte pour qu’un package de pilotes soit conforme au DCH :

  • Déclaratif : installez le package de pilotes à l’aide uniquement de directives INF déclaratives. N’incluez pas de coinstallateurs ou de fonctions RegisterDll.

  • Componentized : Les personnalisations spécifiques à l’édition, spécifiques à OEM et facultatives au package de pilotes sont distinctes du package de pilotes de base. Par conséquent, le package de pilote de base, qui fournit uniquement des fonctionnalités de base du périphérique, peut être ciblé, mis en test et géré indépendamment des personnalisations.

  • Application de support matériel (HSA) : tout composant d’interface utilisateur associé à un package de pilotes doit être empaqueté en tant que HSA ou préinstallé sur l’appareil OEM. Un HSA est une application facultative spécifique à l’appareil associée à un package de pilotes. L’application peut être une application UWP (Universal Windows Platform) ou Desktop Bridge créée avec un package MSIX à partir de votre code. Vous devez distribuer et mettre à jour un HSA via le Microsoft Store. Pour plus d’informations, consultez HSA : Étapes pour les développeurs de pilotes et HSA : Étapes pour les développeurs d’applications.

Pour voir comment un exemple de pilote peut appliquer des principes de conception DCH, consultez l’exemple de package de pilotes compatible DCH.

Vue d’ensemble de DCH

Les packages de pilotes compatibles DCH contiennent un fichier INF et des fichiers binaires qui installent et s’exécutent sur des éditions basées sur UWP de Windows. Ils installent et s’exécutent également sur d’autres éditions de Windows 10 et 11 qui partagent un ensemble commun d’interfaces.

Les fichiers binaires de pilotes compatibles DCH peuvent utiliser Kernel-Mode Driver Framework (KMDF), User-Mode Driver Framework 2 (UMDF) ou le modèle de pilote Windows (WDM).

Les packages de pilotes compatibles DCH se composent des parties suivantes :

  • Package de pilote de base
  • Packages de composants facultatifs
  • Une application de prise en charge matérielle facultative

Le package de pilote de base contient toutes les fonctionnalités principales et le code partagé. Les packages de composants facultatifs peuvent contenir des personnalisations et d’autres paramètres.

En règle générale, un fabricant d’appareils ou un fournisseur de matériel indépendant (IHV), écrit le package de pilotes de base. Ensuite, un constructeur système ou un fabricant d’équipement d’origine (OEM) fournit tous les packages de composants facultatifs.

Une fois qu’un IHV a certifié le package de pilotes de base, il peut être déployé sur tous les systèmes OEM. Étant donné qu’un package de pilotes de base peut être utilisé sur tous les systèmes qui partagent un composant matériel, Microsoft peut tester le package de pilotes de base à grande échelle. Microsoft peut utiliser le vol Windows Insider, plutôt que de limiter la distribution à des machines spécifiques.

L’OEM valide uniquement les personnalisations facultatives qu’il fournit pour le système OEM.

Configuration requise pour le DCH

Pour créer un package de pilotes qui suit les principes de conception DCH, procédez comme suit :

  1. Créez un fichier INF pour votre paquet de pilotes :

    1. Passez en revue la liste des sections et directives INF valides dans les packages de pilotes universels.

    2. Utilisez l’outil InfVerif pour vérifier que le fichier INF de votre package de pilotes suit les exigences déclaratives (D). Le package doit passer la vérification par la infverif /k commande.

  2. Vérifiez que tous les packages de composants facultatifs qui ne contiennent pas de fonctionnalités de pilote de base sont séparés du package de pilotes de base.

  3. Les applications de prise en charge matérielle associées à votre package de pilotes doivent être distribuées via le Microsoft Store.

Bonnes pratiques de DCH

Lorsque vous développez en vue de la conformité DCH, suivez ces meilleures pratiques :

  • Si vous utilisez le Kit de pilotes Windows (WDK) avec la dernière version de Visual Studio, définissez la valeur de Plateforme cible dans les propriétés du projet de pilote sur Universal. Ce paramètre ajoute automatiquement les bibliothèques appropriées et exécute la validation INF appropriée et ApiValidator dans le cadre de la génération. Pour effectuer cette tâche, procédez comme suit :

    1. Ouvrez les propriétés du projet de pilote.
    2. Sélectionnez Paramètres du pilote.
    3. Utilisez le menu déroulant pour définir la valeur de la plateforme cible sur Universal.
  • Si votre INF effectue des actions de configuration personnalisées qui dépendent de la plateforme cible, envisagez de séparer les actions en des INF d’extension. Vous pouvez mettre à jour une extension INF indépendamment du package de pilotes de base pour la rendre plus robuste et plus utilisable. Pour plus d’informations, consultez Utilisation d’un fichier INF d’extension.

  • Si vous souhaitez fournir une application qui fonctionne avec votre appareil, incluez un HSA. Pour plus d’informations, consultez HSA : Étapes pour les développeurs de pilotes. Un OEM peut précharger une application HSA à l’aide de Deployment Image Servicing and Management (DISM) ou, les utilisateurs peuvent télécharger manuellement l’application à partir du Microsoft Store.