Principes de conception DCH et meilleures pratiques

Cette page décrit les principes de conception et les meilleures pratiques pour les packages de pilotes compatibles DCH.

Principes de conception DCH

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

  • Déclaratif (D) : installez le package de pilotes en utilisant uniquement des directives INF déclaratives. N’incluez pas de co-programme d’installation ou de fonctions RegisterDll.

  • Componentized (C) : les personnalisations spécifiques aux éditions, oem et facultatives du package de pilotes sont distinctes du package de pilotes de base. Par conséquent, le package de pilote de base, qui fournit uniquement les fonctionnalités principales de l’appareil, peut être ciblé, testé et traité indépendamment des personnalisations.

  • Application de support matériel (H) : tout composant d’interface utilisateur associé à un package de pilotes doit être empaqueté en tant qu’application de support matériel (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 plateforme Windows universelle (UWP) ou Pont du bureau. Vous devez distribuer et mettre à jour un HSA via le Microsoft Store. Pour plus d’informations, consultez Application de support matériel (HSA) : étapes pour les développeurs de pilotes et Application de support matériel (HSA) : étapes pour les développeurs d’applications.

L’acronyme « DCH » fait référence aux principes listés ci-dessus. Reportez-vous à la page Exemple de package de pilotes compatible DCH pour voir comment un exemple de pilote peut appliquer les principes de conception DCH.

Vue d’ensemble

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 plateforme Windows universelle (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 KMDF, UMDF 2 ou le modèle de pilote Windows (WDM).

Les packages de pilotes compatibles DCH se composent des éléments suivants :

  • Package de pilotes de base
  • Packages de composants facultatifs
  • 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 des paramètres supplémentaires.

En règle générale, un fabricant d’appareil ou un fournisseur de matériel indépendant (IHV) écrit le package de pilotes de base. Ensuite, un constructeur de 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 pilote de base à grande échelle via la version d’évaluation 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 créer un package de pilotes qui suit les principes de conception DCH, procédez comme suit :

  • Créez un fichier INF pour votre package de pilotes :
    1. Passez en revue la liste des sections et directives INF qui sont valides dans les packages de pilotes universels.
    2. Utilisez l’outil InfVerif pour vérifier que le fichier INF de votre package de pilotes respecte les exigences déclaratives (D). Il doit passer infverif /k.
  • Assurez-vous 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.
  • Les applications de prise en charge matérielle associées à votre package de pilotes doivent être distribuées via le Microsoft Store.

Bonnes pratiques

  • Si vous utilisez le Kit de pilotes Windows (WDK) avec la dernière version de Visual Studio disponible, définissez la valeur Plateforme cible dans les propriétés du projet de pilote sur Universal. Cela ajoute automatiquement les bibliothèques appropriées et exécute la validation INF et ApiValidator appropriées dans le cadre de la génération. Pour ce faire :

    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 Plateforme cible sur Universal.
  • Si votre INF effectue des actions d’installation personnalisées qui dépendent de la plateforme cible, envisagez de les séparer en un 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 facile à gérer. Pour plus d’informations, consultez Utilisation d’un fichier INF d’extension.

  • Si vous souhaitez fournir une application qui fonctionne avec votre appareil, incluez une application de support matériel. Pour plus d’informations, consultez Application de prise en charge matérielle (HSA) : étapes pour les développeurs de pilotes. Un oem peut précharger une telle application à l’aide de DISM - Deployment Image Servicing and Management. Les utilisateurs peuvent également télécharger manuellement l’application à partir du Microsoft Store.