PFLT_CONTEXT_ALLOCATE_CALLBACK fungsi panggilan balik (fltkernel.h)
Driver minifilter dapat mendaftarkan rutinitas jenis PFLT_CONTEXT_ALLOCATE_CALLBACK sebagai rutinitas ContextAllocateCallback driver minifilter.
Sintaks
PFLT_CONTEXT_ALLOCATE_CALLBACK PfltContextAllocateCallback;
PVOID PfltContextAllocateCallback(
[in] POOL_TYPE PoolType,
[in] SIZE_T Size,
[in] FLT_CONTEXT_TYPE ContextType
)
{...}
Parameter
[in] PoolType
Jenis kumpulan yang akan dialokasikan. Parameter ini diperlukan dan harus salah satu dari yang berikut ini:
NonPagedPool
PagedPool
Harus NonPagedPool jika parameter ContextType FLT_VOLUME_CONTEXT.
[in] Size
Ukuran, dalam byte, dari seluruh konteks, termasuk bagian yang ditentukan oleh manajer filter dan bagian yang ditentukan oleh driver minifilter.
[in] ContextType
Jenis konteks. Parameter ini diperlukan dan harus menjadi salah satu nilai berikut:
FLT_FILE_CONTEXT (dimulai dengan Windows Vista)
FLT_INSTANCE_CONTEXT
FLT_STREAM_CONTEXT
FLT_STREAMHANDLE_CONTEXT
FLT_SECTION_CONTEXT (dimulai dengan Windows 8)
FLT_TRANSACTION_CONTEXT (dimulai dengan Windows Vista)
FLT_VOLUME_CONTEXT
Nilai kembali
Jika tidak tersedia cukup kumpulan gratis untuk memenuhi permintaan, rutinitas ini mengembalikan pointer NULL . Jika tidak, ia mengembalikan penunjuk ke konteks yang baru dialokasikan.
Keterangan
Untuk kasus langka bahwa driver minifilter harus melakukan alokasi konteksnya sendiri, dapat menentukan rutinitas jenis PFLT_CONTEXT_ALLOCATE_CALLBACK sebagai rutinitas ContextAllocateCallback untuk setiap jenis konteks yang didaftarkannya ketika memanggil FltRegisterFilter dari rutinitas DriverEntry-nya . Untuk menentukan rutinitas ini, driver minifilter menyimpan penunjuk ke rutinitas di anggota ContextAllocateCallback dari struktur FLT_CONTEXT_REGISTRATION untuk jenis konteks.
Untuk informasi selengkapnya tentang pendaftaran konteks, lihat entri referensi untuk FLT_CONTEXT_REGISTRATION.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | fltkernel.h (termasuk Fltkernel.h) |
IRQL | <=APC_LEVEL |