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
資源管理員的句柄 (RM) 登記。
[in] TransactionHandle
RM 正在登記之交易的句柄。
[in] NotificationMask
此 RM 要求 TransactionHandle 參數的通知。 如需有效值的清單,請參閱 NOTIFICATION_MASK。
[in, optional] CreateOptions
任何選擇性登記指示。
值 | 意義 |
---|---|
|
以進階交易管理員的身分登記。 |
[in, optional] EnlistmentKey
在 TRANSACTION_NOTIFICATION 結構中傳送通知時,RM 所使用的使用者定義結構指標。 這通常用來建立私人結構與這個特定交易的關聯。
傳回值
如果函式成功,傳回值就是登記的句柄。
如果函式失敗,傳回值 會INVALID_HANDLE_VALUE。 若要取得擴充的錯誤資訊,請呼叫 GetLastError 函式。
下列清單會識別可能的錯誤碼:
備註
Windows Vista: 任何在準備前階段或更新版本進行登記的嘗試都會失敗。
如果您未在接受單階段認可要求的通知遮罩內指定,KTM 一律會執行兩階段認可作業。
在交易中登記時,請記住下列通知規則:
- RM 必須一律要求回復通知。
- 如果 RM 要求準備通知,它也必須要求認可通知。
- 如果 RM 要求單階段認可作業,也必須指定準備和認可通知。
- 要求認可通知的唯一時間是要求至少一對準備和回復通知時。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
最低支援的伺服器 | Windows Server 2008 |
目標平台 | Windows |
標頭 | ktmw32.h |
程式庫 | KtmW32.lib |
Dll | KtmW32.dll |