Principi e procedure consigliate per la progettazione DCH

Questa pagina descrive i principi di progettazione e le procedure consigliate per i pacchetti driver conformi a DCH.

Principi di progettazione DCH

Esistono tre principi di progettazione da considerare affinché un pacchetto driver sia conforme a DCH:

  • Dichiarativo (D): installare il pacchetto driver usando solo direttive INF dichiarative. Non includere co-installer o funzioni RegisterDll.

  • Componentizzato (C): le personalizzazioni specifiche dell'edizione, specifiche dell'OEM e facoltative per il pacchetto driver sono separate dal pacchetto driver di base. Di conseguenza, il pacchetto del driver di base, che fornisce solo funzionalità di base del dispositivo, può essere destinato, in anteprima e fornito in modo indipendente dalle personalizzazioni.

  • App di supporto hardware (H): qualsiasi componente dell'interfaccia utente associato a un pacchetto driver deve essere inserito in un pacchetto come app di supporto hardware (HSA) o preinstallato nel dispositivo OEM. Un modulo di protezione hardware è un'app facoltativa specifica del dispositivo associata a un pacchetto driver. L'applicazione può essere un'app piattaforma UWP (Universal Windows Platform) (UWP) o Desktop Bridge. È necessario distribuire e aggiornare un modulo di protezione hardware tramite Microsoft Store. Per informazioni dettagliate, vedere Hardware Support App (HSA): Steps for driver developers and Hardware Support App (HSA): Steps for app for app developers (Procedura per sviluppatori di app).

L'acronimo "DCH" si riferisce ai principi elencati in precedenza. Per informazioni su come un esempio di driver può applicare principi di progettazione DCH, vedere la pagina Esempio di pacchetto driver conforme a DCH .

Panoramica

I pacchetti driver conformi a DCH contengono un file INF e file binari che installano ed eseguono nelle edizioni basate su piattaforma UWP (Universal Windows Platform) (UWP) di Windows. Vengono inoltre installati ed eseguiti in altre edizioni di Windows 10 e 11 che condividono un set comune di interfacce.

I file binari del driver conformi a DCH possono usare KMDF, UMDF 2 o windows Driver Model (WDM).

I pacchetti driver conformi a DCH sono costituiti dalle parti seguenti:

  • Un pacchetto driver di base
  • Pacchetti di componenti facoltativi
  • Un'app di supporto hardware facoltativa

Il pacchetto driver di base contiene tutte le funzionalità di base e il codice condiviso. I pacchetti di componenti facoltativi possono contenere personalizzazioni e impostazioni aggiuntive.

In genere, un produttore di dispositivi o un fornitore di hardware indipendente (IHV), scrive il pacchetto driver di base. Quindi, un generatore di sistemi o un oem (Original Equipment Manufacturer), fornisce eventuali pacchetti di componenti facoltativi.

Dopo che un IHV ha certificato il pacchetto driver di base, può essere distribuito in tutti i sistemi OEM. Poiché un pacchetto driver di base può essere usato in tutti i sistemi che condividono una parte hardware, Microsoft può testare il pacchetto driver di base su larga scala tramite windows Insider flighting, invece di limitare la distribuzione a computer specifici.

L'OEM convalida solo le personalizzazioni facoltative fornite per il sistema OEM.

Requisiti

Per creare un pacchetto driver che segue i principi di progettazione DCH, seguire questa procedura:

  • Creare un file INF per il pacchetto driver:
    1. Esaminare l'elenco delle sezioni e delle direttive INF valide nei pacchetti driver universali.
    2. Usare lo strumento InfVerif per verificare che il file INF del pacchetto driver segua i requisiti dichiarativi (D). Deve passare infverif /k.
  • Assicurarsi che tutti i pacchetti di componenti facoltativi che non contengono funzionalità di driver di base siano separati dal pacchetto driver di base.
  • Le applicazioni di supporto hardware associate al pacchetto driver devono essere distribuite tramite Microsoft Store.

Procedure consigliate

  • Se si usa Windows Driver Kit (WDK) con la versione più recente disponibile di Visual Studio, impostare il valore piattaforma di destinazione nelle proprietà del progetto driver su Universal. Questa operazione aggiunge automaticamente le librerie corrette ed esegue la convalida INF corretta e ApiValidator come parte della compilazione. Per eseguire questa operazione:

    1. Aprire le proprietà del progetto driver.
    2. Selezionare Impostazioni driver.
    3. Usare il menu a discesa per impostare Piattaforma di destinazione su Universal.
  • Se l'INF esegue qualsiasi azione di configurazione personalizzata che dipende dalla piattaforma di destinazione, è consigliabile separarle in un'estensione INF. È possibile aggiornare un'estensione INF indipendentemente dal pacchetto driver di base per renderla più affidabile e gestibile. Per altre informazioni, vedere Uso di un file INF di estensione.

  • Se si vuole fornire un'applicazione che funziona con il dispositivo, includere un'app di supporto hardware. Per altre informazioni, vedere Hardware Support App (HSA): Passaggi per gli sviluppatori di driver. Un OEM può precaricare un'app di questo tipo usando Gestione e manutenzione immagini distribuzione. In alternativa, gli utenti possono scaricare manualmente l'app da Microsoft Store.