다음을 통해 공유


TmRequestOutcomeEnlistment 함수(wdm.h)

TmRequestOutcomeEnlistment 루틴은 KTM에 지정된 인리스트먼트와 연결된 트랜잭션에 대한 즉각적인 결과(커밋 또는 롤백)를 제공하도록 요청합니다.

구문

NTSTATUS TmRequestOutcomeEnlistment(
  [in] PKENLISTMENT   Enlistment,
  [in] PLARGE_INTEGER TmVirtualClock
);

매개 변수

[in] Enlistment

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

[in] TmVirtualClock

가상 클록 값에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.

반환 값

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

반환 코드 설명
STATUS_TRANSACTION_REQUEST_NOT_VALID
지정된 인리스트먼트는 우수한 인리스트먼트입니다.
 

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

설명

TmRequestOutcomeEnlistment 루틴은 KTM에 트랜잭션에 대한 즉각적인 결과(결과)를 제공하도록 요청합니다. 리소스 관리자는 TmPrepareComplete 또는 ZwPrepareComplete를 호출한 후 TmRequestOutcomeEnlistment를 호출할 수 있습니다. 예를 들어 디스크의 깜짝 제거가 발생했기 때문에 나중에 결과를 기다릴 수 없다는 것을 발견하면 TmPrepareComplete를 호출할 수 있습니다. 모든 리소스 관리자가 준비 작업을 완료하지 않은 경우 KTM에서 롤백을 강제 적용할 수 있습니다.

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

TmCreateEnlistment에 대한 자세한 내용은 Resource Manager 만들기를 참조하세요.

요구 사항

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

추가 정보

ObReferenceObjectByHandle

ResourceManagerNotification

TmCreateEnlistment

TmPrepareComplete

ZwCreateEnlistment

ZwOpenEnlistment

ZwPrepareComplete