다음을 통해 공유


NtCommitTransaction 함수(wdm.h)

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

구문

__kernel_entry NTSYSCALLAPI NTSTATUS NtCommitTransaction(
  [in] HANDLE  TransactionHandle,
  [in] BOOLEAN Wait
);

매개 변수

[in] TransactionHandle

트랜잭션 개체에 대한 핸들입니다. 구성 요소는 ZwCreateTransaction 또는 ZwOpenTransaction에서 이 핸들을 받습니다. 핸들에는 개체에 대한 TRANSACTION_COMMIT 액세스 권한이 있어야 합니다.

[in] Wait

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

반환 값

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

반환 코드 설명
STATUS_OBJECT_TYPE_MISMATCH
TransactionHandle 매개 변수에 대해 지정된 핸들은 트랜잭션 개체에 대한 핸들이 아닙니다.
STATUS_INVALID_HANDLE
지정한 트랜잭션 개체 핸들이 잘못되었습니다.
STATUS_ACCESS_DENIED

호출자에게 트랜잭션 개체에 대한 적절한 액세스 권한이 없습니다.

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

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

설명

트랜잭션 클라이언트가 ZwCommitTransaction 루틴을 사용하는 방법에 대한 자세한 내용은 트랜잭션 클라이언트 만들기를 참조하세요.

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

커널 모드 드라이버에서 호출하는 경우 Windows 네이티브 시스템 서비스 루틴의 NtXxxZwXxx 버전은 입력 매개 변수를 처리하고 해석하는 방식으로 다르게 동작할 수 있습니다. 루틴의 NtXxx 버전과 ZwXxx 버전 간의 관계에 대한 자세한 내용은 네이티브 시스템 서비스 루틴의 Nt 및 Zw 버전 사용을 참조하세요.

요구 사항

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

추가 정보

TmCommitTransaction

네이티브 시스템 서비스 루틴의 Nt 및 Zw 버전 사용

ZwCreateTransaction

ZwOpenTransaction