Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kerangka kerja ini menyediakan fungsionalitas verifikasi bawaan yang dapat Anda gunakan untuk menguji driver KMDF yang sedang berjalan. Fungsi ini, yang disebut KMDF Verifier, secara ekstensif memvalidasi status driver Anda dan argumen yang dialirkan oleh driver ke metode objek kerangka kerja. Anda dapat menggunakan pemverifikasi kerangka kerja secara terpisah atau bersama dengan alat Driver Verifier tujuan umum (Verifier.exe).
Jika Pemverifikasi KMDF diaktifkan, kerangka kerja memeriksa akuisisi dan hierarki kunci, memastikan panggilan ke kerangka kerja terjadi pada IRQL yang tepat, memverifikasi pembatalan I/O dan penggunaan antrean yang benar, serta memastikan bahwa driver dan kerangka kerja mematuhi kontrak yang didokumentasikan. Ini juga dapat mensimulasikan kondisi kehabisan memori sehingga pengembang driver dapat menguji apakah driver merespons dengan benar tanpa mengalami crash, macet, atau gagal melepaskan dari memori.
Ketika KMDF Verifier diaktifkan, kerangka kerja masuk ke debugger jika periode batas waktu standar 60 detik berakhir sebelum beberapa peristiwa yang sebelumnya dijelaskan selesai. Pada titik ini, Anda dapat memecahkan masalah tersebut, atau mengetik "g" di debugger untuk memulai ulang batas waktu. Anda dapat mengubah periode batas waktu default dengan menggunakan nilai registri DbgWaitForSignalTimeoutInSec yang dijelaskan dalam Mengontrol Perilaku Verifier.
Sebaiknya jalankan Driver Verifier (Verifier.exe) selama pengujian, dan tambahkan driver dan wdf01000.sys Anda sendiri ke daftar verifikasi.
Nota
KMDF Verifier diaktifkan secara otomatis saat menggunakan pengaturan /standard Driver Verifier. Jika Anda menggunakan /flags alih-alih pengaturan pemverifikasi driver /standard, ketahuilah bahwa pada Windows 10, versi 1803 atau versi terbaru, /flags tidak digunakan lagi demi /ruleclasses. Kelas aturan untuk WDF adalah 34. Untuk mengaktifkan pemverifikasi WDF saat /standard tidak digunakan, gunakan /ruleclasses 34.
Anda juga dapat menggunakan WDF Verifier Control Application (WdfVerifier.exe) untuk mengaktifkan dan menonaktifkan KMDF Verifier.
Mengaktifkan dan Menonaktifkan Verifikasi Bawaan Kerangka Kerja
Anda dapat mengaktifkan KMDF Verifier secara manual menggunakan prosedur ini:
Jika driver Anda sudah dimuat, gunakan Manajer Perangkat untuk menonaktifkan perangkat. Menonaktifkan perangkat menyebabkan driver dilepas.
Gunakan RegEdit untuk mengatur VerifierOn ke nilai tidak nol dalam subkunci Parameters\Wdf pada pengandar dari kunci HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services di registri Windows. Nilai bukan nol menunjukkan bahwa Pemverifikasi KMDF diaktifkan.
Anda mungkin perlu menambahkan VerifierOn secara manual ke subkunci jika belum ada.
Gunakan Manajer Perangkat untuk mengaktifkan kembali perangkat, sehingga memuat driver.
Saat driver memanggil WdfDriverCreate, kerangka kerja memeriksa registri dan mengaktifkan pemverifikasi kerangka kerja jika VerifierOn ke nilai bukan nol.
Untuk menonaktifkan pemverifikasi kerangka kerja, ikuti langkah yang sama, tetapi tetapkan nilai VerifierOn ke nol.
Untuk menentukan apakah pemverifikasi kerangka kerja diaktifkan, atur titik henti di lokasi setelah driver Anda memanggil WdfDriverBuat dan gunakan perintah ekstensi !wdfdriverinfo debugger:
!wdfkd.wdfdriverinfo<nama driver Anda> **** 0x1
Untuk informasi selengkapnya tentang perintah ekstensi debugger, lihat Ekstensi Debugger untuk Driver berbasis Kerangka Kerja.
Mengontrol Perilaku Pemverifikasi
Kami menyarankan agar Anda menggunakan aplikasi kontrol WDF Verifier untuk mengontrol opsi di bawah ini. Namun, Anda dapat langsung memodifikasi nilai berikut dalam registri.
Nilai yang relevan terletak di bawah subkunci Parameters\Wdf dari kunci HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services.
VerifyOn (REG_DWORD)
Atur nilai ini ke nilai bukan nol untuk mengaktifkan makroWDFVERIFY.
DbgBreakOnError (REG_DWORD)
Jika nilai ini diatur ke nilai bukan nol, kerangka kerja akan masuk ke debugger (jika tersedia) setiap kali driver memanggil WdfVerifierDbgBreakPoint.
DbgWaitForSignalTimeoutInSec (REG_DWORD)
Mulai Windows 8, ketika VerifierOn dan DbgBreakOnError diatur ke nilai selain nol, driver dapat mengubah periode batas waktu default dengan mengatur DbgWaitForSignalTimeoutInSec.
VerifierAllocateFailCount (REG_DWORD)
Jika nilai ini diatur ke nilai n, kerangka kerja akan gagal dalam setiap upaya untuk mengalokasikan memori untuk objek driver setelah alokasi ke-n.
TrackHandles (REG_MULTI_SZ)
Jika nilai ini diatur ke daftar satu atau beberapa nama tipe handle objek framework, framework melacak referensi ke semua handle objek yang sesuai dengan tipe handle yang ditentukan.
EnhancedVerifierOptions (REG_DWORD)
KMDF saja
Berisi bitmap yang dapat Anda gunakan untuk mengaktifkan fitur opsional pemverifikasi kerangka kerja.
VerifyDownLevel (REG_DWORD)
Jika diatur ke nilai bukan nol, dan jika driver dibangun dengan versi kerangka kerja yang lebih lama dari versi saat ini, pemverifikasi kerangka kerja menyertakan pengujian yang ditambahkan setelah driver dibuat.
Sebagai aturan umum, jika Anda mengatur nilai registri di atas, hapus saat tidak lagi diperlukan.
Untuk deskripsi lengkap tentang nilai registri ini, lihat Nilai Registri untuk Driver berbasis Kerangka Kerja Debugging.