Aturan MdlAfterReqCompletedWriteA (kmdf)
Aturan MdlAfterReqCompletedWriteA menentukan bahwa dalam fungsi panggilan balik EvtIoWrite , objek daftar deskriptor memori (MDL) yang diambil tidak dapat diakses setelah permintaan I/O selesai.
Dalam fungsi panggilan balik EvtIoWrite driver untuk antrean I/O perangkat, buffer permintaan yang diambil dengan memanggil metode WdfRequestRetrieveInputWdmMdl tidak dapat diakses setelah memanggil WdfRequestComplete, WdfRequestCompleteWithInformation, atau WdfRequestCompleteWithPriorityBoost pada permintaan I/O.
Aturan ini mempertimbangkan 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 MdlAfterReqCompletedWriteA . Gunakan langkah-langkah berikut untuk menjalankan analisis kode Anda:
Untuk informasi selengkapnya, lihat Menggunakan Pemverifikasi Driver Statis untuk Menemukan Cacat pada Driver. |
Berlaku untuk
WDF_MEMORY_DESCRIPTOR_INIT_MDLWdfDmaTransactionInitializeWdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputWdmMdlIoBuildPartialMdlKeFlushIoBuffersMmGetMdlByteCountMmGetMdlByteOffsetMmGetMdlPfnArrayMmGetMdlVirtualAddressMmGetSystemAddressForMdlSafeMmPrepareMdlForReuse
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk