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
任何選擇性登記指示。
價值 | 意義 |
---|---|
|
以上級交易管理員的身分登記。 |
[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 |