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
コンテキストが指すFLT_RELATED_CONTEXTS_EX構造体のサイズ (バイト単位)。 sizeof(FLT_RELATED_CONTEXTS_EX) に設定します。
[out] Contexts
要求されたコンテキストを受け取る呼び出し元によって割り当てられた FLT_RELATED_CONTEXTS 構造体へのポインター。 このパラメーターは必須であり、NULL に設定することはできません。 FltMgr は 、次の場合に構造体メンバーを 0 に設定します。
- 呼び出し元が要求しなかったコンテキスト。
- 呼び出し元が要求したが 、FltMgr が見つからなかったコンテキスト。
戻り値
FltGetContextsEx は 、正常に完了するとSTATUS_SUCCESSを返します。 それ以外の場合は、次のいずれかの状態コードを返します。
コード | 説明 |
---|---|
STATUS_INVALID_PARAMETER | 無効なコンテキスト値が入力されました。 |
注釈
コンテキストの詳細については、「 ミニフィルター コンテキストについて」を参照してください。
ミニフィルター ドライバーは 、FltGetContextsEx を呼び出して、 FLT_RELATED_OBJECTS 構造体内のオブジェクトのコンテキストへのポインターを取得します。 STATUS_SUCCESS、ミニフィルターを使用する前に、コンテキストが 0 ではないことをチェックする必要があります。
次のミニフィルター ドライバー コールバック ルーチン型は、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 を呼び出し、構造体で返される各コンテキスト フィールドを 0 に設定します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 |
対象プラットフォーム | ユニバーサル |
Header | fltkernel.h (Fltkernel.h を含む) |
Library | FltMgr.lib |
[DLL] | Fltmgr.sys |
IRQL | <= APC_LEVEL |
こちらもご覧ください
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK