Fungsi FltCompletePendedPreOperation (fltkernel.h)

FltCompletePendedPreOperation melanjutkan pemrosesan untuk operasi I/O yang tertunda dalam rutinitas panggilan balik praoperasi driver minifilter (PFLT_PRE_OPERATION_CALLBACK).

Sintaks

VOID FLTAPI FltCompletePendedPreOperation(
                 PFLT_CALLBACK_DATA        CallbackData,
  [in]           FLT_PREOP_CALLBACK_STATUS CallbackStatus,
  [in, optional] PVOID                     Context
);

Parameter

CallbackData

Arahkan ke struktur data panggilan balik (FLT_CALLBACK_DATA) untuk operasi I/O. Parameter ini diperlukan dan tidak boleh NULL.

[in] CallbackStatus

Nilai status yang dikembalikan driver minifilter untuk operasi I/O ini. Tidak dapat FLT_PREOP_PENDING, FLT_PREOP_SYNCHRONIZE, atau FLT_PREOP_DISALLOW_FASTIO. Harus salah satu nilai FLT_PREOP_CALLBACK_STATUS berikut ini. Untuk informasi selengkapnya tentang efek nilai-nilai ini, lihat bagian Keterangan dari entri referensi untuk PFLT_PRE_OPERATION_CALLBACK.

Nilai Makna
FLT_PREOP_COMPLETE Driver minifilter sedang menyelesaikan operasi I/O. Manajer Filter tidak mengirim operasi I/O ke driver minifilter apa pun di bawah pemanggil atau ke sistem file. Manajer Filter hanya memanggil rutinitas panggilan balik pascaoperasi (PFLT_POST_OPERATION_CALLBACK) dari driver minifilter di atas pemanggil.
FLT_PREOP_SUCCESS_NO_CALLBACK Driver minifilter mengembalikan kontrol operasi I/O ke Filter Manager. Manajer Filter tidak memanggil panggilan balik pascaoperasi yang sesuai, jika ada, selama penyelesaian I/O.
FLT_PREOP_SUCCESS_WITH_CALLBACK Driver minifilter mengembalikan kontrol operasi I/O ke Filter Manager. Manajer Filter memanggil panggilan balik pascaoperasi yang sesuai selama penyelesaian I/O.

[in, optional] Context

Jika FLT_PREOP_SUCCESS_WITH_CALLBACK ditentukan untuk CallbackStatus, parameter ini adalah penunjuk konteks opsional untuk diteruskan ke rutinitas panggilan balik pascaoperasi yang sesuai. Jika FLT_PREOP_COMPLETE atau FLT_PREOP_SUCCESS_NO_CALLBACK ditentukan untuk CallbackStatus, parameter ini harus NULL.

Mengembalikan nilai

Tidak ada

Keterangan

Ketika panggilan balik praoperasi driver minifilter (PFLT_PRE_OPERATION_CALLBACK) rutin memposting operasi I/O ke antrean kerja dan mengembalikan FLT_PREOP_PENDING, Manajer Filter berhenti memproses operasi. Ketika operasi akhirnya dihapus antrean dan diproses, driver minifilter harus memanggil FltCompletePendedPreOperation untuk mengembalikan operasi ke Manajer Filter, yang kemudian melanjutkan pemrosesan seperti yang diarahkan oleh CallbackStatus yang ditentukan oleh driver minifilter.

Jika parameter CallbackStatus FLT_PREOP_COMPLETE, FltCompletePendedPreOperation dapat dipanggil di IRQL <= DISPATCH_LEVEL. Jika tidak, penelepon FltCompletePendedPreOperation harus berjalan di IRQL <= APC_LEVEL.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header fltkernel.h (termasuk Fltkernel.h)
Pustaka FltMgr.lib
IRQL Lihat bagian Keterangan.

Lihat juga

FLT_CALLBACK_DATA

FltCbdqInitialize

FltCompletePendedPostOperation

FltQueueDeferredIoWorkItem

PFLT_PRE_OPERATION_CALLBACK