共用方式為


FltGetContextsEx 函式 (fltkernel.h)

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

語法

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

參數

[in] FltObjects

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

[in] DesiredContexts

識別要擷取的內容類型。 此參數可以是下列值的位 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
FLT_SECTION_CONTEXT 020040
FLT_ALL_CONTEXTS 所有內容值的位 OR

[in] ContextsSize

Contexts 所指向之 FLT_RELATED_CONTEXTS_EX 結構的大小,以位元組為單位,。 設定為 sizeof(FLT_RELATED_CONTEXTS_EX)。

[out] Contexts

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

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

傳回值

FltGetContextsEx 在成功完成時傳回STATUS_SUCCESS。 否則,它會傳回狀態代碼,例如下列其中一項。

法典 意義
STATUS_INVALID_PARAMETER 輸入的內容值無效。

言論

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

小型篩選驅動程式會呼叫 FltGetContextsEx,以擷取 FLT_RELATED_OBJECTS 結構中對象內容的指標。 在STATUS_SUCCESS上,迷你篩選程序必須先檢查內容是否不是零,才能使用它。

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

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

  • 呼叫 FltReleaseContextsEx,以取得 Contexts 參數指向的整個結構。
  • 針對結構中傳回的每個內容呼叫 FltReleaseContext,並將結構中傳回的每個內容字段設定為零。

要求

要求 價值
最低支援的用戶端 Windows 8
目標平臺 普遍
標頭 fltkernel.h (包括 Fltkernel.h)
連結庫 FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

另請參閱

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