Bagikan melalui


Seperangkat aturan IrpProcessing (KMDF)

Gunakan aturan ini untuk memverifikasi bahwa driver Anda memproses paket permintaan I/O (IRP) dengan benar.

Di bagian ini

Topik Deskripsi

FwdIrpToIoQueueValid

Aturan FwdIrpToIoQueueValid menentukan bahwa driver mengirim IRP ke antrean I/O, menggunakan metode WdfDeviceWdmDispatchIrpToIoQueue dari callback EvtDeviceWdmIrpDispatch atau callback EvtDeviceWdmIrpPreprocess.

SetCompletionRoutineFromDispatch

Aturan SetCompletionRoutineFromDispatch memverifikasi bahwa driver tidak menentukan rutinitas penyelesaian pada IRP dari fungsi panggilan balik EvtDeviceWdmIrpDispatch mereka.

MiniportOnlyWdmDevice

Aturan MiniportOnlyWdmDevice menentukan bahwa driver WDF tidak boleh menggunakan fungsi IoCreateDevice dan IoCreateDeviceSecure untuk membuat objek perangkat WDM kosong. Ini akan menyebabkan komputer mengalami crash jika seseorang mencoba mengirim IRP ke perangkat WDM. Ini karena entri pengiriman IRP perangkat diatur ke entri khusus WDF, tetapi kerangka kerja belum membuat perangkat WDF. Namun, driver miniport dapat menggunakan DDI karena titik masuk pengiriman driver tidak diatur untuk mereka.

Untuk memilih seperangkat aturan IrpProcessing

  1. Pilih proyek driver Anda (.vcxProj) di Microsoft Visual Studio. Dari menu Driver , klik Luncurkan Pemverifikasi Driver Statis....

  2. Klik tab Aturan. Di bawah Seperangkat Aturan, pilih IrpProcessing.

    Untuk memilih seperangkat aturan default dari jendela prompt perintah pengembang Visual Studio, tentukan IrpProcessing.sdv dengan opsi /check . Contohnya:

    msbuild /t:sdv /p:Inputs="/check:IrpProcessing.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
    

    Untuk informasi selengkapnya, lihat Menggunakan Pemverifikasi Driver Statis untuk Menemukan Cacat dalam perintah Driver dan Verifier Driver Statis (MSBuild).