DCH-Entwurfsprinzipien und bewährte Methoden

Auf dieser Seite werden Entwurfsprinzipien und bewährte Methoden für DCH-konforme Treiberpakete beschrieben.

DCH-Entwurfsprinzipien

Es gibt drei Entwurfsprinzipien zu berücksichtigen, damit ein Treiberpaket DCH-konform ist:

  • Deklarativ (D): Installieren Sie das Treiberpaket nur mithilfe deklarativer INF-Anweisungen. Schließen Sie keine Co-Installer oder RegisterDll-Funktionen ein.

  • Komponenten (C): Editionsspezifische, OEM-spezifische und optionale Anpassungen am Treiberpaket sind vom Basistreiberpaket getrennt. Daher kann das Basistreiberpaket, das nur Kerngerätefunktionen bereitstellt, unabhängig von den Anpassungen gezielt, flighted und gewartet werden.

  • Hardwareunterstützungs-App (H): Jede benutzeroberflächenbasierte (UI)-Komponente, die einem Treiberpaket zugeordnet ist, muss als Hardwaresupport-App (HSA) verpackt oder auf dem OEM-Gerät vorinstalliert sein. Eine HSA ist eine optionale gerätespezifische App, die mit einem Treiberpaket gekoppelt ist. Die Anwendung kann eine Universelle Windows-Plattform (UWP) oder Desktop-Brücke-App sein. Sie müssen eine HSA über den Microsoft Store verteilen und aktualisieren. Weitere Informationen finden Sie unter Hardwaresupport-App (HSA): Schritte für Treiberentwickler und Hardwareunterstützungs-App (HSA): Schritte für App-Entwickler.

Das Akronym "DCH" bezieht sich auf die oben aufgeführten Prinzipien. Auf der Seite Beispiel für DCH-kompatibles Treiberpaket erfahren Sie, wie ein Treiberbeispiel DCH-Entwurfsprinzipien anwenden kann.

Übersicht

Treiberpakete, die DCH-kompatibel sind, enthalten eine INF-Datei und Binärdateien, die auf Universelle Windows-Plattform (UWP)-basierten Editionen von Windows installiert und ausgeführt werden. Sie werden auch auf anderen Editionen von Windows 10 und 11 installiert und ausgeführt, die einen gemeinsamen Satz von Schnittstellen verwenden.

DCH-kompatible Treiberbinärdateien können KMDF, UMDF 2 oder das Windows-Treibermodell (WDM) verwenden.

DCH-kompatible Treiberpakete bestehen aus den folgenden Teilen:

  • Ein Basistreiberpaket
  • Optionale Komponentenpakete
  • Eine optionale Hardwareunterstützungs-App

Das Basistreiberpaket enthält alle Kernfunktionen und den freigegebenen Code. Die optionalen Komponentenpakete können Anpassungen und zusätzliche Einstellungen enthalten.

In der Regel schreibt ein Gerätehersteller oder ein unabhängiger Hardwareanbieter (IHV) das Basistreiberpaket. Anschließend stellt ein Systementwickler oder OEM alle optionalen Komponentenpakete bereit.

Nachdem ein IHV das Basistreiberpaket zertifiziert hat, kann es auf allen OEM-Systemen bereitgestellt werden. Da ein Basistreiberpaket für alle Systeme verwendet werden kann, die ein Hardwareteil gemeinsam nutzen, kann Microsoft das Basistreiberpaket über Windows Insider Flighting umfassend testen, anstatt die Verteilung auf bestimmte Computer einzuschränken.

Der OEM überprüft nur die optionalen Anpassungen, die er für das OEM-System bereitstellt.

Anforderungen

Führen Sie die folgenden Schritte aus, um ein Treiberpaket zu erstellen, das den DCH-Entwurfsprinzipien folgt:

  • Erstellen Sie eine INF-Datei für Ihr Treiberpaket:
    1. Überprüfen Sie die Liste der INF-Abschnitte und -Direktiven, die in universellen Treiberpaketen gültig sind.
    2. Verwenden Sie das InfVerif-Tool , um zu überprüfen, ob die INF-Datei Ihres Treiberpakets deklarativen Anforderungen (D) entspricht. Sie sollte übergeben infverif /k.
  • Stellen Sie sicher, dass alle optionalen Komponentenpakete, die keine Kerntreiberfunktionen enthalten, vom Basistreiberpaket getrennt sind.
  • Hardwareunterstützungsanwendungen, die Ihrem Treiberpaket zugeordnet sind, müssen über den Microsoft Store verteilt werden.

Bewährte Methoden

  • Wenn Sie das Windows Driver Kit (WDK) mit dem neuesten verfügbaren Visual Studio verwenden, legen Sie den Wert Zielplattform in den Treiberprojekteigenschaften auf fest Universal. Dadurch werden automatisch die richtigen Bibliotheken hinzugefügt und die richtige INF-Validierung und ApiValidator als Teil des Builds ausgeführt. Gehen Sie dazu folgendermaßen vor:

    1. Öffnen Sie die Eigenschaften des Treiberprojekts.
    2. Wählen Sie Treibereinstellungen aus.
    3. Verwenden Sie das Dropdownmenü, um Zielplattform auf festzulegen Universal.
  • Wenn Ihr INF benutzerdefinierte Setupaktionen ausführt, die von der Zielplattform abhängen, sollten Sie sie in eine Erweiterung INF unterteilen. Sie können eine Erweiterung INF unabhängig vom Basistreiberpaket aktualisieren, um sie robuster und betriebsfähiger zu machen. Weitere Informationen finden Sie unter Verwenden einer INF-Erweiterungsdatei.

  • Wenn Sie eine Anwendung bereitstellen möchten, die mit Ihrem Gerät funktioniert, schließen Sie eine Hardwaresupport-App ein. Weitere Informationen finden Sie unter Hardwaresupport-App (HSA): Schritte für Treiberentwickler. Ein OEM kann eine solche App mithilfe von DISM vorab laden: Imagewartung und Verwaltung der Bereitstellung. Oder Benutzer können die App manuell aus dem Microsoft Store herunterladen.