Transaction Manager 개체
트랜잭션 관리자 개체의 기본 목적은 KTM이 트랜잭션에 대한 상태 정보를 기록하는 데 사용하는 CLFS(Common Log File System) 로그 스트림을 만들고 유지 관리하는 것입니다.
트랜잭션 관리자 개체에는 KTM이 유지 관리하고 개체의 로그 스트림에서 정보를 시퀀스하는 데 사용하는 가상 클록 값 도 포함됩니다.
KTM은 커널 모드 TPS 구성 요소가 호출할 수 있는 트랜잭션 관리자 개체 루틴 집합을 제공합니다. 또한 KTM은 사용자 모드 애플리케이션에서 호출할 수 있는 유사한 사용자 모드 루틴 집합을 제공합니다. 사용자 모드 루틴에 대한 자세한 내용은 Microsoft Windows SDK 참조하세요.
KTM은 리소스 관리자가 ZwCreateTransactionManager를 호출할 때 트랜잭션 관리자 개체를 만듭니다. 일반적으로 TPS의 각 리소스 관리자는 트랜잭션 관리자 개체를 만듭니다. 그러나 여러 리소스 관리자가 단일 트랜잭션 관리자 개체를 공유하는 TPS를 디자인할 수도 있습니다.
TPS 구성 요소는 ZwOpenTransactionManager를 호출하여 기존 트랜잭션 관리자 개체에 대한 추가 핸들을 열 수 있습니다. 예를 들어 TPS에 단일 트랜잭션 관리자 개체를 공유하는 여러 리소스 관리자가 있는 경우 한 리소스 관리자는 ZwCreateTransactionManager 를 호출한 다음 ZwOpenTransactionManager를 호출할 수 있도록 개체 GUID를 다른 리소스 관리자에게 전달합니다.
리소스 관리자는 ZwClose를 호출하여 트랜잭션 관리자 개체에 대한 핸들을 닫습니다.
운영 체제는 마지막 핸들이 닫힌 후 개체를 삭제하고 KTM이 개체에 대한 모든 참조를 해제했습니다.