Bagikan melalui


Prinsip desain DCH dan praktik terbaik

Artikel ini menjelaskan prinsip desain dan praktik terbaik untuk paket driver yang mematuhi DCH. DCH adalah singkatan dari Declarative (D), Componentized (C), dan Hardware Support App (H).

Prinsip desain DCH

Ada tiga prinsip desain yang perlu dipertimbangkan agar paket driver sesuai dengan DCH:

  • Deklaratif: Instal paket driver hanya dengan menggunakan arahan INF deklaratif. Jangan sertakan fungsi coinstallers atau RegisterDll.

  • Komponen: Kustomisasi khusus edisi, khusus OEM, dan opsional ke paket driver terpisah dari paket driver dasar. Akibatnya, paket driver dasar, yang hanya menyediakan fungsionalitas inti perangkat, dapat ditargetkan, diberikan secara bertahap, dan dikelola secara independen dari penyesuaian.

  • Aplikasi Dukungan Perangkat Keras (HSA): Komponen antarmuka pengguna (UI) apa pun yang terkait dengan paket driver harus dikemas sebagai HSA atau diinstal sebelumnya pada perangkat OEM. HSA adalah aplikasi khusus perangkat opsional yang dipasangkan dengan paket driver. Aplikasi ini dapat berupa aplikasi Universal Windows Platform (UWP) atau Desktop Bridge yang dibangun dengan paket MSIX dari kode Anda. Anda harus mendistribusikan dan memperbarui HSA melalui Microsoft Store. Untuk informasi selengkapnya, lihat HSA: Langkah-langkah untuk pengembang driver dan HSA: Langkah-langkah untuk pengembang aplikasi.

Untuk melihat bagaimana sampel driver dapat menerapkan prinsip desain DCH, lihat contoh paket driver yang mematuhi DCH.

Gambaran umum DCH

Paket driver yang sesuai dengan DCH berisi file INF dan biner yang menginstal dan menjalankan pada Windows edisi berbasis UWP. Mereka juga menginstal dan menjalankan pada edisi Windows 10 dan 11 lain yang berbagi serangkaian antarmuka umum.

Biner driver yang mematuhi DCH dapat menggunakan Kernel-Mode Driver Framework (KMDF),User-Mode Driver Framework 2 (UMDF), atau Windows Driver Model (WDM).

Paket driver yang sesuai dengan DCH terdiri dari bagian-bagian berikut:

  • Paket driver dasar
  • Paket komponen opsional
  • Aplikasi dukungan perangkat keras opsional

Paket driver dasar berisi semua fungsionalitas inti dan kode bersama. Paket komponen opsional dapat berisi kustomisasi dan pengaturan lainnya.

Biasanya, produsen perangkat, atau vendor perangkat keras independen (IHV), menulis paket driver dasar. Kemudian, pembuat sistem, atau produsen peralatan asli (OEM), menyediakan paket komponen opsional apa pun.

Setelah IHV mensertifikasi paket driver dasar, itu dapat disebarkan pada semua sistem OEM. Karena paket driver dasar dapat digunakan di semua sistem yang berbagi bagian perangkat keras, Microsoft dapat menguji paket driver dasar secara luas. Microsoft dapat menggunakan metode flighting Windows Insider, daripada membatasi distribusi ke mesin tertentu.

OEM hanya memvalidasi kustomisasi opsional yang disediakannya untuk sistem OEM.

Persyaratan DCH

Untuk membuat paket driver yang mengikuti prinsip desain DCH, ikuti langkah-langkah berikut:

  1. Buat file INF untuk paket driver Anda:

    1. Tinjau daftar bagian dan arahan INF yang valid dalam paket driver Universal.

    2. Gunakan alat InfVerif untuk memverifikasi bahwa file INF paket driver Anda mengikuti persyaratan Deklaratif (D). Paket harus melewati pemeriksaan dengan perintah infverif /k.

  2. Pastikan bahwa setiap paket komponen opsional yang tidak berisi fungsionalitas driver inti dipisahkan dari paket driver dasar.

  3. Aplikasi dukungan perangkat keras yang terkait dengan paket driver Anda harus didistribusikan melalui Microsoft Store.

Praktik terbaik DCH

Saat Anda mengembangkan kepatuhan DCH, ikuti praktik terbaik berikut:

  • Jika Anda menggunakan Windows Driver Kit (WDK) dengan versi terbaru Visual Studio, atur nilai Platform Target di properti proyek driver ke Universal. Pengaturan ini secara otomatis menambahkan pustaka yang sesuai, dan menjalankan validasi INF yang tepat serta ApiValidator sebagai bagian dari proses build. Untuk menyelesaikan tugas ini, ikuti langkah-langkah berikut:

    1. Buka pengaturan proyek driver.
    2. Pilih Pengaturan Driver.
    3. Gunakan menu drop-down untuk mengatur nilai Platform Target ke Universal.
  • Jika INF Anda melakukan tindakan penyiapan khusus yang bergantung pada platform target, pertimbangkan untuk memisahkan tindakan tersebut ke dalam INF ekstensi. Anda dapat memperbarui INF ekstensi secara independen dari paket driver dasar untuk membuatnya lebih kuat dan dapat dilayankan. Untuk informasi selengkapnya, lihat Menggunakan file ekstensi INF.

  • Jika Anda ingin menyediakan aplikasi yang berfungsi dengan perangkat Anda, sertakan HSA. Untuk informasi lebih lanjut, lihat HSA: Langkah-langkah untuk pengembang driver. OEM dapat memuat aplikasi HSA dengan menggunakan Deployment Image Servicing and Management (DISM), atau, pengguna dapat mengunduh aplikasi secara manual dari Microsoft Store.