Bagikan melalui


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

Lihat juga

FLT_CONTEXT_REGISTRATION

FLT_REGISTRATION

FltRegisterFilter

PFLT_CONTEXT_CLEANUP_CALLBACK

PFLT_CONTEXT_FREE_CALLBACK