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.
Aturan MdlAfterReqCompletedIntIoctlA menentukan bahwa dalam fungsi panggilan balik EvtIoInternalDeviceControl , daftar deskriptor memori (MDL) tidak dapat diakses setelah permintaan I/O selesai.
Dalam fungsi panggilan balik EvtIoInternalDeviceControl 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 mempertimbangkan fungsi akses MDL berikut:
WDF_MEMORY_DESCRIPTOR_INIT_MDLMmGetMdlByteCountMmGetSystemAddressForMdlSafeMmGetMdlVirtualAddressIoBuildPartialMdl (pertama dan kedua parameter) KeFlushIoBuffersMmGetMdlPfnArrayMmGetMdlByteOffsetMmPrepareMdlForReuseWdfDmaTransactionInitialize
Model driver: KMDF
Cara menguji
| Pada waktu kompilasi |
|---|
Jalankan Verifier Driver Statis dan tentukan aturan MdlAfterReqCompletedIntIoctlA . 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_MDLWdfDmaTransactionInitializeWdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputWdmMdlWdfRequestRetrieveOutputWdmMdlIoBuildPartialMdlKeFlushIoBuffersMmGetMdlByteCountMmGetMdlByteOffsetMmGetMdlPfnArrayMmGetMdlVirtualAddressMmGetSystemAddressForMdlSafeMmPrepareMdlForReuse