Bagikan melalui


Aturan ReqNotCanceledLocal (kmdf)

Aturan ReqNotCanceledLocal menentukan bahwa jika permintaan yang ditandai sebagai dapat dibatalkan diselesaikan dalam fungsi panggilan balik antrean I/O default, metode WdfRequestUnmarkCancelable harus dipanggil pada permintaan I/O sebelum selesai. Permintaan I/O harus diselesaikan, kecuali permintaan dibatalkan sebelum memanggil WdfRequestUnmarkCancelable.

Jika permintaan yang ditandai sebagai dapat dibatalkan oleh WdfRequestMarkCancelable selesai (dengan memanggil WdfRequestComplete, WdfRequestCompleteWithInformation, atau WdfRequestCompleteWithPriorityBoost), metode WdfRequestUnmarkCancelable harus dipanggil sebelum permintaan I/O selesai. Permintaan dapat diselesaikan kecuali metode WdfRequestUnmarkCancelable mengembalikan status yang sama dengan STATUS_CANCELLED.

Fungsi panggilan balik antrean I/O default untuk permintaan adalah EvtIoDefault, EvtIoRead, EvtIoWrite, EvtIoDeviceControl, EvtIoInternalDeviceControl.

Model driver: KMDF

Cara menguji

Pada waktu kompilasi

Jalankan Pemverifikasi Driver Statis dan tentukan aturan ReqNotCanceledLocal .

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

WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestMarkCancelableWdfRequestMarkCancelableExWdfRequestUnmarkCancelable