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