CreateTransaction 함수(ktmw32.h)
새 트랜잭션 개체를 만듭니다.
통사론
HANDLE CreateTransaction(
[in, optional] LPSECURITY_ATTRIBUTES lpTransactionAttributes,
[in, optional] LPGUID UOW,
[in, optional] DWORD CreateOptions,
[in, optional] DWORD IsolationLevel,
[in, optional] DWORD IsolationFlags,
[in, optional] DWORD Timeout,
[in, optional] LPWSTR Description
);
매개 변수
[in, optional] lpTransactionAttributes
반환된 핸들을 자식 프로세스에서 상속할 수 있는지 여부를 결정하는 SECURITY_ATTRIBUTES 구조체에 대한 포인터입니다. 이 매개 변수가 NULL
구조체의 lpSecurityDescriptor 멤버는 새 이벤트에 대한 보안 설명자 지정합니다.
[in, optional] UOW
예약. 0이어야 합니다.
[in, optional] CreateOptions
선택적 트랜잭션 지침입니다.
값 | 의미 |
---|---|
|
트랜잭션을 배포할 수 없습니다. |
[in, optional] IsolationLevel
예약; 는 0을 지정합니다.
[in, optional] IsolationFlags
예약; 는 0을 지정합니다.
[in, optional] Timeout
시간 제한 간격(밀리초)입니다. 0이 아닌 값을 지정하면 아직 준비된 상태에 도달하지 않은 경우 간격이 경과하면 트랜잭션이 중단됩니다.
무한 제한 시간을 제공하려면 0 또는 INFINITE를 지정합니다.
[in, optional] Description
트랜잭션에 대한 사용자가 읽을 수 있는 설명입니다.
반환 값
함수가 성공하면 반환 값은 트랜잭션에 대한 핸들입니다.
함수가 실패하면 반환 값이 INVALID_HANDLE_VALUE. 확장 오류 정보를 얻으려면 GetLastError 함수를 호출합니다.
다음 목록에서는 가능한 오류 코드를 식별합니다.
발언
CloseHandle 함수를 사용하여 트랜잭션 핸들을 닫습니다. 클라이언트가 트랜잭션 핸들을 사용하여 CommitTransaction 함수를 호출하기 전에 마지막 트랜잭션 핸들을 닫은 경우 KTM은 트랜잭션을 롤백합니다.
트랜잭션을 분산 트랜잭션으로 승격해야 하는 경우 DTC(Distributed Transaction Coordinator) 액세스 권한을 부여하여 트랜잭션에 참여해야 합니다. 이렇게 하려면 lpTransactionAttributes 매개 변수는 DTC의 SID(S-1-5-80-281835)를 사용하여 액세스 제어 항목을 포함해야 합니다. 7584-3387065753-4000393942-342927828-138088443) 및 TRANSACTION_ENLIST 오른쪽. 자세한 내용은 Distributed Transaction Coordinator 및 Access Control Components참조하세요.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista |
지원되는 최소 서버 | Windows Server 2008 |
대상 플랫폼 | Windows |
헤더 | ktmw32.h |
라이브러리 | KtmW32.lib |
DLL | KtmW32.dll |
참고 항목
Distributed Transaction Coordinator
커널 트랜잭션 관리자 함수
rollbackTransaction
SetTransactionInformation