次の方法で共有


FltDeleteTransactionContext 関数 (fltkernel.h)

FltDeleteTransactionContext ルーチンは、特定のトランザクションからコンテキストを削除し、そのコンテキストに削除のマークを付けます。

構文

NTSTATUS FLTAPI FltDeleteTransactionContext(
  [in]            PFLT_INSTANCE Instance,
  [in]            PKTRANSACTION Transaction,
  [out, optional] PFLT_CONTEXT  *OldContext
);

パラメーター

[in] Instance

呼び出し元の不透明なインスタンス ポインター。

[in] Transaction

コンテキストが削除されているトランザクションの不透明なトランザクション ポインター。

[out, optional] OldContext

削除されたコンテキストのアドレスを受け取る呼び出し元によって割り当てられた変数へのポインター。 このパラメーターは省略可能であり、NULL できます。 OldContext が NULL されず、NULL_CONTEXTを指していない場合、呼び出し元は、必要なくなったときにこのコンテキストを解放するために FltReleaseContext呼び出す必要があります。

戻り値

FltDeleteTransactionContext は、STATUS_SUCCESSまたは次のような適切な NTSTATUS 値を返します。

リターン コード 形容
STATUS_FLT_DELETING_OBJECT 指定した インスタンス が取り壊されています。 これはエラー コードです。
STATUS_NOT_FOUND 一致するコンテキストが見つかりませんでした。 これはエラー コードです。

備考

コンテキストの詳細については、「ミニフィルター コンテキストについて」を参照してください。

コンテキストは参照カウントされるため、通常、ミニフィルター ドライバーが、fltDeleteTransactionContext などのルーチンを呼び出して、コンテキストを明示的に削除する必要はありません。

ミニフィルター ドライバーは、FltDeleteTransactionContext 呼び出して、トランザクションからコンテキストを削除し、コンテキストを削除対象としてマークします。 コンテキストは通常、未処理の参照がない限りすぐに解放されます (たとえば、コンテキストがまだ別のスレッドで使用されているため)。

新しいコンテキストを割り当てるには、FltAllocateContext呼び出します。

トランザクション コンテキストを取得するには、FltGetTransactionContext呼び出します。

トランザクション コンテキストを設定するには、FltSetTransactionContext呼び出します。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista 以降
ターゲット プラットフォーム 万国
ヘッダー fltkernel.h (Fltkernel.h を含む)
ライブラリ FltMgr.lib
IRQL <= APC_LEVEL

関連項目

FltAllocateContext

FltDeleteContext

FltCommitCompleteする

FltEnlistInTransactionする

FltGetTransactionContext

FltPrePrepareCompleteする

FltPrepareCompleteする

FltReleaseContext

FltRollbackComplete

FltRollbackEnlistmentする

FltSetTransactionContext