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 成員會指定新事件 的安全性描述符 。 如果 lpTransactionAttributes 為 NULL,物件會取得預設的安全性描述元。 訪問控制會列出 (ACL) 交易的預設安全性描述項來自建立者的主要或模擬令牌。
[in, optional] UOW
保留的。 必須是零 (0) 。
[in, optional] CreateOptions
任何選擇性的交易指示。
值 | 意義 |
---|---|
|
無法散發交易。 |
[in, optional] IsolationLevel
保留;指定零 (0) 。
[in, optional] IsolationFlags
保留;指定零 (0) 。
[in, optional] Timeout
超時時間間隔,以毫秒為單位。 如果指定了非零值,當間隔尚未到達備妥狀態時,交易將會中止。
指定零 (0) 或 INFINITE 以提供無限逾時。
[in, optional] Description
用戶可讀取的交易描述。
傳回值
如果函式成功,則傳回值是交易的句柄。
如果函式失敗,傳回值會 INVALID_HANDLE_VALUE。 若要取得擴充的錯誤資訊,請呼叫 GetLastError 函 式。
下列清單會識別可能的錯誤碼:
備註
使用 CloseHandle 函式關閉交易句柄。 如果在用戶端使用交易句柄呼叫 CommitTransaction 函式之前關閉最後一個交易句柄,KTM 會回復交易。
如果交易可能需要提升至分散式交易,則必須將分散式交易協調器 (DTC) 訪問許可權授與交易中登記。 若要這樣做, lpTransactionAttributes 參數必須包含具有 DTC SID (S-1-5-80-2818357584-的訪問控制專案 3387065753-4000393942-342927828-138088443) 和TRANSACTION_ENLIST許可權。 如需詳細資訊,請參閱分散式交易協調器和存取控制元件。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
最低支援的伺服器 | Windows Server 2008 |
目標平台 | Windows |
標頭 | ktmw32.h |
程式庫 | KtmW32.lib |
Dll | KtmW32.dll |