Menggunakan Visual Studio atau MSBuild untuk membangun driver

Topik ini menyediakan instruksi tentang cara membuat driver menggunakan lingkungan pengembangan Visual Studio, atau dari baris perintah menggunakan jendela Prompt Perintah Visual Studio dan Microsoft Build Engine (MSBuild).

Untuk mengembangkan driver untuk Windows, Anda harus menginstal SDK dan WDK di Visual Studio dan mengonfigurasi pengaturan driver. Pastikan versi SDK dan WDK di komputer Anda cocok.

Membangun driver menggunakan Visual Studio

Anda membuat driver dengan cara yang sama seperti Anda membangun proyek atau solusi apa pun di Visual Studio. Saat Anda membuat proyek driver baru menggunakan templat driver, templat menentukan konfigurasi proyek default (aktif) dan konfigurasi build solusi default (aktif).

Untuk informasi tentang mengelola dan mengedit konfigurasi build, lihat Membangun di Visual Studio.

Pengaturan driver KMDF

Untuk mengonfigurasi pengaturan driver di VS 2022, klik kanan pada proyek driver, pilih properti, dan navigasikan ke Properti ->Properti Konfigurasi ->Driver Pengaturan.

Pengaturan Driver Visual Studio KMDF.

Versi OS Target

Versi OS Target mengacu pada versi Windows yang sedang dikembangkan driver. Atur versi OS Target ke versi terendah yang didukung driver Anda. Misalnya, driver untuk Windows 10 harus mendukung Windows 10 dan semua versi yang lebih baru.

Ikuti panduan dalam topik ini untuk memastikan paket driver Anda ditulis dengan benar untuk mendukung beberapa versi Windows.

Platform Target

Ada 3 klasifikasi untuk platform target Windows, Driver Universal, Driver Desktop, dan Driver Windows.

  1. Driver Universal harus:

  2. Driver Desktop harus:

    • Penuhi semua persyaratan Universal Drivers.
    • Mematuhi persyaratan Windows Hardware Compatibility Program (WHCP).
    • Teruskan InfVerif /h.

    Driver yang memenuhi kriteria Driver Desktop adalah Windows Logo Certified dan dapat ditambahkan ke program Windows Update.

  3. Driver Windows harus:

    • Memenuhi semua persyaratan Driver Desktop.
    • Sepenuhnya mematuhi persyaratan Isolasi Paket Driver.
    • Lulus InfVerif /w
    • Windows Drivers adalah pemilihan platform target yang paling ketat dan memenuhi semua persyaratan keandalan dan kelayakan.

Tabel berikut ini meringkas klasifikasi driver.

Fitur Driver Universal Driver Desktop Driver Windows
Sakelar Infverif InfVerif /u InfVerif /h InfVerif /w
Persyaratan WHCP Saat Ini Tidak Ya Tidak
Mendukung semua varian OS Windows Tidak No Ya
Dukungan X64/ARM64 Ya Ya Ya
Kepatuhan APIVALIDATOR Diperlukan Tidak No Ya
Dukungan OS Desktop (Versi OS Target) Ya Ya Ya
Dukungan Sampel Driver GitHub Ya Ya Tidak

Konfigurasi driver

Saat membangun driver, pastikan arsitektur platform dan NT_TARGET_VERSION diatur dengan benar di Visual Studio dengan WDK atau EWDK. Konfigurasi build Solusi default untuk pengembangan adalah Debug dan Win64.

  1. Pilih dan tahan (atau klik kanan) solusi di Penjelajah Solusi dan pilih Configuration Manager.
  2. Dari Configuration Manager, pilih Konfigurasi solusi aktif (misalnya, Debug atau Rilis) dan platform solusi Aktif (misalnya, Win64) yang sesuai dengan jenis build yang Anda minati.
  3. Pilih dan tahan (atau klik kanan) proyek dan pilih Properti. Navigasi ke Driver Pengaturan ->General, dan atur Versi OS Target dan Platform Target.
  4. Konfigurasikan properti proyek untuk driver atau paket driver Anda. Anda dapat mengatur properti untuk penyebaran, penandatanganan driver, atau tugas lainnya. Untuk informasi selengkapnya, lihat Mengonfigurasi properti proyek untuk driver dan paket driver Anda.

Untuk membangun driver

  1. Buka proyek atau solusi driver di Visual Studio.
  2. Dari menu Build, pilih Build Solution (Ctrl+Shift+B).
  3. Lihat kesalahan waktu kompilasi apa pun di jendela output build.

Membangun Driver Menggunakan Baris Perintah (MSBuild)

Anda dapat membuat driver dari baris perintah menggunakan jendela Prompt Perintah Visual Studio dan Microsoft Build Engine (MSBuild)

Untuk membuat driver menggunakan jendela Prompt Perintah Visual Studio

  1. Buka jendela Perintah Pengembang untuk VS2022 .

    Dari jendela ini Anda dapat menggunakan MSBuild.exe untuk membangun proyek Visual Studio apa pun dengan menentukan file proyek (.vcxproj) atau solusi (.sln).

  2. Navigasi ke direktori proyek dan masukkan perintah MSBuild untuk target Anda.

    Misalnya, untuk melakukan build bersih proyek driver Visual Studio yang disebut MyDriver.vcxproj menggunakan Platform dan Konfigurasi default, navigasikan ke direktori proyek dan masukkan perintah MSBuild berikut:

    msbuild /t:clean /t:build .\MyDriver.vcxproj
    

    Untuk menentukan konfigurasi dan platform tertentu, gunakan:

    msbuild /t:clean /t:build ProjectFile /p:Configuration=<Debug|Release> /p:Platform=architecture /p:TargetPlatformVersion=a.b.c.d /p:TargetVersion=OS    
    

    Perintah berikut membangun driver untuk konfigurasi "Debug", platform "Win32", dan untuk Windows 10.

    msbuild /t:clean /t:build .\MyDriver.vcxproj /p:Configuration="Debug" /p:Platform=Win32 /p:TargetVersion="Windows10" /p:TargetPlatformVersion="10.0.10010.0"
    

    Pengaturan TargetPlatformVersion bersifat opsional dan menentukan versi kit untuk dibuat. Defaultnya adalah versi kit terbaru.

Mengonfigurasi properti proyek untuk driver dan paket driver Anda

Gunakan halaman properti untuk mengonfigurasi dan mengatur opsi untuk driver dan paket driver Anda. Anda dapat memilih untuk mengonfigurasi driver agar otomatis ditandatangani saat Anda membangun solusi, atau secara otomatis disebarkan ke komputer uji jarak jauh.

Anda dapat mengatur properti untuk pengandar individual atau untuk seluruh paket driver. Bagian berikut menunjukkan beberapa properti yang tersedia yang dapat Anda konfigurasi khusus untuk driver dan paket driver.

Properti Proyek Driver

Properti Paket Driver

Integrasi proyek alat baris perintah WDK

WDK menyediakan sejumlah alat baris perintah, seperti Stampinf dan WPP Preprocessor (WPP Tracing), yang biasanya disertakan dalam proses build. Alat-alat ini tidak didistribusikan dengan Visual Studio. Untuk menggabungkan alat ini dengan lingkungan build Visual Studio, alat tersebut dibungkus sebagai tugas WDK untuk MSBuild. Jika Anda menggunakan salah satu templat driver atau memiliki driver yang sudah Anda konversi, halaman properti ini mungkin sudah ada untuk proyek Anda. Jika tidak, halaman properti secara otomatis ditambahkan ke proyek Anda saat Anda menambahkan jenis file terkait ke proyek atau solusi (misalnya, file .mc atau .man untuk pengkompilasi pesan). Untuk informasi selengkapnya, lihat WDK dan lingkungan build Visual Studio.

Tips pemecahan masalah untuk membangun driver

Untuk membantu memecahkan masalah build, Anda dapat meningkatkan verbositas output build di Visual Studio:

  1. Pilih Alat ->Opsi.
  2. Pilih folder Proyek dan Solusi dan pilih Bangun dan Jalankan.
  3. Ubah opsi untuk verbositas output build proyek MSBuild dan verbositas file log build proyek MSBuild. Secara default, ini diatur ke Minimal.

Memperbarui driver Windows 8

Anda dapat mengonversi proyek dan solusi yang Anda buat dengan WDK 8 atau Windows Driver Kit (WDK) 8.1 untuk bekerja dengan Windows Driver Kit (WDK) 10 dan Visual Studio. Sebelum Anda membuka proyek atau solusi, jalankan ProjectUpgradeTool. ProjectUpgradeTool mengonversi proyek dan solusi sehingga dapat dibangun menggunakan WDK 10.

Mulai dari Windows Driver Kit (WDK) 8, MSBuild menggantikan Utilitas Build Windows (Build.exe). WDK menggunakan alat kompilator dan build yang sama dengan yang Anda gunakan untuk membangun proyek Visual Studio. Proyek driver yang dibangun dengan versi WDK sebelumnya harus dikonversi agar berfungsi di lingkungan Visual Studio. Anda dapat menjalankan utilitas konversi dari baris perintah, atau Anda dapat mengonversi driver yang ada dengan membuat proyek Visual Studio baru dari sumber yang ada. Untuk informasi selengkapnya, lihat Membuat Driver Dari File Sumber yang Ada dan WDK dan lingkungan build Visual Studio.