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 반환합니다. 그렇지 않으면 이 루틴이 다음 값을 반환할 수 있습니다.
반환 코드 | 설명 |
---|---|
|
지정된 인리스트먼트는 우수한 인리스트먼트입니다. |
루틴은 다른 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 |