Aturan MemAfterReqCompletedReadA (kmdf)

Aturan MemAfterReqCompletedReadA menentukan bahwa dalam fungsi panggilan balik EvtIoRead , objek memori kerangka kerja tidak dapat diakses setelah permintaan I/O selesai.

Dalam fungsi panggilan balik EvtIoRead driver, objek memori kerangka kerja yang diambil dengan memanggil metode WdfRequestRetrieveOutputMemory tidak dapat diakses setelah memanggil WdfRequestComplete, WdfRequestCompleteWithInformation, atau WdfRequestCompleteWithPriorityBoost pada permintaan I/O.

Aturan ini mempertimbangkan metode akses memori berikut:

WdfMemoryGetBufferWDF_MEMORY_DESCRIPTOR_INIT_HANDLEWdfMemoryAssignBufferWdfMemoryCopyToBufferWdfMemoryCopyFromBufferWdfObjectReferenceWdfObjectDereferenceWdfObjectDelete

Model driver: KMDF

Cara menguji

Pada waktu kompilasi

Jalankan Pemverifikasi Driver Statis dan tentukan aturan MemAfterReqCompletedReadA .

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

WDF_MEMORY_DESCRIPTOR_INIT_HANDLEWdfMemoryAssignBufferWdfMemoryCopyFromBufferWdfMemoryCopyToBufferWdfMemoryGetBufferWdfObjectDeleteWdfObjectDereferenceWdfObjectReferenceWdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveOutputMemory