Udostępnij przez


Zasady projektowania DCH i najlepsze rozwiązania

W tym artykule opisano zasady projektowania i najlepsze rozwiązania dotyczące pakietów sterowników zgodnych ze standardem DCH. DCH oznacza Deklaratywny (D), Komponentowy (C) i Aplikacja Wspierająca Sprzęt (H).

Zasady projektowania DCH

Istnieją trzy zasady projektowania, które należy wziąć pod uwagę, aby pakiet sterowników był zgodny ze standardem DCH:

  • Deklaratywna: zainstaluj pakiet sterowników przy użyciu tylko deklaratywnych dyrektyw INF. Nie dołączaj współinstalatorów ani funkcji RegisterDll.

  • Składniki: specyficzne dla wersji, specyficzne dla producenta OEM i opcjonalne dostosowania pakietu sterowników są oddzielone od podstawowego pakietu sterowników. W związku z tym podstawowy pakiet sterowników, który zapewnia tylko podstawowe funkcje urządzenia, może być przeznaczony, testowany i serwisowany niezależnie od dostosowań.

  • Aplikacja do obsługi sprzętu (HSA): każdy składnik interfejsu użytkownika skojarzony z pakietem sterowników musi być spakowany jako moduł HSA lub wstępnie zainstalowany na urządzeniu OEM. HSA to opcjonalna aplikacja specyficzna dla urządzenia, sparowana z pakietem sterowników. Aplikacja może być aplikacją platformy uniwersalnej systemu Windows (UWP) lub aplikacją Desktop Bridge, skompilowaną przy użyciu pakietu MSIX z Twojego kodu. Musisz dystrybuować i aktualizować moduł HSA za pośrednictwem sklepu Microsoft Store. Aby uzyskać więcej informacji, zobacz HSA: Kroki dla deweloperów sterowników i HSA: Kroki dla deweloperów aplikacji.

Aby dowiedzieć się, jak przykładowy sterownik może stosować zasady projektowania DCH, zobacz przykładowy pakiet sterowników zgodny ze standardem DCH.

Omówienie DCH

Pakiety sterowników zgodne ze standardem DCH zawierają plik INF i pliki binarne, które instalują i działają w wersjach systemu Windows opartych na platformie UWP. Są również instalowane i uruchamiane na innych wersjach systemu Windows 10 i 11, które mają wspólny zestaw interfejsów.

Pliki binarne sterowników zgodne ze standardem DCH mogą używać Kernel-Mode Driver Framework (KMDF), User-Mode Driver Framework 2 (UMDF) lub modelu sterowników systemu Windows (WDM).

Pakiety sterowników zgodne ze standardem DCH składają się z następujących części:

  • Podstawowy pakiet sterowników
  • Opcjonalne pakiety składników
  • Opcjonalna aplikacja do obsługi sprzętu

Podstawowy pakiet sterowników zawiera wszystkie podstawowe funkcje i kod udostępniony. Opcjonalne pakiety składników mogą zawierać dostosowania i inne ustawienia.

Zazwyczaj producent urządzenia lub niezależny dostawca sprzętu (IHV) zapisuje podstawowy pakiet sterowników. Następnie konstruktor systemu lub producent oryginalnego sprzętu (OEM) udostępnia wszelkie opcjonalne pakiety składników.

Gdy IHV certyfikuje pakiet sterowników bazowych, można go wdrożyć we wszystkich systemach OEM. Ponieważ podstawowy pakiet sterowników może być używany we wszystkich systemach współużytkujących część sprzętową, firma Microsoft może ogólnie przetestować podstawowy pakiet sterowników. Firma Microsoft może używać programu Windows Insider, a nie ograniczać dystrybucji do wybranych urządzeń.

OEM weryfikuje tylko opcjonalne dostosowania, które zapewnia system OEM.

Wymagania dotyczące DCH

Aby utworzyć pakiet sterowników zgodny z zasadami projektowania DCH, wykonaj następujące kroki:

  1. Utwórz plik INF dla pakietu sterowników:

    1. Przejrzyj listę sekcji i dyrektyw INF, które są prawidłowe w pakietach sterowników uniwersalnych.

    2. Użyj narzędzia InfVerif , aby sprawdzić, czy plik INF pakietu sterowników jest zgodny z wymaganiami deklaratywnymi (D). Pakiet powinien przejść kontrolę przy użyciu polecenia infverif /k.

  2. Upewnij się, że wszystkie opcjonalne pakiety składników, które nie zawierają podstawowych funkcji sterowników, są oddzielone od podstawowego pakietu sterowników.

  3. Aplikacje do obsługi sprzętu skojarzone z pakietem sterowników muszą być dystrybuowane za pośrednictwem sklepu Microsoft Store.

Najlepsze praktyki dotyczące DCH

Podczas opracowywania pod kątem zgodności DCH postępuj zgodnie z następującymi najlepszymi praktykami:

  • Jeśli używasz zestawu Sterowników systemu Windows (WDK) z najnowszą wersją programu Visual Studio, ustaw wartość Platforma docelowa we właściwościach projektu sterownika na Universalwartość . To ustawienie automatycznie dodaje prawidłowe biblioteki i uruchamia właściwą walidację INF i apiValidator w ramach kompilacji. Aby wykonać to zadanie, wykonaj następujące kroki:

    1. Otwórz właściwości projektu sterownika.
    2. Wybierz pozycję Ustawienia sterownika.
    3. Użyj menu rozwijanego, aby ustawić wartość Platformy docelowej na Universal.
  • Jeśli funkcja INF wykonuje jakiekolwiek niestandardowe akcje konfiguracji, które zależą od platformy docelowej, rozważ rozdzielenie akcji na rozszerzenie INF. Rozszerzenie INF można zaktualizować niezależnie od podstawowego pakietu sterowników, aby zwiększyć jego niezawodność i obsługę. Aby uzyskać więcej informacji, zobacz Using an extension INF file (Używanie pliku INF rozszerzenia).

  • Jeśli chcesz udostępnić aplikację, która współpracuje z urządzeniem, dołącz moduł HSA. Aby uzyskać więcej informacji, zobacz HSA: Kroki dla programistów sterowników. OEM może wstępnie załadować aplikację HSA przy użyciu Obsługi Obrazów Wdrażania i Zarządzania (DISM) lub użytkownicy mogą ręcznie pobrać aplikację ze Sklepu Microsoft.