Fungsi FltGetContexts (fltkernel.h)

Rutinitas FltGetContexts mengambil konteks driver minifilter untuk objek yang terkait dengan operasi saat ini.

Sintaks

VOID FLTAPI FltGetContexts(
  PCFLT_RELATED_OBJECTS FltObjects,
  FLT_CONTEXT_TYPE      DesiredContexts,
  PFLT_RELATED_CONTEXTS Contexts
);

Parameter

FltObjects

[in] Penunjuk ke struktur FLT_RELATED_OBJECTS yang berisi penunjuk buram untuk objek yang terkait dengan operasi saat ini. Untuk informasi selengkapnya tentang parameter ini, lihat bagian Keterangan.

DesiredContexts

[in] Mengidentifikasi jenis konteks yang akan diambil. Parameter ini bisa menjadi bitwise ATAU dari nilai berikut.

Terus-menerus Nilai
FLT_VOLUME_CONTEXT 0x0001
FLT_INSTANCE_CONTEXT 0x0002
FLT_FILE_CONTEXT 0x0004
FLT_STREAM_CONTEXT 0x0008
FLT_STREAMHANDLE_CONTEXT 0x0010
FLT_TRANSACTION_CONTEXT 0x0020
FLT_SECTION_CONTEXT (mulai dari Windows 8) 020040
FLT_ALL_CONTEXTS Bitwise OR dari semua nilai konteks

Contexts

[out] Arahkan ke struktur FLT_RELATED_CONTEXTS yang dialokasikan pemanggil yang menerima konteks yang diminta. Parameter ini diperlukan dan tidak dapat diatur ke NULL. FltMgr menetapkan anggota struktur ke nol untuk:

  • Konteks yang tidak diminta pemanggil.
  • Konteks yang diminta pemanggil tetapi FltMgr tidak dapat menemukannya.

Nilai kembali

Tidak ada.

Keterangan

Untuk informasi selengkapnya tentang konteks, lihat Tentang konteks minifilter.

Driver minifilter memanggil FltGetContexts untuk mengambil pointer ke konteks driver minifilter untuk objek dalam struktur FLT_RELATED_OBJECTS .

Jenis rutinitas panggilan balik driver minifilter berikut menerima pointer ke struktur FLT_RELATED_OBJECTS sebagai parameter input FltObjects :

FltGetContexts menambah jumlah referensi pada setiap konteks yang dikembalikan dalam struktur FLT_RELATED_CONTEXTS yang ditunjukkan parameter Konteks . Dengan demikian untuk setiap panggilan yang berhasil ke FltGetContexts, pemanggil harus:

  • Panggil FltReleaseContexts untuk seluruh struktur yang dituju parameter Konteks .
  • Panggil FltReleaseContext untuk setiap konteks yang dikembalikan dalam struktur dan atur setiap bidang konteks yang dikembalikan dalam struktur ke nol.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header fltkernel.h (termasuk Fltkernel.h)
Pustaka FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Lihat juga

FLT_RELATED_CONTEXTS

FLT_RELATED_OBJECTS

FltGetContextsEx

FltRegisterFilter

FltReleaseContext

FltReleaseContexts

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK