Fungsi FltCbdqRemoveNextIo (fltkernel.h)
FltCbdqRemoveNextIo menghapus item yang cocok berikutnya dalam antrean data panggilan balik driver minifilter.
Sintaks
PFLT_CALLBACK_DATA FLTAPI FltCbdqRemoveNextIo(
[in, out] PFLT_CALLBACK_DATA_QUEUE Cbdq,
[in, optional] PVOID PeekContext
);
Parameter
[in, out] Cbdq
Arahkan ke antrean data panggilan balik yang aman untuk dibatalkan. Antrean ini harus telah diinisialisasi dengan memanggil FltCbdqInitialize.
[in, optional] PeekContext
Arahkan ke informasi yang ditentukan penelepon yang mengidentifikasi item yang cocok. Parameter ini bersifat opsional dan dapat berupa NULL.
Nilai kembali
FltCbdqRemoveNextIo mengembalikan penunjuk ke struktur data panggilan balik (FLT_CALLBACK_DATA) untuk item yang dihapus dari antrean atau NULL jika tidak ada item yang cocok yang ditemukan. FltCbdqRemoveNextIo hanya mengembalikan item untuk operasi I/O yang belum dibatalkan.
Keterangan
FltCbdqRemoveNextIo menghapus item yang cocok berikutnya dari antrean data panggilan balik driver minifilter.
Driver minifilter dapat menggunakan rutinitas FltCbdqXxx untuk menerapkan antrean data panggilan balik untuk operasi I/O berbasis IRP. Dengan menggunakan rutinitas ini, pengemudi minifilter dapat membuat antrean mereka batal aman; sistem secara transparan menangani pembatalan I/O untuk driver minifilter.
Rutinitas FltCbdqXxx hanya dapat digunakan untuk operasi I/O berbasis IRP. Untuk menentukan apakah struktur data panggilan balik (FLT_CALLBACK_DATA) tertentu mewakili operasi I/O berbasis IRP, gunakan makro FLT_IS_IRP_OPERATION .
Antrean data panggilan balik diinisialisasi oleh FltCbdqInitialize. FltCbdqRemoveNextIo menggunakan rutinitas yang disediakan dalam tabel pengiriman antrean untuk mengunci antrean dan menghapus item pencocokan berikutnya dari antrean. Operasi penghapusan itu sendiri dilakukan oleh rutinitas panggilan balik CbdqRemoveIo driver minifilter.
FltCbdqRemoveNextIo menggunakan rutinitas panggilan balik CbdqPeekNextIo antrean untuk memindai antrean untuk mencocokkan item. Parameter PeekContext diteruskan ke rutinitas panggilan balik CbdqPeekNextIo untuk mengulang item yang cocok. Arti PeekContext dan kriteria item yang cocok dengan PeekContext tertentu sepenuhnya tergantung pada driver minifilter.
Jika antrean dilindungi oleh kunci putar, bukan objek mutex atau variabel sumber daya, pemanggil FltCbdqRemoveNextIo dapat berjalan di IRQL <= DISPATCH_LEVEL. Jika mutex atau sumber daya digunakan, pemanggil harus berjalan di IRQL <= APC_LEVEL.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Header | fltkernel.h (termasuk Fltkernel.h) |
IRQL | Lihat bagian Keterangan. |