PFLT_COMPLETED_ASYNC_IO_CALLBACK fungsi panggilan balik (fltkernel.h)
Driver minifilter yang memulai operasi I/O asinkron dapat menentukan rutinitas jenis PFLT_COMPLETED_ASYNC_IO_CALLBACK rutin untuk dipanggil ketika operasi selesai.
Sintaks
PFLT_COMPLETED_ASYNC_IO_CALLBACK PfltCompletedAsyncIoCallback;
void PfltCompletedAsyncIoCallback(
[in] PFLT_CALLBACK_DATA CallbackData,
[in] PFLT_CONTEXT Context
)
{...}
Parameter
[in] CallbackData
Arahkan ke struktur data panggilan balik untuk operasi I/O.
[in] Context
Penunjuk konteks yang diteruskan driver minifilter sebagai parameter ke FltPerformAsynchronousIo, FltReadFile, atau FltWriteFile.
Nilai kembali
Tidak ada
Keterangan
Ketika driver minifilter memanggil FltPerformAsynchronousIo, FltReadFile atau FltWriteFile untuk memulai operasi I/O asinkron, driver minifilter dapat secara opsional menentukan rutinitas panggilan balik untuk dipanggil ketika operasi I/O selesai. Ini dilakukan dengan menentukan rutinitas jenis PFLT_COMPLETED_ASYNC_IO_CALLBACK untuk parameter CallbackRoutine .
Ketika operasi I/O selesai, rutinitas panggilan balik ini dipanggil dalam konteks utas arbitrer, di IRQL <= DISPATCH_LEVEL.
Karena rutinitas PFLT_COMPLETED_ASYNC_IO_CALLBACK dapat dipanggil di DISPATCH_LEVEL IRQL, rutinitas tersebut tunduk pada batasan berikut:
- Ini tidak dapat dengan aman memanggil rutinitas mode kernel yang memerlukan IRQL yang lebih rendah.
- Struktur data apa pun yang digunakan dalam rutinitas ini harus dialokasikan dari kumpulan yang tidak dipagasi.
- Ini tidak dapat dijadikan halaman.
- Ini tidak dapat memperoleh sumber daya, mutex, atau mutex cepat. Namun, ia dapat memperoleh kunci spin.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | fltkernel.h (termasuk Fltkernel.h) |
IRQL | Lihat bagian Keterangan. |