인리스트먼트

리소스 관리자는 특정 트랜잭션에 참여하기 시작할 때 트랜잭션에 참여합니다. 인리스트먼트는 리소스 관리자가 수락하는 알림을 정의합니다. 리소스 관리자는 트랜잭션에 등록할 때 인리스트먼트 개체를 만듭니다. 이 개체는 RM(리소스 관리자)이 지정된 트랜잭션에 대한 알림을 요청하는 것을 KTM에 알릴 수 있습니다.

RM은 요청하는 알림을 자세히 설명하는 NOTIFICATION_MASK 구조를 제공합니다.

인리스트먼트 함수

다음 함수는 인리스트먼트와 함께 사용됩니다.

함수 Description
CommitComplete RM(리소스 관리자)이 TM(트랜잭션 관리자)에서 요청한 트랜잭션 커밋을 완료했음을 나타냅니다.
CreateEnlistment 인리스트먼트를 만들고, 초기 상태를 설정하고, 지정된 액세스 권한으로 인리스트먼트에 대한 핸들을 엽니다.
GetEnlistmentRecoveryInformation KTM에서 복구 데이터의 불투명 구조를 검색합니다. 복구 정보는 SetEnlistmentRecoveryInformation 함수를 호출하여 RM(리소스 관리자)을 대신하여 로그에 저장됩니다. 오류가 발생한 후 RM은 GetEnlistmentRecoveryInformation 함수를 사용하여 정보를 검색할 수 있습니다.
OpenEnlistment 기존 인리스트먼트 개체를 열고 인리스트먼트에 대한 핸들을 반환합니다.
ReadOnlyEnlistment 지정된 인리스트먼트를 읽기 전용 인리스트먼트로 변환하도록 요청합니다. 읽기 전용 인리스트먼트는 트랜잭션 결과에 참여할 수 없으며 복구를 위해 지속적으로 기록되지 않습니다.
RollbackEnlistment 인리스트먼트와 연결된 지정된 트랜잭션을 롤백합니다. 이 함수는 읽기 전용 인리스트먼트에 대해 호출할 수 없습니다.
SetEnlistmentRecoveryInformation KTM의 불투명한 사용자 정의 복구 데이터 구조를 설정합니다. 복구 정보는 SetEnlistmentRecoveryInformation을 호출하여 RM(리소스 관리자)을 대신하여 로그에 저장됩니다. 오류가 발생한 후 RM은 GetEnlistmentRecoveryInformation 을 사용하여 정보를 검색할 수 있습니다.
SinglePhaseReject RM(리소스 관리자)이 단일 단계 요청을 거부했음을 나타냅니다. TM(트랜잭션 관리자)이 이 호출을 받으면 2단계 커밋을 시작하고 등록된 모든 RM에 준비 요청을 보냅니다.