TmRecoverEnlistment 함수(wdm.h)

TmRecoverEnlistment 루틴은 지정된 인리스트먼트와 연결된 트랜잭션에 대한 복구 작업을 시작합니다.

구문

NTSTATUS TmRecoverEnlistment(
  [in] PKENLISTMENT Enlistment,
  [in] PVOID        EnlistmentKey
);

매개 변수

[in] Enlistment

인리스트먼트 개체에 대한 포인터입니다. 구성 요소는 ResourceManagerNotification 콜백 루틴에 대한 입력으로 이 포인터를 받을 수 있습니다. 또는 구성 요소가 ObReferenceObjectByHandle을 호출하고 이전에 ZwCreateEnlistment, TmCreateEnlistment 또는 ZwOpenEnlistment를 호출한 개체 핸들을 제공할 수 있습니다.

[in] EnlistmentKey

리소스 관리자가 이전에 ZwCreateEnlistment 또는 TmCreateEnlistment대한 EnlistmentKey 매개 변수로 지정한 인리스트먼트 키 값에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 리소스 관리자가 ZwCreateEnlistment 또는 TmCreateEnlistment를 호출할 때 인리스트먼트 키를 제공하지 않은 경우 NULL일 수 있습니다.

반환 값

TmRecoverEnlistment는 작업이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 이 루틴이 다음 값 중 하나를 반환할 수 있습니다.

반환 코드 설명
STATUS_OBJECT_TYPE_MISMATCH
지정된 핸들이 인리스트먼트 개체에 대한 핸들이 아닙니다.
STATUS_INVALID_HANDLE
개체 핸들이 잘못되었습니다.
STATUS_TRANSACTION_REQUEST_NOT_VALID
트랜잭션 또는 해당 인리스트먼트가 올바른 상태가 아닙니다.
STATUS_PENDING
KTM은 리소스 관리자의 알림 큐에 커밋, 롤백 또는 의심스러운 알림을 추가했으며 리소스 관리자는 ResourceManagerNotification 콜백 루틴을 사용하지 않습니다.
 

루틴은 다른 NTSTATUS 값을 반환할 수 있습니다.

설명

TmRecoverEnlistment 루틴은 ZwRecoverEnlistment 루틴의 포인터 기반 버전입니다.

Zw Xxx 루틴 대신 KTM의 TmXxx 루틴을 사용하는 경우에 대한 자세한 내용은 TmXxx 루틴 사용을 참조하세요.

복구 작업에 대한 자세한 내용은 복구 작업 처리를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista 및 이후 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

추가 정보

ObReferenceObjectByHandle

ResourceManagerNotification

TRANSACTION_NOTIFICATION

TmCreateEnlistment

ZwCreateEnlistment

ZwGetNotificationResourceManager

ZwOpenEnlistment

ZwRecoverEnlistment