FltCommitComplete 関数 (fltkernel.h)
FltCommitComplete ルーチンは、TRANSACTION_NOTIFY_COMMIT通知を確認します。
構文
NTSTATUS FLTAPI FltCommitComplete(
[in] PFLT_INSTANCE Instance,
[in] PKTRANSACTION Transaction,
[in, optional] PFLT_CONTEXT TransactionContext
);
パラメーター
[in] Instance
呼び出し元の不透明なインスタンス ポインター。
[in] Transaction
トランザクションの不透明なトランザクション ポインター。
[in, optional] TransactionContext
トランザクションのミニフィルター ドライバーのコンテキストへのポインター。 このパラメーターは省略可能であり、NULL できます。
戻り値
FltCommitComplete は、STATUS_SUCCESSまたは次のような適切な NTSTATUS 値を返します。
リターン コード | 形容 |
---|---|
|
ミニフィルター ドライバーは、トランザクションにコンテキストを設定しませんでした。 これはエラー コードです。 |
備考
このルーチンは、Windows Vista 以降で使用できます。
トランザクションに参加しているミニフィルター ドライバーは、トランザクションのコミット中にTRANSACTION_NOTIFY_COMMIT通知を受け取ることができます。 ミニフィルター ドライバーに通知を送信するには、フィルター マネージャーは、ミニフィルター ドライバーの TransactionNotificationCallback ルーチンを呼び出します。 ミニフィルター ドライバーは、次の 2 つの方法のいずれかでこの通知を確認します。
- ミニフィルター ドライバーの TransactionNotificationCallback ルーチンは、必要な処理を実行し、STATUS_SUCCESSを返します。 この場合、ミニフィルター ドライバーは FltCommitComplete 呼び出しません。
- ミニフィルター ドライバーの TransactionNotificationCallback ルーチンは、ワーカー スレッドに必要な処理をポストし、STATUS_PENDINGを返します。 処理を非同期的に実行した後、ミニフィルター ドライバーの作業ルーチンは、FltCommitComplete を呼び出して、この処理が完了したことを示す必要があります。 ミニフィルター ドライバーの作業ルーチンが FltCommitComplete 呼び出さない場合は、カーネル トランザクション マネージャーがトランザクションコミット操作を完了できません。
トランザクションに参加するには、FltEnlistInTransaction 呼び出します。
新しいトランザクション コンテキストを割り当てるには、FltAllocateContext 呼び出します。
トランザクション コンテキストを取得するには、FltGetTransactionContext 呼び出します。
トランザクション コンテキストを削除するには、FltDeleteTransactionContext 呼び出すか、FltDeleteContext します。
トランザクション コンテキストを設定するには、FltSetTransactionContext を呼び出します。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
ヘッダー | fltkernel.h (Fltkernel.h を含む) |
ライブラリ | Fltmgr.lib |
IRQL | PASSIVE_LEVEL |
関連項目
FltAllocateContext の
FltDeleteContext の
FltDeleteTransactionContext の
FltEnlistInTransaction を する
FltGetTransactionContext の
FltPrePrepareComplete を する
FltPrepareComplete の
FltRegisterFilter の
FltReleaseContext の
FltRollbackComplete を する
FltRollbackEnlistment の
FltSetTransactionContext の