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の