Partager via


Méthode IMsmMerge2::MergeEx (mergemod.h)

La méthode MergeEx exécute une fusion de la base de données active et du module actuel. La fusion joint les composants du module à la fonctionnalité identifiée par Fonctionnalité. La racine de l’arborescence de répertoires du module est redirigée vers l’emplacement donné par RedirectDir. Pour plus d’informations, consultez la méthode MergeEx de l’objet Merge .

Syntaxe

HRESULT MergeEx(
  [in] const BSTR Feature,
  [in] const BSTR RedirectDir,
  [in] IUnknown   *pConfiguration
);

Paramètres

[in] Feature

Nom d’une fonctionnalité dans la base de données. Une LPCWSTR peut être utilisée à la place d’un BSTR.

[in] RedirectDir

Clé d’une entrée dans la table Répertoire de la base de données. Une LPCWSTR peut être utilisée à la place d’un BSTR. Ce paramètre peut être NULL ou une chaîne vide.

[in] pConfiguration

L’argument pConfiguration est une interface implémentée par le client. L’argument peut être NULL. La présence de cet argument indique que l’outil client est capable de modifier des modules de fusion configurables. La présence de cet argument ne nécessite pas que le client fournisse des données de configuration pour un élément configurable spécifique.

Valeur retournée

Cette méthode peut retourner l’une de ces valeurs.

Valeur Signification
E_OUTOFMEMORY
Le système a manqué de mémoire et n’a pas pu terminer l’opération.
E_INVALIDARG
L’un des arguments n’est pas valide.
E_FAIL
La fusion a été arrêtée en raison d’une erreur. Certaines tables n’ont peut-être pas été fusionnées. Pour plus d'informations, consultez la section Notes.
S_FALSE
La fonction a réussi, mais il y a eu des erreurs et la fusion elle-même peut ne pas être valide.
S_OK
La fonction a réussi.

Notes

Cette fonction exécute une fusion de la base de données actuelle et du module actuel. La racine de l’arborescence de répertoires du module est redirigée vers l’emplacement donné par RedirectDir. Si des conflits de fusion se produisent, y compris des exclusions, ils sont placés dans l’énumérateur d’erreur pour une récupération ultérieure, mais ne provoque pas l’échec de la fusion. Les erreurs peuvent être récupérées à l’aide de get_Errors fonction. Les erreurs et les messages d’information seront publiés dans le fichier journal actuel.

Une fois la fusion terminée, les composants du module sont attachés à la fonctionnalité identifiée par Fonctionnalité. Cette fonctionnalité doit déjà exister et n’est pas créée. Le module peut être attaché à des fonctionnalités supplémentaires à l’aide de la fonction Connect .

Les modifications apportées à la base de données ne seront pas enregistrées sur le disque, sauf si la fonction CloseDatabase est appelée avec bCommit défini sur TRUE.

Lorsque la fusion échoue en raison d’une configuration de module incorrecte, la fonction retourne E_FAIL. Cela inclut les erreurs msmErrorType suivantes : msmErrorBadNullSubstitution, msmErrorBadSubstitutionType, msmErrorBadNullResponse, msmErrorMissingConfigItemet msmErrorDataRequestFailed. Ces erreurs entraînent l’arrêt de la fusion immédiatement lorsque l’erreur est rencontrée. L’objet error est toujours ajouté à l’énumérateur lorsque MergeEx retourne E_FAIL. Pour plus d’informations sur les erreurs msmErrorType, consultez get_Type Function (Error Object). Toutes les autres erreurs entraînent le retour de MergeEx S_FALSE et entraînent la poursuite de la fusion.

Spécifications

   
Client minimal pris en charge Mergemod.dll 2.0 ou ultérieur
Plateforme cible Windows
En-tête mergemod.h
DLL Mergemod.dll

Voir aussi

Automatisation des modules de fusion