Aturan MarkingInterlockedQueuedIrps (wdm)
Aturan MarkingInterlockedQueuedIrps menentukan bahwa driver menandai IRP dengan benar sebagai tertunda sebelum mengantrekannya secara bergantian untuk pemrosesan lebih lanjut.
Aturan ini juga menentukan bahwa driver memanggil IoMarkIrpPending dan menandai IRP dengan benar sebagai tertunda sebelum memanggil salah satu fungsi berikut untuk menambahkan IRP ke antrean yang saling mengunci:
Driver harus memanggil IoMarkIrpPending sebelum menambahkan IRP yang memerlukan lebih banyak pemrosesan ke antrean yang saling diblokir. Jika tidak, IRP dapat dihapus dari antrean, diselesaikan oleh rutinitas driver lain, dan dikosongkan oleh sistem sebelum panggilan ke IoMarkIrpPending terjadi, sehingga menyebabkan crash.
Untuk informasi selengkapnya, lihat Menyinkronkan Pembatalan IRP.
Model driver: WDM
Cara menguji
Pada waktu kompilasi |
---|
Jalankan Pemverifikasi Driver Statis dan tentukan aturan MarkingInterlockedQueuedIrps . Gunakan langkah-langkah berikut untuk menjalankan analisis kode Anda:
Untuk informasi selengkapnya, lihat Menggunakan Pemverifikasi Driver Statis untuk Menemukan Cacat pada Driver. |
Berlaku untuk
ExInterlockedInsertHeadListExInterlockedInsertTailListExInterlockedPushEntryListIoMarkIrpPendingRemoveHeadList