KTM オブジェクト
カーネル トランザクション マネージャー (KTM) は、次の 4 つのオブジェクトの種類を定義します。
トランザクション マネージャー オブジェクト: KTM が、トランザクション処理システム (TPS) のログ ストリームに関するメモリ常駐の情報を保持するために使用します。
リソース マネージャー オブジェクト: TPS 内のリソース マネージャーを表します。
トランザオブジェクト: トランザクション クライアントが作成するトランザクションを表します。
これら 4 つのオブジェクトの種類はすべて、次の特性を持ちます。
オブジェクトを作成し、オブジェクト ハンドルを取得するために、TPS コンポーネントは作成ルーチンを呼び出すことができます。
既存のオブジェクトに対する追加のオブジェクト ハンドルを取得するために、TPS コンポーネントは開くルーチンを呼び出すことができます。
オブジェクトに関する情報を取得するために、TPS コンポーネントはクエリ ルーチンを呼び出すことができます。
オブジェクト ハンドルを閉じるために、TPS コンポーネントは ZwClose を呼び出 します。
KTM は、各オブジェクトに識別子 GUID を割り当てます。 トランザクション オブジェクトの場合、この識別子 GUID は、クライアントが指定できる作業単位 (UOW) 識別子とも呼ばれます。 TPS コンポーネントは、識別子 GUID を使用してオブジェクトを追跡することができます。 オブジェクトを作成する TPS コンポーネントは、オブジェクトの識別子 GUID を別のコンポーネントに渡して、後者のコンポーネントがオブジェクトへのハンドルを開くことができるようにすることができます。
KTM を使用する TPS コンポーネントは、ZwEnumerateTransactionObject を呼び出して KTM オブジェクトを列挙できますが、ほとんどのコンポーネントはこのルーチンを呼び出す必要はありません。
このセクションでは、以下のトピックについて説明します: