IMsmMerge::Merge 方法 (mergemod.h)

Merge 方法可执行当前数据库和当前模块的合并。 合并将模块中的组件附加到 Feature 标识的功能。 模块目录树的根将被重定向到 RedirectDir 提供的位置。 有关详细信息,请参阅 Merge 对象的 Merge 方法。

IMsmMerge2::Merge Mergemod.dll 2.0 或更高版本。

 
IMsmMerge::Merge 所有 Mergemod.dll 版本。

语法

HRESULT Merge(
  [in] const BSTR Feature,
  [in] const BSTR RedirectDir
);

parameters

[in] Feature

数据库中功能的名称。 可以使用 LPCWSTR 代替 BSTR

[in] RedirectDir

数据库的 Directory 表中条目的键。 可以使用 LPCWSTR 代替 BSTR。 此参数可以为 null 或空字符串。

返回值

Merge 函数返回以下值。

含义
E_FAIL
合并以灾难性方式失败。 这表示存在操作错误,而不是失败合并的正常错误返回。
S_FALSE
函数成功,但存在错误,合并本身可能无效。
E_INVALIDARG
其中一个参数无效。
E_OUTOFMEMORY
系统内存不足,无法完成操作。
S_OK
函数成功。

注解

此函数执行当前数据库和当前模块的合并。 模块目录树的根将被重定向到 RedirectDir 提供的位置。 如果发生任何合并冲突(包括排除项),它们将放在错误枚举器中供以后检索,但不会导致合并失败。 可以使用 get_Errors 函数检索错误。 错误和信息性消息发布到当前日志文件。

请注意, Merge 函数获取模块中的所有特征引用,并将特征引用替换为模块数据库中出现的所有 NULL GUID。 有关详细信息,请参阅在合并模块中引用功能

合并完成后,模块中的组件将附加到 Feature 标识的功能。 此功能必须已存在且未创建。

可以使用 Connect 函数将模块附加到其他功能。 请注意,调用 Connect 函数只会创建特征组件关联。 它不会修改已合并到数据库中的行。

除非调用 CloseDatabase 函数并将 bCommit 设置为 TRUE,否则对数据库所做的更改不会保存到磁盘。

要求

   
最低受支持的客户端 Mergemod.dll 1.0 或更高版本
目标平台 Windows
标头 mergemod.h
DLL Mergemod.dll

另请参阅

合并模块自动化