IMsmMerge2::MergeEx 方法 (mergemod.h)
MergeEx 方法执行当前数据库和当前模块的合并。 合并将模块中的组件附加到 Feature 标识的功能。 模块目录树的根将被重定向到 RedirectDir 提供的位置。 有关详细信息,请参阅 Merge 对象的 MergeEx 方法。
语法
HRESULT MergeEx(
[in] const BSTR Feature,
[in] const BSTR RedirectDir,
[in] IUnknown *pConfiguration
);
parameters
[in] Feature
数据库中功能的名称。 可以使用 LPCWSTR 代替 BSTR。
[in] RedirectDir
数据库的 Directory 表中条目的键。 可以使用 LPCWSTR 代替 BSTR。 此参数可以是 NULL 或空字符串。
[in] pConfiguration
pConfiguration 参数是由客户端实现的接口。 参数可以为 NULL。 此参数的存在表明客户端工具能够修改可配置的合并模块。 此参数的存在不需要客户端为任何特定的可配置项提供配置数据。
返回值
此方法可以返回其中一个值。
值 | 含义 |
---|---|
|
系统内存不足,无法完成操作。 |
|
其中一个参数无效。 |
|
合并因错误而停止。 某些表可能尚未合并。 有关详细信息,请参阅备注部分。 |
|
函数成功,但存在错误,合并本身可能无效。 |
|
函数成功。 |
注解
此函数执行当前数据库和当前模块的合并。 模块目录树的根将被重定向到 RedirectDir 提供的位置。 如果发生任何合并冲突(包括排除项),它们将放在错误枚举器中供以后检索,但不会导致合并失败。 可以使用 get_Errors 函数检索错误。 错误和信息性消息将发布到当前日志文件。
合并完成后,模块中的组件将附加到 Feature 标识的功能。 此功能必须已存在且未创建。 可以使用 Connect 函数将模块附加到其他功能。
除非调用 CloseDatabase 函数并将 bCommit 设置为 TRUE,否则对数据库所做的更改不会保存到磁盘。
当合并因模块配置不正确而失败时,函数将返回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 |