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.

Lihat juga

FLT_CALLBACK_DATA

FLT_CALLBACK_DATA_QUEUE

FLT_IS_IRP_OPERATION

FltCbdqDisable

FltCbdqEnable

FltCbdqInitialize

FltCbdqInsertIo

FltCbdqRemoveIo