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 BufAfterReqCompletedIntIoctl menentukan bahwa setelah permintaan selesai, buffernya tidak dapat diakses (hanya di dalam fungsi panggilan balik EvtIoInternalDeviceControl ). Buffer diambil dengan memanggil WdfRequestRetrieveOutputBuffer atau WdfRequestRetrieveUnsafeUserOutputBuffer atau WdfRequestRetrieveInputBuffer atau WdfRequestRetrieveUnsafeUserInputBuffer.
Dalam fungsi panggilan balik peristiwa antrean I/O EvtIoInternalDeviceControl , buffer permintaan yang diambil dengan memanggil WdfRequestRetrieveInputBuffer, WdfRequestRetrieveOutputBuffer, WdfRequestRetrieveUnsafeUserInputBuffer, atau WdfRequestRetrieveUnsafeUserOutputBuffer tidak dapat diakses setelah permintaan selesai. Permintaan diselesaikan dengan memanggil WdfRequestComplete, WdfRequestCompleteWithInformation, atau WdfRequestComplete, WdfRequestCompleteWithPriorityBoost. Fungsi akses buffer yang mungkin berikut dipertimbangkan: WdfRequestRetrieveOutputBuffer, WdfRequestRetrieveUnsafeUserOutputBuffer, WdfRequestRetrieveInputBuffer dan WdfRequestRetrieveUnsafeUserInputBuffer.
Model driver: KMDF
Cara menguji
| Pada waktu kompilasi |
|---|
Jalankan Verifier Driver Statis dan tentukan aturan BufAfterReqCompletedIntIoctl . Gunakan langkah-langkah berikut untuk menjalankan analisis kode Anda:
Untuk informasi selengkapnya, lihat Menggunakan Pemverifikasi Driver Statis untuk Menemukan Cacat pada Driver. |
Berlaku untuk
WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputBufferWdfRequestRetrieveOutputBufferWdfRequestRetrieveUnsafeUserInputBufferWdfRequestRetrieveUnsafeUserOutputBuffer