トランザクション オブジェクト

トランザクション オブジェクトはトランザクションを表します。 トランザクション クライアントは、トランザクションを作成し、何らかの処理を実行し、トランザクションをコミットまたはロールバックします。

KTM には、カーネル モード トランザクション クライアントが呼び出すことができるトランザクション オブジェクト ルーチンのセットが用意されています。 KTM には、ユーザー モード アプリケーションが呼び出すことができるユーザー モード ルーチンの同様のセットも用意されています。 ユーザーモード ルーチンの詳細については、Microsoft Windows SDK を参照してください。

KTM は、クライアントが ZwCreateTransaction を呼び出すときにトランザクション オブジェクトを作成します。 クライアントは、ZwCommitTransaction または ZwRollbackTransaction を呼び出して、トランザクションをコミットまたはロールバックできます。

TPS コンポーネントは、ZwOpenTransaction を呼び出して、トランザクション オブジェクトへの追加のハンドルを開くことができます。

クライアントは、ZwClose を呼び出して、トランザクション オブジェクトへのハンドルを閉じます。 トランザクション オブジェクトがコミットされる前に最後のハンドルが閉じられた場合、KTM はトランザクションに参加しているすべてのリソース マネージャーに TRANSACTION_NOTIFY_ROLLBACK 通知を送信します。

オペレーティング システムは、最後のハンドルが閉じられ、KTM がオブジェクトへのすべての参照を解放した後、オブジェクトを削除します。