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 結構的成員會為新事件指定 安全性描述元。 如果 lpTransactionAttributesNULL,則物件會取得預設的安全性描述元。 交易的預設安全性描述元中的訪問控制清單 (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 |
目標平臺 | 窗戶 |
標頭 | ktmw32.h |
連結庫 | KtmW32.lib |
DLL | KtmW32.dll |