Bagikan melalui


Fungsi FltGetContextsEx (fltkernel.h)

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

Sintaks

NTSTATUS FLTAPI FltGetContextsEx(
  [in]  PCFLT_RELATED_OBJECTS    FltObjects,
  [in]  FLT_CONTEXT_TYPE         DesiredContexts,
  [in]  SIZE_T                   ContextsSize,
  [out] PFLT_RELATED_CONTEXTS_EX Contexts
);

Parameter

[in] FltObjects

Penunjuk ke struktur FLT_RELATED_OBJECTS yang berisi pointer buram untuk objek yang terkait dengan operasi saat ini. Lihat Keterangan untuk informasi selengkapnya.

[in] DesiredContexts

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 020040
FLT_ALL_CONTEXTS Bitwise OR dari semua nilai konteks

[in] ContextsSize

Ukuran, dalam byte, dari struktur FLT_RELATED_CONTEXTS_EX yang dirujuk oleh Konteks. Atur ke sizeof(FLT_RELATED_CONTEXTS_EX).

[out] Contexts

Arahkan ke struktur FLT_RELATED_CONTEXTS yang dialokasikan penelepon 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 menemukan.

Nilai kembali

FltGetContextsEx mengembalikan STATUS_SUCCESS setelah berhasil diselesaikan. Jika tidak, ia mengembalikan kode status seperti salah satu hal berikut ini.

Kode Makna
STATUS_INVALID_PARAMETER Nilai konteks yang tidak valid dimasukkan.

Keterangan

Untuk informasi selengkapnya tentang konteks, lihat Tentang konteks minifilter.

Driver minifilter memanggil FltGetContextsEx untuk mengambil pointer ke konteksnya untuk objek dalam struktur FLT_RELATED_OBJECTS . Pada STATUS_SUCCESS, minifilter perlu memeriksa bahwa konteks bukan nol sebelum menggunakannya.

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

FltGetContextsEx menaikkan jumlah referensi pada setiap konteks yang dikembalikan dalam struktur FLT_RELATED_CONTEXTS_EX yang ditunjuk parameter Konteks . Dengan demikian untuk setiap panggilan yang berhasil ke FltGetContextsEx, pemanggil harus:

  • Panggil FltReleaseContextsEx 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
Klien minimum yang didukung Windows 8
Target Platform Universal
Header fltkernel.h (termasuk Fltkernel.h)
Pustaka FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Lihat juga

FLT_RELATED_CONTEXTS_EX

FLT_RELATED_OBJECTS

FltRegisterFilter

FltReleaseContext

FltReleaseContextsEx

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK