Bagikan melalui


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:
  1. Siapkan kode Anda (gunakan deklarasi jenis peran).
  2. Jalankan Pemverifikasi Driver Statis.
  3. Lihat dan analisis hasilnya.

Untuk informasi selengkapnya, lihat Menggunakan Pemverifikasi Driver Statis untuk Menemukan Cacat pada Driver.

Berlaku untuk

ExInterlockedInsertHeadListExInterlockedInsertTailListExInterlockedPushEntryListIoMarkIrpPendingRemoveHeadList

Lihat juga

MarkIrpPendingMenyinkronkan Pembatalan IRP