Bagikan melalui


Fungsi FltCancelIo (fltkernel.h)

Rutinitas FltCancelIo membatalkan operasi I/O.

Sintaks

BOOLEAN FLTAPI FltCancelIo(
  [in] PFLT_CALLBACK_DATA CallbackData
);

Parameter

[in] CallbackData

Arahkan ke struktur data panggilan balik (FLT_CALLBACK_DATA) untuk operasi I/O.

Mengembalikan nilai

FltCancelIo mengembalikan TRUE jika operasi I/O berhasil dibatalkan. Jika tidak, ia mengembalikan FALSE.

Keterangan

Driver minifilter yang memulai operasi I/O dengan memanggil rutinitas seperti FltPerformAsynchronousIo dapat membatalkan operasi dengan memanggil FltCancelIo. Operasi harus merupakan operasi I/O berbasis IRP, saat ini tidak boleh diposting ke antrean kerja driver minifilter sendiri, dan tidak boleh diselesaikan.

Jika IRP memiliki rutinitas pembatalan, FltCancelIo menetapkan bit pembatalan IRP dan memanggil rutinitas pembatalan.

Jika IRP tidak memiliki rutinitas pembatalan, dan oleh karena itu IRP tidak dapat dibatalkan, FltCancelIo menetapkan bit pembatalan IRP dan mengembalikan FALSE. IRP harus dibatalkan di lain waktu ketika menjadi dapat dibatalkan.

Jika driver minifilter yang tidak memulai operasi I/O berbasis IRP memanggil FltCancelIo, hasilnya tidak dapat diprediksi. Misalnya, IRP mungkin diselesaikan dengan kode NTSTATUS yang sukses meskipun bit pembatalannya ditetapkan.

FltCancelIo mengembalikan FALSE jika salah satu kondisi berikut ini benar:

  • Operasi ini bukan operasi I/O berbasis IRP.
  • Tidak ada rutinitas pembatalan yang ditentukan untuk operasi I/O.
  • Operasi I/O telah dibatalkan.
Untuk menentukan apakah struktur data panggilan balik tertentu mewakili operasi I/O berbasis IRP, gunakan makro FLT_IS_IRP_OPERATION.

Untuk menentukan rutinitas pembatalan untuk operasi I/O, panggil FltSetCancelCompletion.

Untuk menghapus rutinitas pembatalan yang ditetapkan untuk operasi I/O, panggil FltClearCancelCompletion.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header fltkernel.h (termasuk FltKernel.h)
Pustaka FltMgr.lib
IRQL <= DISPATCH_LEVEL

Lihat juga

FLT_CALLBACK_DATA

FLT_IS_IRP_OPERATION

FltClearCancelCompletion

FltPerformAsynchronousIo

FltReadFile

FltSetCancelCompletion

FltWriteFile