FltGetContexts 函式 (fltkernel.h)

FltGetContexts 例程會擷取與目前作業相關物件的迷你篩選驅動程序內容。

語法

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

參數

FltObjects

[in] FLT_RELATED_OBJECTS 結構的指標,其中包含與目前作業相關的物件不透明指標。 如需此參數的詳細資訊,請參閱一節。

DesiredContexts

[in]識別要擷取的內容類型。 此參數可以是下列值的位 OR。

常數
FLT_VOLUME_CONTEXT 0x0001
FLT_INSTANCE_CONTEXT 0x0002
FLT_FILE_CONTEXT 0x0004
FLT_STREAM_CONTEXT 0x0008
FLT_STREAMHANDLE_CONTEXT 0x0010
FLT_TRANSACTION_CONTEXT 0x0020
從 Windows 8) 開始FLT_SECTION_CONTEXT ( 020040
FLT_ALL_CONTEXTS 所有內容值的位 OR

Contexts

[out]呼叫端配置的 FLT_RELATED_CONTEXTS 結構的指標,該結構會接收要求的內容。 這個參數是必要的,而且無法設定為 NULL。 FltMgr 會將 結構成員設定為零,

  • 呼叫端未要求的內容。
  • 呼叫端要求但 FltMgr 找不到的內容。

傳回值

備註

如需內容的詳細資訊,請參閱 關於迷你篩選內容

迷你篩選驅動程式會呼叫 FltGetContexts ,以擷取 FLT_RELATED_OBJECTS 結構中物件的迷你篩選驅動程序內容的指標。

下列迷你篩選驅動程式回呼例程類型會以 FltObjects 輸入參數的形式接收FLT_RELATED_OBJECTS結構的指標:

FltGetContexts 會遞增 Contexts 參數所指向之FLT_RELATED_CONTEXTS結構中所傳回之每個內容的參考計數。 因此,對於每個成功呼叫 FltGetContexts,呼叫端必須:

  • 針對 Contexts 參數指向的整個結構呼叫 FltReleaseContexts
  • 針對結構中傳回的每個內容呼叫 FltReleaseContext ,並將結構中傳回的每個內容欄位設定為零。

規格需求

需求
目標平台 Universal
標頭 fltkernel.h (包含 Fltkernel.h)
程式庫 FltMgr.lib
Dll Fltmgr.sys
IRQL <= APC_LEVEL

另請參閱

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