TmRollbackTransaction 함수(wdm.h)

TmRollbackTransaction 루틴은 지정된 트랜잭션에 대한 롤백 작업을 시작합니다.

구문

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

매개 변수

[in] Transaction

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

[in] Wait

호출자가 동기 작업에 대해 TRUE 로 설정하거나 비동기 작업의 경우 FALSE 로 설정하는 부울 값입니다. 이 매개 변수를 TRUE로 설정하면 롤백 작업이 완료될 때까지 호출이 반환되지 않습니다.

반환 값

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

반환 코드 설명
STATUS_TRANSACTION_ALREADY_COMMITTED
트랜잭션이 이미 커밋되었으므로 롤백할 수 없습니다.
STATUS_TRANSACTION_REQUEST_NOT_VALID
트랜잭션이 커밋되지 않았지만 현재 상태는 롤백을 허용하지 않습니다.
STATUS_PENDING
롤백 알림은 리소스 관리자에게 큐에 대기되고 호출자는 Wait 매개 변수에 대해 FALSE를 지정했습니다.
 

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

설명

TmRollbackTransaction 루틴은 ZwRollbackTransaction 루틴의 포인터 기반 버전입니다.

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

요구 사항

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

추가 정보

ObReferenceObjectByHandle

ZwCreateTransaction

ZwOpenTransaction

ZwRollbackTransaction