Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver designprinciper och metodtips för DCH-kompatibla drivrutinspaket. DCH står för Deklarativ (D), Komponentiserad (C)och Maskinvarusupportapp (H).
Designprinciper för DCH
Det finns tre designprinciper att tänka på för att ett drivrutinspaket ska vara DCH-kompatibelt:
Deklarativ: Installera drivrutinspaketet med endast deklarativa INF-direktiv. Inkludera inte medinstallatörer eller RegisterDll-funktioner.
Komponentiserad: Versionsspecifika, OEM-specifika och valfria anpassningar av drivrutinspaketet är separata från basdrivrutinspaketet. Det innebär att basdrivrutinspaketet, som endast tillhandahåller grundläggande enhetsfunktioner, kan riktas, flygas och underhållas oberoende av anpassningarna.
Maskinvarusupportapp (HSA): Alla användargränssnittskomponenter som är associerade med ett drivrutinspaket måste paketeras som en HSA eller förinstalleras på OEM-enheten. En HSA är en valfri enhetsspecifik app i kombination med ett drivrutinspaket. Programmet kan vara en UWP-app (Universal Windows Platform) eller Desktop Bridge-app som skapats med ett MSIX-paket från din kod. Du måste distribuera och uppdatera en HSA via Microsoft Store. Mer information finns i HSA: Steg för drivrutinsutvecklare och HSA: Steg för apputvecklare.
Information om hur ett drivrutinsexempel kan tillämpa DCH-designprinciper finns i exempel på DCH-kompatibla drivrutinspaket.
Översikt över DCH
Drivrutinspaket som är DCH-kompatibla innehåller en INF-fil och binärfiler som installerar och kör på UWP-baserade utgåvor av Windows. De installerar och kör även på andra utgåvor av Windows 10 och 11 som delar en gemensam uppsättning gränssnitt.
DCH-kompatibla drivrutins binärfiler kan använda Kernel-Mode Driver Framework (KMDF), User-Mode Driver Framework 2 (UMDF) eller Windows Driver Model (WDM).
DCH-kompatibla drivrutinspaket består av följande delar:
- Ett basdrivrutinspaket
- Valfria komponentpaket
- En valfri maskinvarusupportapp
Basdrivrutinspaketet innehåller alla grundläggande funktioner och delad kod. De valfria komponentpaketen kan innehålla anpassningar och andra inställningar.
Vanligtvis skriver en enhetstillverkare eller en oberoende maskinvaruleverantör (IHV) basdrivrutinspaketet. Sedan tillhandahåller en systembyggare eller oem-tillverkare (Original Equipment Manufacturer) valfria komponentpaket.
När en IHV har certifierat basdrivrutinspaketet kan det distribueras på alla OEM-system. Eftersom ett basdrivrutinspaket kan användas i alla system som delar en maskinvarudel kan Microsoft testa basdrivrutinspaketet brett. Microsoft kan använda Windows Insider-testning i stället för att begränsa distributionen till specifika datorer.
OEM-tillverkaren verifierar endast de valfria anpassningar som den tillhandahåller för OEM-systemet.
DCH-krav
Följ dessa steg för att skapa ett drivrutinspaket som följer DCH-designprinciper:
Skapa en INF-fil för drivrutinspaketet:
Granska listan över INF-avsnitt och -direktiv som är giltiga i Universella drivrutinspaket.
Använd InfVerif-verktyget för att kontrollera att drivrutinspaketets INF-fil följer deklarativa (D) krav. Paketet ska klara kontrollen med
infverif /kkommandot .
Se till att eventuella valfria komponentpaket som inte innehåller grundläggande drivrutinsfunktioner separeras från basdrivrutinspaketet.
Maskinvarusupportappar som är associerade med drivrutinspaketet måste distribueras via Microsoft Store.
Metodtips för DCH
När du utvecklar för DCH-efterlevnad följer du dessa metodtips:
Om du använder Windows Driver Kit (WDK) med den senaste versionen av Visual Studio anger du värdet Målplattform i egenskaperna för drivrutinsprojektet till
Universal. Den här inställningen lägger automatiskt till rätt bibliotek och kör rätt INF-validering och ApiValidator som en del av bygget. Slutför den här uppgiften genom att följa dessa steg:- Öppna egenskaperna för drivrutinsprojektet.
- Välj Drivrutinsinställningar.
- Använd den nedrullningsbara menyn för att ange värdet för Målplattform till
Universal.
Om din INF utför anpassade konfigurationsåtgärder som är beroende av målplattformen bör du överväga att separera åtgärderna i ett tilläggs-INF. Du kan uppdatera ett tilläggs-INF oberoende av basdrivrutinspaketet för att göra det mer robust och användbart. För mer information, se Använda en INF-fil för tillägg.
Om du vill ange ett program som fungerar med din enhet ska du inkludera en HSA. Mer information finns i HSA: Steg för drivrutinsutvecklare. En OEM-tillverkare kan förinstallera en HSA-app med hjälp av DISM (Deployment Image Servicing and Management), eller så kan användarna ladda ned appen manuellt från Microsoft Store.