다음을 통해 공유


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 루틴을 사용하는 방법에 대한 자세한 내용은 Transactional Client만들기를 참조하세요.

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

커널 모드 드라이버의 호출의 경우 NtXxxZwXxx 버전의 Windows Native System Services 루틴은 입력 매개 변수를 처리하고 해석하는 방식으로 다르게 동작할 수 있습니다. NtXxxZwXxx 루틴 버전 간의 관계에 대한 자세한 내용은 네이티브 시스템 서비스 루틴 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