Aturan MdlAfterReqCompletedIoctl (kmdf)

Aturan MdlAfterReqCompletedIoctl menentukan bahwa dalam fungsi panggilan balik EvtIoDeviceControl , daftar deskriptor memori (MDL) tidak dapat diakses setelah permintaan I/O selesai.

Dalam fungsi panggilan balik EvtIoDeviceControl driver, MDL yang diambil dengan memanggil metode WdfRequestRetrieveInputWdmMdl atau WdfRequestRetrieveOutputWdmMdl tidak dapat diakses setelah memanggil WdfRequestComplete, WdfRequestCompleteWithInformation, atau WdfRequestCompleteWithPriorityBoost pada permintaan I/O.

Aturan ini melihat fungsi akses MDL berikut:

WDF_MEMORY_DESCRIPTOR_INIT_MDLMmGetMdlByteCountMmGetSystemAddressForMdlSafeMmGetMdlVirtualAddressIoBuildPartialMdl (pertama dan kedua parameter) KeFlushIoBuffersMmGetMdlPfnArrayMmGetMdlByteOffsetMmPrepareMdlForReuseWdfDmaTransactionInitialize

Model driver: KMDF

Cara menguji

Pada waktu kompilasi

Jalankan Pemverifikasi Driver Statis dan tentukan aturan MdlAfterReqCompletedIoctl .

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

WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputWdmMdlWdfRequestRetrieveOutputWdmMdl