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.
Gunakan aturan ini untuk memverifikasi bahwa driver Anda mengelola sumber daya bersama dengan benar.
Di bagian ini
| Topik | Deskripsi |
|---|---|
Aturan ParentObjectCheckLock menentukan bahwa driver harus memanggil WdfWaitLockCreate dan WdfSpinLockCreate mengatur objek induk. |
|
Aturan ReqSendWhileSpinlock menentukan bahwa tidak ada permintaan yang dikirim saat driver memegang spinlock. |
|
Aturan Spinlock menentukan bahwa panggilan ke KeAcquireSpinLock atau KeAcquireSpinLockRaiseToDpc dan KeReleaseSpinlock digunakan dalam perubahan ketat. |
|
Aturan SpinlockDpc menentukan bahwa panggilan ke KeAcquireSpinLock atau KeAcquireSpinLockRaiseToDpc dan KeReleaseSpinlock digunakan dalam pergantian yang ketat. |
|
Aturan SpinlockRelease menentukan bahwa panggilan ke KeAcquireSpinLock, KeAcquireSpinLockRaiseToDpc, dan KeReleaseSpinLock digunakan dengan cara yang seimbang dalam panggilan balik KMDF. Di akhir rutinitas panggilan balik KMDF, driver tidak boleh menahan kunci putaran. |
|
Aturan WdfInterruptLock menentukan bahwa panggilan ke metode WdfInterruptAcquireLock digunakan dalam perubahan ketat dengan panggilan ke WdfInterruptReleaseLock. Selain itu, di akhir rutinitas panggilan balik KMDF, driver tidak boleh memegang objek kunci putar kerangka kerja, yang diperoleh oleh panggilan sebelumnya ke WdfInterruptAcquireLock. |
|
Aturan WdfInterruptLockRelease menentukan bahwa panggilan ke WdfInterruptAcquireLock dan WdfInterruptReleaseLock digunakan dengan cara yang seimbang dalam rutinitas panggilan balik KMDF. Di akhir rutinitas panggilan balik KMDF, driver tidak boleh memegang objek kunci putar kerangka kerja yang diperoleh oleh panggilan sebelumnya ke WdfInterruptAcquireLock. |
|
Aturan WdfSpinlock menentukan bahwa panggilan ke metode WdfSpinLockAcquire digunakan dalam perubahan ketat dengan WdfSpinlockRelease. Di akhir rutinitas panggilan balik KMDF, driver tidak boleh memegang objek spinlock kerangka kerja yang diperoleh oleh panggilan sebelumnya ke WdfSpinLockAcquire. |
|
Aturan WdfSpinlockRelease menentukan bahwa panggilan ke WdfSpinLockAcquire dan WdfSpinlockRelease digunakan dengan cara yang seimbang dalam fungsi panggilan balik peristiwa KMDF. Ketika fungsi panggilan balik peristiwa KMDF kembali, driver tidak boleh menahan objek kunci putar kerangka kerja yang diperoleh oleh panggilan sebelumnya ke WdfSpinLockAcquire. |
|
Aturan WdfWaitlock menentukan bahwa panggilan ke WdfWaitLockAcquire digunakan dalam perubahan ketat dengan WdfWaitlockRelease. Ketika fungsi panggilan balik peristiwa KMDF kembali, driver tidak boleh menahan objek kunci putar kerangka kerja yang diperoleh oleh panggilan sebelumnya ke WdfWaitLockAcquire. |
|
Aturan WdfWaitlockRelease menentukan bahwa panggilan ke WdfWaitLockAcquire dan WdfWaitLockRelease digunakan dengan cara yang seimbang dalam fungsi panggilan balik peristiwa KMDF. Ketika fungsi panggilan balik peristiwa KMDF kembali, driver tidak boleh menahan objek kunci putar kerangka kerja yang diperoleh oleh panggilan sebelumnya ke WdfWaitLockAcquire. |
Untuk memilih seperangkat aturan Penguncian
Pilih proyek driver Anda (.vcxProj) di Microsoft Visual Studio. Dari menu Driver , klik Luncurkan Pemverifikasi Driver Statis....
Klik tab Aturan . Di bawah Seperangkat Aturan, pilih Penguncian.
Untuk memilih seperangkat aturan default dari jendela prompt perintah pengembang Visual Studio, tentukan Locking.sdv dengan opsi /check . Contohnya:
msbuild /t:sdv /p:Inputs="/check:Locking.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32Untuk informasi selengkapnya, lihat Menggunakan Pemverifikasi Driver Statis untuk Menemukan Cacat dalam perintah Driver dan Verifier Driver Statis (MSBuild).