Поделиться через


Метод IMsmMerge::Merge (mergemod.h)

Метод Merge выполняет слияние текущей базы данных и текущего модуля. Слияние присоединяет компоненты в модуле к компоненту, определенному компонентом. Корень дерева каталогов модуля перенаправляется в расположение, заданное RedirectDir. Дополнительные сведения см. в разделе Метод Merge объекта Merge .

IMsmMerge2::Merge Mergemod.dll версии 2.0 или более поздней.

 
IMsmMerge::Merge Все версии Mergemod.dll.

Синтаксис

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

Параметры

[in] Feature

Имя компонента в базе данных. Вместо BSTR можно использовать LPCWSTR.

[in] RedirectDir

Ключ записи в таблице Directory базы данных. Вместо BSTR можно использовать LPCWSTR. Этот параметр может иметь значение NULL или пустую строку.

Возвращаемое значение

Функция Merge возвращает следующие значения.

Значение Значение
E_FAIL
Слияние завершилось катастрофическим сбоем. Это указывает на рабочую ошибку и не возвращает обычную ошибку при неудачном слиянии.
S_FALSE
Функция выполнена успешно, но произошли ошибки, и само слияние может быть недопустимым.
E_INVALIDARG
Один из аргументов является недопустимым.
E_OUTOFMEMORY
В системе не хватает памяти и не удалось завершить операцию.
S_OK
Функция выполнена успешно.

Комментарии

Эта функция выполняет слияние текущей базы данных и текущего модуля. Корень дерева каталогов модуля перенаправляется в расположение, заданное RedirectDir. Если возникают конфликты слияния, включая исключения, они помещаются в перечислитель ошибок для последующего извлечения, но не приводят к сбою слияния. Ошибки можно получить с помощью функции get_Errors . Сообщения об ошибках и информационные сообщения публикуются в текущем файле журнала.

Обратите внимание, что функция Merge получает все ссылки на компоненты в модуле и заменяет ссылку на признак для всех вхождений NULL GUID в базе данных модуля. Дополнительные сведения см. в разделе Ссылки на компоненты в модулях слияния.

После завершения слияния компоненты в модуле присоединяются к компоненту, определенному компонентом. Эта функция уже должна существовать и не создана.

Модуль можно подключить к дополнительным функциям с помощью функции Connect . Обратите внимание, что вызов функции Connect создает только связи компонентов и компонентов. Он не изменяет строки, которые уже были объединены в базу данных.

Изменения, внесенные в базу данных, не сохраняются на диске, если только функция CloseDatabase не вызывается с параметром bCommit , равным TRUE.

Требования

   
Минимальная версия клиента Mergemod.dll 1.0 или более поздней версии
Целевая платформа Windows
Header mergemod.h
DLL Mergemod.dll

См. также раздел

Автоматизация модулей слияния