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 menunggu paket permintaan I/O (IRP) dengan benar.
Di bagian ini
| Topik | Deskripsi |
|---|---|
Aturan MarkDevicePower menentukan bahwa IRP_MJ_POWER dengan IRP_MN_SET_POWER untuk SystemPowerState IRP masuk ke S0 tertunda. |
|
Aturan MarkingInterlockedQueuedIrps menentukan bahwa driver menandai IRP dengan benar sebagai tertunda sebelum mengantrenya secara bergantian untuk pemrosesan lebih lanjut. |
|
Aturan MarkingQueuedIrps menentukan bahwa driver memanggil IoMarkIrpPending untuk IRP yang hanya memerlukan pemrosesan lebih lanjut sambil menahan kunci putar. Aturan ini hanya berlaku ketika driver menambahkan IRP ke antrean yang dikelola driver. |
|
Aturan MarkIrpPending menentukan bahwa setiap kali pengiriman driver rutin memanggil IoMarkIrpPending, driver mengembalikan STATUS_PENDING ketika rutinitas pengiriman berakhir. Lihat MarkIrpPending2 untuk spesifikasi gratis. |
|
Aturan MarkIrpPending2 menentukan bahwa jika rutinitas pengiriman mengembalikan STATUS_PENDING, aturan tersebut telah memanggil IoMarkIrpPending atau meneruskan IRP ke driver yang lebih rendah. Lihat MarkIrpPending untuk spesifikasi gratis. |
|
Aturan MarkPower menentukan bahwa IRP_MJ_POWER dengan IRP_MN_SET_POWER untuk SystemPowerState IRP masuk ke S0 tertunda. Aturan ini hanya berlaku untuk driver FDO dan FIDO. |
|
Aturan MarkPowerDown menentukan bahwa IRP_MJ_POWER dengan IRP_MN_SET_POWER untuk SystemPowerState IRP beralih dari s0 ke [S1... S5] tertunda. |
|
Aturan MarkQueryRelations menentukan bahwa driver harus menunggu IRP_MN_QUERY_DEVICE_RELATIONS IRP. |
|
Aturan MarkStartDevice menentukan bahwa driver menunggu IRP_MN_START_DEVICE IRP dengan benar. Aturan ini hanya berlaku untuk driver FDO dan FIDO. |
|
Aturan PendedCompletedRequest menentukan bahwa rutinitas pengiriman driver tidak mengembalikan STATUS_PENDING pada IRP jika driver telah memanggil IoCompleteRequest pada IRP yang masuk. |
|
Aturan PendedCompletedRequest2 menentukan bahwa penantian diperlukan setelah panggilan ke IoCallDriver atau PoCallDriver karena rutinitas pengiriman dapat menyelesaikan IRP yang tertunda. |
|
Aturan PendedCompletedRequest3 menentukan bahwa IRP yang tertunda tidak boleh diselesaikan dengan panggilan ke IoCompleteRequest. |
|
Aturan PendedCompletedRequestEx menentukan bahwa driver tidak boleh memanggil IoCompleteRequest untuk IRP yang tertunda. |
|
Aturan StartDeviceWait menentukan bahwa driver tidak boleh memanggil KeWaitForSingleObject dalam konteks IRP perangkat mulai. |
|
Aturan StartDeviceWait2 menentukan bahwa driver tidak boleh memanggil KeWaitForSingleObject dalam konteks IRP perangkat mulai. |
|
Aturan StartDeviceWait3 menentukan bahwa driver tidak boleh memanggil KeWaitForSingleObject dalam konteks IRP perangkat mulai. |
|
Aturan StartDeviceWait4 menentukan bahwa driver tidak boleh memanggil KeWaitForSingleObject dalam konteks IRP perangkat mulai. |
Untuk memilih seperangkat aturan IrpPending
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 IrpPending.
Untuk memilih seperangkat aturan default dari jendela prompt perintah pengembang Visual Studio, tentukan IrpPending.sdv dengan opsi /check . Contohnya:
msbuild /t:sdv /p:Inputs="/check:IrpPending.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).