IMsmMerge2::MergeEx 方法 (mergemod.h)
MergeEx方法會執行目前資料庫和目前模組的合併。 合併會將模組中的元件附加至 Feature所識別的功能。 模組目錄樹狀結構的根目錄會重新導向至 RedirectDir所指定的位置。 如需詳細資訊,請參閱 Merge 物件的MergeEx方法。
語法
HRESULT MergeEx(
[in] const BSTR Feature,
[in] const BSTR RedirectDir,
[in] IUnknown *pConfiguration
);
參數
[in] Feature
資料庫中的功能名稱。 LPCWSTR可用來取代BSTR。
[in] RedirectDir
資料庫目錄資料表中專案的索引鍵。 LPCWSTR可用來取代BSTR。 此參數可以是 Null 或空字串。
[in] pConfiguration
pConfiguration引數是由用戶端實作的介面。 引數可以是 Null。 這個引數的存在表示用戶端工具能夠修改可設定的合併模組。 此引數的存在不需要用戶端提供任何特定可設定專案的組態資料。
傳回值
這個方法可以傳回其中一個值。
值 | 意義 |
---|---|
|
系統記憶體不足,無法完成作業。 |
|
其中一個引數無效。 |
|
合併因為發生錯誤而停止。 某些資料表可能尚未合併。 如需詳細資訊,請參閱<備註>一節。 |
|
函式成功,但發生錯誤,而且合併本身可能無效。 |
|
此函數已成功。 |
備註
此函式會執行目前資料庫和目前模組的合併。 模組目錄樹狀結構的根目錄會重新導向至 RedirectDir所指定的位置。 如果發生任何合併衝突,包括排除專案,它們會放在錯誤列舉值中以供稍後擷取,但不會造成合併失敗。 您可以使用 get_Errors 函式來擷取錯誤。 錯誤和參考訊息將會張貼至目前的記錄檔。
合併完成後,模組中的元件會附加至 Feature所識別的功能。 此功能必須已經存在,而且尚未建立。 模組可以使用 Connect 函式附加至其他功能。
除非使用bCommit設為TRUE呼叫CloseDatabase函式,否則對資料庫的變更將不會儲存到磁片。
合併失敗時,因為模組設定不正確,函式會傳回E_FAIL。 這包括這些 msmErrorType 錯誤:msmErrorBadNullSubstitution、msmErrorBadSubstitutionType、msmErrorBadNullResponse、msmErrorMissingConfigItem 和 msmErrorDataRequestFailed。 這些錯誤會導致合併在發生錯誤時立即停止。 當 MergeEx 傳回E_FAIL時,錯誤物件仍會新增至列舉值。 如需 msmErrorType 錯誤的詳細資訊,請參閱 get_Type函式 (錯誤物件) 。 所有其他錯誤都會導致 MergeEx 傳回S_FALSE,並讓合併繼續。
需求
最低支援的用戶端 | Mergemod.dll 2.0 或更新版本 |
目標平台 | Windows |
標頭 | mergemod.h |
Dll | Mergemod.dll |