Fungsi FltReleaseContext (fltkernel.h)
FltReleaseContext mengurangi jumlah referensi pada konteks.
Sintaks
VOID FLTAPI FltReleaseContext(
[in] PFLT_CONTEXT Context
);
Parameter
[in] Context
Arahkan ke konteks. Harus berupa penunjuk yang valid ke objek konteks untuk volume, instans, streaming, atau handel streaming. Parameter ini diperlukan dan tidak boleh NULL.
Nilai kembali
Tidak ada
Keterangan
Untuk informasi selengkapnya tentang konteks, lihat Tentang konteks minifilter.
Driver minifilter memanggil FltReleaseContext untuk merilis konteks. FltReleaseContext mengurangi jumlah referensi pada konteks yang diberikan. Ketika jumlah referensi mencapai nol, konteks segera dikosongkan jika pemanggil berjalan di IRQL <= APC_LEVEL. Jika pemanggil berjalan di IRQL DISPATCH_LEVEL, item kerja dijadwalkan untuk membebaskan konteks.
Catatan
Setelah FltReleaseContext kembali, pemanggil tidak boleh menggunakan konteks, karena konteksnya mungkin telah dikosongkan.
Setiap panggilan yang berhasil ke FltAllocateContext, FltGetXxxContext, atau FltReferenceContext akhirnya harus dicocokkan dengan panggilan ke FltReleaseContext.
Perhatikan bahwa penunjuk OldContext yang dikembalikan oleh Konteks XxxFltSetdan parameterKonteks yang digunakan untuk memanggil FltDeleteContext juga harus dirilis dengan memanggil FltReleaseContext saat tidak lagi diperlukan.
Untuk mengalokasikan konteks baru, panggil FltAllocateContext.
Untuk menambah jumlah referensi pada konteks, panggil FltReferenceContext.
Untuk informasi selengkapnya tentang penghitungan referensi konteks, lihat Mereferensikan Konteks.
Penelepon FltReleaseContext harus berjalan di IRQL <= DISPATCH_LEVEL jika konteks dialokasikan dari kumpulan yang tidak di-patahkan. Jika konteks dialokasikan dari kumpulan halaman, penelepon harus berjalan di IRQL <= APC_LEVEL.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Header | fltkernel.h (termasuk Fltkernel.h) |
Pustaka | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | Lihat bagian Keterangan. |