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 輸入參數:
- PFLT_PRE_OPERATION_CALLBACK
- PFLT_POST_OPERATION_CALLBACK
- PFLT_INSTANCE_SETUP_CALLBACK
- PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK
- PFLT_INSTANCE_TEARDOWN_CALLBACK
FltGetContextsEx 遞增 FLT_RELATED_CONTEXTS_EX 結構中所傳回之 Contexts 參數所指向之每個內容的參考計數。 因此,對於每個成功呼叫 FltGetContextsEx,呼叫者必須:
- 呼叫 FltReleaseContextsEx,以取得 Contexts 參數指向的整個結構。
- 針對結構中傳回的每個內容呼叫 FltReleaseContext,並將結構中傳回的每個內容字段設定為零。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 8 |
目標平臺 | 普遍 |
標頭 | fltkernel.h (包括 Fltkernel.h) |
連結庫 | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |
另請參閱
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK