Masalah yang diketahui Windows Driver Kit (WDK)
Topik ini merinci masalah yang diketahui mengenai WDK.
WDK untuk Windows 11, versi 24H2
Mulai ulang setelah provisi
Setelah provisi dan penyebaran, komputer target gagal memulai ulang setelah langkah-langkah penyebaran.
Dukungan ARM64 WDK Driver SxS
Ketika kit Windows 11, versi 24H2 dan Windows 11, kit versi 22H2 diinstal pada mesin ARM64, membangun driver KMDF untuk ARM64 dengan TargetPlatformVersion yang diatur ke Windows 11, versi 22H2 gagal dengan WdfDriverEntry.lib(stub.obj) : error LNK2001: unresolved external symbol
.
Ekstensi WDK gagal diinstal
Jika Anda menggunakan Visual Studio versi 17.11.0 atau yang lebih baru, hapus centang pada kotak centang instal ekstensi di penginstalan WDK.
WDK untuk Windows 11, versi 22H2
Kesalahan layanan saat startup
Jika Anda menginstal Windows 11 asli, WDK versi 22H2 antara Mei dan Agustus 2022 (versi 10.0.22621.1), Anda mungkin melihat pesan kesalahan berikut saat memulai Visual Studio dengan WDK.
Paket Microsoft.Windows.Tools.WinIDE.Debugger.DebuggerPackage, DebuggerPackage, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null
tidak dimuat dengan benar.
Masalah ini diperbaiki dalam WDK versi 10.0.22621.382. Anda dapat menghapus instalan WDK dan kemudian menginstal ulang WDK terbaru menggunakan instruksi di Unduh Windows Driver Kit.
Debugger dalam Visual Studio tidak berfungsi
Tidak dimungkinkan untuk men-debug driver dalam antarmuka Visual Studio saat menggunakan Visual Studio 2022 versi 17.2.0 dan 17.3 dengan Windows 11, versi 22H2 WDK (10.0.22621.382). Untuk mengatasi masalah tersebut, lakukan salah satu hal berikut: perbarui Visual Studio ke 17.4.1 atau yang lebih baru, debug dengan WinDbg, atau gunakan versi Visual Studio yang lebih lama dari 17.2.0. Pesan kesalahan berikut terkait dengan masalah ini:
QueryBuildManagerBusyEx harus dipanggil pada UI.
Penginstal bersama yang dapat didistribusikan ulang WDF tidak berfungsi
Dimulai dengan rilis ini, co-installer yang dapat didistribusikan ulang WDF tidak lagi didukung. Secara khusus, pada komputer yang memiliki Windows 11, WDK versi 22H2 dan WDK yang lebih lama, ketika membangun driver WDF 1.11, msbuild gagal karena tidak dapat menemukan coinstaller WDF.
Untuk memperbaiki masalah ini, sebelum menginstal Windows 11, WDK versi 22H2, cadangkan folder \Program files (x86)\windows kit\10\redist\wdf
dan pulihkan setelahnya. Atau, jika Anda telah menginstal Windows 11, WDK versi 22H2, instal file MSI di komponen WDK 8 yang dapat didistribusikan ulang di komputer terpisah dan salin redist
folder ke folder di atas. Untuk informasi selengkapnya, lihat Komponen Kerangka Kerja yang Dapat Didistribusikan Ulang.
WDK untuk Windows 10, versi 2004
Masalah dalam fungsi ExAllocatePoolZero, ExAllocatePoolQuotaZero, dan ExAllocatePoolPriorityZero DIPERBAIKI
Pada Bulan Mei 2020, OSR menemukan bahwa dukungan tingkat bawah baru untuk nol otomatis alokasi kumpulan memiliki masalah yang dapat menyebabkan alokasi tidak diinisialisasi nol pada sistem yang menjalankan Windows 10, versi 1909. Ini sekarang telah diperbaiki dengan refresh keamanan WDK untuk Windows 10, versi 2004 dan Enterprise WDK (EWDK) untuk Windows 10, versi 2004 pada 16 Des. Microsoft memanfaatkan refresh keamanan dan memperbarui EWDK untuk menyertakan alat build Visual Studio 16.7. Microsoft merekomendasikan semua pengembang driver menghapus instalan SDK dan WDK asli (versi 2004) dan menginstal refresh SDK dan WDK atau EWDK.
Untuk memastikan ada solusi keamanan lengkap di tempat, perbaikan OS dirilis untuk Windows 10, versi 1909 pada bulan November, jadi jika ada driver yang dibuat dengan masalah keamanan OS akan dilindungi darinya.
Selain mengunduh WDK/EWDK yang diperbarui, Microsoft menyarankan agar semua driver mengalihkan semua alokasi kernel untuk menggunakan DDI nol kumpulan baru yang mengembalikan memori nol secara default. Ini akan meningkatkan keamanan dan keandalan driver. Untuk membantu transisi ini, Microsoft telah membuat aturan Pemverifikasi Driver Statis yang tersedia dalam pratinjau Windows 10 WDK versi 20236 ke atas. Aturan ini akan mengidentifikasi semua instans dalam kode sumber driver tempat DDI alokasi kumpulan lama digunakan dan akan merekomendasikan untuk menggantinya dengan DDI baru yang lebih aman dan setara. Aturan ini berlaku untuk driver berbasis WDM, WDF, dan NDIS.
Menginstal WDK tidak lagi memungkinkan mitigasi Spectre untuk semua proyek C++ seperti yang terlihat di WDK 1903
Meskipun penginstalan WDK akan mengaktifkan mitigasi Spectre secara default untuk semua driver, itu tidak lagi mengaktifkannya untuk semua proyek C++.
Kesalahan 'WDK yang sesuai dengan target '10.0.19041.0' tidak ditemukan.'
Saat memilih [Versi Windows SDK] ke '10.0 (versi terinstal terbaru)' dengan WDK 10.0.19041.0 menyebabkan kesalahan "WDK yang sesuai dengan versi target '10.0.19041.0' tidak ditemukan" bahkan jika versi SDK diinstal.
Solusi sementara: Di halaman properti untuk proyek driver (Properti >Konfigurasi Umum) atur Versi Windows SDK ke $(LatestTargetPlatformVersion). Jika opsi ini tidak tersedia untuk dipilih, pilih opsi yang diwarisi dari default induk atau proyek.
EWDK dan SDV yang berjalan di Server memiliki persyaratan .NET
Menjalankan Verifier Driver Statis dari EWDK memerlukan .Net Framework 4.7.2. Bergantung pada versi Windows pada sistem Anda, .NET mungkin diinstal, dapat diinstal tetapi perlu diaktifkan, atau mungkin tidak diinstal. Untuk informasi selengkapnya tentang versi .NET apa yang diinstal atau status penginstalan .NET, harap tinjau versi dan dependensi .NET Framework.
Pembuatan DVL gagal dengan System.IO.FileNotFoundException
Saat mencoba membuat Log Verifikasi Driver (DVL), kesalahan berikut akan disajikan:
Unhandled Exception: System.IO.FileNotFoundException:
Could not load file or assembly
'System.Runtime, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
or one of its dependencies.
The system cannot find the file specified.
Ini dapat terjadi di lingkungan baris perintah dan GUI. Masalah ini diselesaikan dalam WDK versi mendatang dan dapat dilihat di Windows Insider Preview WDK. Sayangnya, tidak ada solusi untuk versi saat ini.
SDV gagal di EWDK jika VS tidak diinstal
SDV memiliki dependensi pada VCRUNTIME140D.dll sebagai bagian dari Visual Studio. Dengan demikian, menjalankan EWDK pada komputer tanpa VS yang diinstal akan gagal. Instal Visual Studio di komputer untuk mengatasi masalah ini.
Pemverifikasi Driver tidak diaktifkan/dinonaktifkan saat menggunakan penjelajah uji WDK
Driver Verifier tidak diaktifkan/dinonaktifkan saat pengujian Dasar Perangkat dijalankan menggunakan WDK Test Explorer.
Solusi sementara: Pada komputer klien aktifkan/nonaktifkan pemverifikasi driver secara manual sesuai instruksi ini.
Penginstalan WDK Side by Side Windows 10, versi 2004 dan WDK Windows 10, versi 1903 atau versi 1803
Dengan kedua versi kit yang diinstal pada PC yang sama, fitur 'Sebarkan driver' tidak akan berfungsi untuk versi yang lebih lama.
Solusi sementara: Gunakan 1803 pada komputer terpisah jika fitur Sebarkan driver diperlukan.
Pengujian Windows Device Testing Framework (WDTF) sekarang hanya berjalan pada sistem dengan versi Windows 10 yang cocok sebagai WDK
Di WDK untuk Windows 10, versi 1809, perubahan dilakukan pada WDTF untuk mendukung versi Windows 10, versi 1809 ini. Efek dari ini adalah bahwa WDTF tidak akan lagi berjalan pada OS tingkat bawah. Perubahan berlanjut dengan WDK untuk Windows 10, versi 2004.
Alternatif untuk pengujian tingkat bawah
Pengujian WDTF di WDK untuk Windows 10, versi 1803 dapat dijalankan pada versi Windows sebelumnya.
APIValidator
Pada APIValidator mesin lengkung x86 tidak dapat dijalankan terhadap biner x64. Jika membangun driver x64 pada APIValidator mesin x86 harus dimatikan.
Solusi:
Buka halaman properti solusi driver.
Pilih APIValidator, lalu Umum, lalu ubah Jalankan ApiValidator dari Ya ke Tidak.
WDK yang berjalan pada sistem Windows 7 memerlukan KB 3033929
Anda harus menginstal Microsoft Security Advisory 3033929 (KB3033929) sebelum menginstal WDK pada sistem yang menjalankan Windows 7. KB3033929 dapat diunduh dari Pusat Unduhan Microsoft.
Menginstal WDK menghasilkan kesalahan dari Visual Studio bahwa komponen add-in sudah diinstal
Pesan kesalahan ini dapat dilihat jika WDK dihapus instalasinya tetapi ekstensi driver WDK untuk Visual Studio tidak dihapus instalannya.
Resolusi: Di Visual Studio, buka menu dropdown Ekstensi , pilih Kelola Ekstensi, pilih Windows Driver Kit, lalu klik Hapus instalan.
FAQ
Bagaimana cara mengetahui apakah versi WDK atau EWDK yang saya miliki berisi perbaikan untuk nol alokasi kumpulan?
Di Pengaturan Sistem, buka Tambahkan atau Hapus program, cari Windows Driver Kit dan catat versinya. WDK asli untuk Windows 10, versi 2004 memiliki versi 10.0.19041.1, versi WDK yang disegarkan adalah 10.0.19041.685 Untuk EWDK, setelah lingkungan EWDK diluncurkan, lihat judul jendela perintah. Versi yang disegarkan akan berisi vb_release_svc_prod1.19041.685. Selain itu, saat melihat variabel lingkungan, variabel BuildLab harus menampilkan vb_release_svc_prod1.19041.685.
Kit Pengembangan Perangkat Lunak Windows (SDK) juga disegarkan, apakah ini juga diperlukan?
Tidak, namun Kit Pengembangan Perangkat Lunak Windows (SDK) yang disegarkan berisi perbaikan untuk onecore.lib yang mungkin menyenangkan untuk dimiliki. Selain itu, umumnya merupakan ide yang baik untuk menjaga SDK dan WDK tetap selaras.
Jika saya sudah menginstal WDK untuk Windows 10, versi 2004, apakah saya perlu menghapus instalasinya sebelum menginstal versi yang di-refresh?
Sangat disarankan agar jika Anda memiliki SDK dan WDK 2004 asli bahwa ini dihapus instalasinya dan SDK refresh keamanan dan WDK diinstal. Yang mengatakan jika WDK yang disegarkan diinstal di atas WDK asli, versi yang disegarkan akan menimpa yang asli. Catatan: Dalam skenario ini "Tambahkan atau hapus program", kedua versi akan dicantumkan.