다음을 통해 공유


TmCommitTransaction 함수(wdm.h)

TmCommitTransaction 루틴은 지정된 트랜잭션에 대한 커밋 작업을 시작합니다.

구문

NTSTATUS TmCommitTransaction(
  [in] PKTRANSACTION Transaction,
  [in] BOOLEAN       Wait
);

매개 변수

[in] Transaction

트랜잭션 개체에 대한 포인터입니다. 이 포인터를 가져오려면 TPS 구성 요소가 ObReferenceObjectByHandle 을 호출하고 ZwCreateTransaction 또는 ZwOpenTransaction 에 대한 이전 호출이 제공한 개체 핸들을 제공해야 합니다.

[in] Wait

호출자가 동기 작업에 대해 TRUE 로 설정하거나 비동기 작업의 경우 FALSE 로 설정하는 부울 값입니다. 이 매개 변수가 TRUE이면 커밋 작업이 완료된 후 호출이 반환됩니다.

반환 값

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

반환 코드 설명
STATUS_TRANSACTION_SUPERIOR_EXISTS
우수한 트랜잭션 관리자가 있으므로 호출자가 트랜잭션을 커밋할 수 없습니다.
STATUS_TRANSACTION_ALREADY_ABORTED
트랜잭션이 롤백되었기 때문에 커밋할 수 없습니다.
STATUS_TRANSACTION_ALREADY_COMMITTED
트랜잭션이 이미 커밋되었습니다.
STATUS_TRANSACTION_REQUEST_NOT_VALID
이 트랜잭션에 대한 커밋 작업이 이미 시작되었습니다.
STATUS_PENDING
커밋 알림은 리소스 관리자에게 큐에 대기되고 호출자는 Wait 매개 변수에 대해 FALSE를 지정했습니다.
 

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

설명

TmCommitTransaction 루틴은 ZwCommitTransaction 루틴의 포인터 기반 버전입니다.

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

요구 사항

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

추가 정보

ObReferenceObjectByHandle

ZwCommitTransaction

ZwCreateTransaction

ZwOpenTransaction