共用方式為


CreateEnlistment 函式 (ktmw32.h)

建立登記、設定其初始狀態,並開啟具有指定存取權的登記句柄。

語法

HANDLE CreateEnlistment(
  [in, optional] LPSECURITY_ATTRIBUTES lpEnlistmentAttributes,
  [in]           HANDLE                ResourceManagerHandle,
  [in]           HANDLE                TransactionHandle,
  [in]           NOTIFICATION_MASK     NotificationMask,
  [in, optional] DWORD                 CreateOptions,
  [in, optional] PVOID                 EnlistmentKey
);

參數

[in, optional] lpEnlistmentAttributes

包含登記管理員安全性屬性之 SECURITY_ATTRIBUTES 結構的指標。 指定 NULL 以取得預設屬性。

[in] ResourceManagerHandle

要登記之資源管理員的句柄。

[in] TransactionHandle

RM 正在登記之交易的句柄。

[in] NotificationMask

此 RM 要求 TransactionHandle 參數的通知。 如需有效值的清單,請參閱 NOTIFICATION_MASK

[in, optional] CreateOptions

任何選擇性登記指示。

價值 意義
ENLISTMENT_SUPERIOR
1
以上級交易管理員的身分登記。

[in, optional] EnlistmentKey

RM 所使用之使用者定義結構的指標,會在 TRANSACTION_NOTIFICATION 結構中傳送通知時傳回。 這通常用來建立私人結構與這個特定交易的關聯。

傳回值

如果函式成功,傳回值就是登記的句柄。

如果函式失敗,傳回值會 INVALID_HANDLE_VALUE。 若要取得擴充的錯誤資訊,請呼叫 getLastError 函式

下列清單會識別可能的錯誤碼:

言論

Windows Vista:任何在準備前階段或更新版本期間登記的嘗試都會失敗。

如果您未在接受單一階段認可要求的通知遮罩內指定,KTM 一律會執行雙階段認可作業。

在交易中登記時,請記住下列通知規則:

  • RM 必須一律要求回復通知。
  • 如果 RM 要求準備通知,它也必須要求認可通知。
  • 如果 RM 要求單一階段認可作業,它也必須指定準備和認可通知。
  • 要求認可通知時,RM 只需要至少要求一對準備和回復通知時。

要求

要求 價值
最低支援的用戶端 Windows Vista
支援的最低伺服器 Windows Server 2008
目標平臺 窗戶
標頭 ktmw32.h
連結庫 KtmW32.lib
DLL KtmW32.dll

另請參閱

CommitComplete

CommitEnlistment

核心交易管理員函式

NOTIFICATION_MASK

OpenEnlistment

TRANSACTION_NOTIFICATION