登録オブジェクト
登録オブジェクトは、リソース マネージャーのトランザクションへの登録を表します。 リソース マネージャーがトランザクションのイベントに関する通知を受け取る前に、リソース マネージャーは ZwCreateEnlistment を呼び出してトランザクションへの参加を作成する必要があります。
KTM には、カーネル モードのリソース マネージャーが呼び出すことができる一連の参加オブジェクト ルーチンが用意されています。 KTM には、ユーザー モード アプリケーションが呼び出すことができるユーザー モード ルーチンの同様のセットも用意されています。 ユーザーモード ルーチンの詳細については、Microsoft Windows SDK を参照してください。
KTM は、リソース マネージャーが ZwCreateEnlistment を呼び出して、リソース マネージャーが受信したトランザクション (通常はトランザクション クライアントから) に登録するときに、登録オブジェクトを作成します。
TPS コンポーネントは、ZwOpenEnlistment を呼び出して、登録オブジェクトへの追加のハンドルを開くことができます。 ただし、ほとんどの TPS 設計では、追加のオープン ハンドルは必要ありません。
リソース マネージャーは、ZwClose を呼び出 して、オブジェクトを参加させるハンドルを閉じます。 関連付けられたトランザクション オブジェクトがコミットされる前に最後のハンドルが閉じられた場合、KTM はトランザクションに参加しているすべてのリソース マネージャーに TRANSACTION_NOTIFY_ROLLBACK 通知を送信します。
オペレーティング システムは、最後のハンドルが閉じられ、KTM がオブジェクトへのすべての参照を解放した後、オブジェクトを削除します。