Метод IMsmMerge2::MergeEx (mergemod.h)
Метод MergeEx выполняет слияние текущей базы данных и текущего модуля. Слияние присоединяет компоненты в модуле к функции, определяемой компонентом . Корень дерева каталогов модуля перенаправляется в расположение, заданное RedirectDir. Дополнительные сведения см. в статье Метод MergeEx объекта Merge .
Синтаксис
HRESULT MergeEx(
[in] const BSTR Feature,
[in] const BSTR RedirectDir,
[in] IUnknown *pConfiguration
);
Параметры
[in] Feature
Имя компонента в базе данных. Вместо BSTR можно использовать LPCWSTR.
[in] RedirectDir
Ключ записи в таблице Directory базы данных. Вместо BSTR можно использовать LPCWSTR. Этот параметр может иметь значение NULL или пустую строку.
[in] pConfiguration
Аргумент pConfiguration — это интерфейс, реализованный клиентом. Аргумент может иметь значение NULL. Наличие этого аргумента указывает на то, что клиентское средство может изменять настраиваемые модули слияния. Наличие этого аргумента не требует от клиента предоставления данных конфигурации для какого-либо конкретного настраиваемого элемента.
Возвращаемое значение
Этот метод может возвращать одно из этих значений.
Значение | Значение |
---|---|
|
В системе не хватает памяти и не удалось завершить операцию. |
|
Один из аргументов недопустим. |
|
Слияние было остановлено из-за ошибки. Возможно, некоторые таблицы не были объединены. Дополнительные сведения см. в разделе "Примечания". |
|
Функция выполнена успешно, но произошли ошибки, и само слияние может быть недопустимым. |
|
Функция выполнена успешно. |
Комментарии
Эта функция выполняет слияние текущей базы данных и текущего модуля. Корень дерева каталогов модуля перенаправляется в расположение, заданное RedirectDir. Если возникают какие-либо конфликты слияния, включая исключения, они помещаются в перечислитель ошибок для последующего извлечения, но не приводят к сбою слияния. Ошибки можно получить с помощью функции get_Errors . Сообщения об ошибках и информационные сообщения будут отправляться в текущий файл журнала.
После завершения слияния компоненты в модуле присоединяются к компоненту, определяемой компонентом . Эта функция уже должна существовать и не создана. Модуль может быть присоединен к дополнительным функциям с помощью функции 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 |
Header | mergemod.h |
DLL | Mergemod.dll |