共用方式為


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

任何選擇性的交易指示。

價值 意義
TRANSACTION_DO_NOT_PROMOTE
無法散發交易。

[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

另請參閱

CommitTransaction

分散式交易協調器

核心交易管理員函式

RollbackTransaction

SECURITY_ATTRIBUTES

SetTransactionInformation