다음을 통해 공유


NOTIFICATION_MASK

인리스트먼트에서 수신할 수 있는 다양한 유형의 알림을 나열합니다.

TRANSACTION_NOTIFY_MASK

0x3FFFFFFF

트랜잭션 알림에 유효한 모든 비트를 나타내는 마스크입니다.

TRANSACTION_NOTIFY_PREPREPARE

0x00000001

이 알림은 클라이언트가 CommitTransaction을 호출하고 RM(리소스 관리자)이 단일 단계 커밋을 지원하지 않거나 TM(우수한 트랜잭션 관리자)이 PrePrepareEnlistment를 호출한 후에 호출됩니다. 이 알림은 RM이 캐시 플러시와 같이 다른 RM이 트랜잭션에 참여해야 할 수 있는 작업을 완료해야 함을 나타내는 수신됩니다. 이러한 작업을 완료한 후 RM은 PrePrepareComplete를 호출해야 합니다. 이 알림을 받으려면 RM도 TRANSACTION_NOTIFY_PREPARETRANSACTION_NOTIFY_COMMIT 지원해야 합니다.

TRANSACTION_NOTIFY_PREPARE

0x00000002

이 알림은 TRANSACTION_NOTIFY_PREPREPARE 처리가 완료된 후에 호출됩니다. 커밋 작업이 성공하고 중단 작업도 성공할 수 있도록 RM에 이 인리스트먼트와 연결된 모든 작업을 완료하도록 알릴 수 있습니다. 일반적으로 트랜잭션에 대한 작업의 대부분은 준비 단계에서 수행됩니다. 지속성 RM의 경우 PrepareComplete 함수를 호출하기 전에 상태를 기록해야 합니다. RM이 트랜잭션 롤백을 요청할 수 있는 마지막 기회입니다.

TRANSACTION_NOTIFY_COMMIT

0x00000004

이 알림은 RM에 이 인리스트먼트와 연결된 모든 작업을 완료하라는 신호를 보냅니다. 일반적으로 RM은 잠금을 해제하고 트랜잭션을 롤백하는 데 필요한 모든 정보를 해제합니다. RM은 이러한 작업을 완료할 때 CommitComplete 함수를 호출하여 응답해야 합니다.

TRANSACTION_NOTIFY_ROLLBACK

0x00000008

이 알림은 트랜잭션과 연결된 모든 작업을 실행 취소하도록 RM에 알릴 수 있습니다.

TRANSACTION_NOTIFY_PREPREPARE_COMPLETE

0x00000010

이 알림은 사전 준비 작업이 성공적으로 완료되었음을 우수한 TM에 알릴 수 있습니다.

TRANSACTION_NOTIFY_PREPARE_COMPLETE

0x00000020

이 알림은 준비 작업이 성공적으로 완료되었음을 우수한 TM에 알릴 수 있습니다.

TRANSACTION_NOTIFY_COMMIT_COMPLETE

0x00000040

이 알림은 커밋 작업이 성공적으로 완료되었음을 우수한 TM에 알릴 수 있습니다.

TRANSACTION_NOTIFY_ROLLBACK_COMPLETE

0x00000080

이 알림은 롤백 작업이 성공적으로 완료되었음을 우수한 TM에 알릴 수 있습니다.

TRANSACTION_NOTIFY_RECOVER

0x00000100

이 알림은 트랜잭션 결과를 다시 배달해야 하므로 RM에 상태를 복구해야 한다는 신호를 보냅니다. 예를 들어 RM이 복구되는 경우 및 의심스러운 트랜잭션이 남아 있는 경우입니다. 이 알림은 의심스러운 상태가 해결되면 전달됩니다.

TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT

0x00000200

이 알림은 2단계 커밋 프로토콜을 사용하지 않고 트랜잭션을 완료하고 커밋하도록 RM에 알릴 수 있습니다. RM이 2단계 작업을 사용하려는 경우 SinglePhaseReject 함수를 호출하여 응답해야 합니다.

TRANSACTION_NOTIFY_DELEGATE_COMMIT

0x00000400

KTM은 커밋 작업을 수행하기 위해 우수한 TM에 신호를 보냅니다.

TRANSACTION_NOTIFY_RECOVER_QUERY

0x00000800

KTM은 의심스러운 트랜잭션의 상태 쿼리하기 위해 우수한 TM에 신호를 보냅니다.

TRANSACTION_NOTIFY_ENLIST_PREPREPARE

0x00001000

이 알림은 미리 준비 알림이 지정된 인리스트먼트에 전달되어야 한다는 것을 우수한 TM에 알릴 수 있습니다.

TRANSACTION_NOTIFY_LAST_RECOVER

0x00002000

이 알림은 이 RM에 대한 복구 작업이 완료되었음을 나타냅니다.

TRANSACTION_NOTIFY_INDOUBT

0x00004000

지정된 트랜잭션이 의심스러운 상태입니다. RM은 트랜잭션이 준비되었을 때 복구 작업 중에 이 알림을 수신하지만 사용할 수 있는 우수한 TM(트랜잭션 관리자)은 없습니다. 예를 들어 트랜잭션에 원격 TM이 포함되고 해당 노드를 사용할 수 없거나 해당 노드를 사용할 수 없거나 로컬 Distributed Transaction Coordinator 서비스를 사용할 수 없는 경우 트랜잭션 상태가 의심스럽다.

TRANSACTION_NOTIFY_TM_ONLINE

0x02000000

TM은 온라인 상태이며 요청을 수락합니다.

TRANSACTION_NOTIFY_REQUEST_OUTCOME

0x20000000

RM에 사용할 수 있는 결과 정보가 있고 해당 정보에 대한 요청이 이루어져야 한다는 신호를 보냅니다.

TRANSACTION_NOTIFY_COMMIT_FINALIZE

0x40000000

예약되어 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista
지원되는 최소 서버
Windows Server 2008
헤더
KtmTypes.h(Windows.h 포함)

추가 정보

DTC(Distributed Transaction Coordinator)

커널 트랜잭션 관리자 상수

CreateEnlistment

CommitComplete

GetNotificationResourceManager

GetNotificationResourceManagerAsync

PrepareComplete

SinglePhaseReject

TRANSACTION_NOTIFICATION