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上,迷你篩選程序必須先檢查內容是否不是零,再使用它。
下列迷你篩選驅動程式回呼例程類型會以 FltObjects 輸入參數的形式接收FLT_RELATED_OBJECTS結構的指標:
- PFLT_PRE_OPERATION_CALLBACK
- PFLT_POST_OPERATION_CALLBACK
- PFLT_INSTANCE_SETUP_CALLBACK
- PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK
- PFLT_INSTANCE_TEARDOWN_CALLBACK
FltGetContextsEx 會遞增 Contexts 參數指向之FLT_RELATED_CONTEXTS_EX結構中所傳回之每個內容的參考計數。 因此,對於每個成功呼叫 FltGetContextsEx,呼叫端必須:
- 針對 Contexts 參數指向的整個結構呼叫 FltReleaseContextsEx。
- 針對結構中傳回的每個內容呼叫 FltReleaseContext ,並將結構中傳回的每個內容欄位設定為零。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 |
目標平台 | Universal |
標頭 | fltkernel.h (包含 Fltkernel.h) |
程式庫 | FltMgr.lib |
Dll | Fltmgr.sys |
IRQL | <= APC_LEVEL |
另請參閱
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK