次の方法で共有


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
);

パラメーター

[in] Feature

データベース内の機能の名前。 BSTR の代わりに LPCWSTR を使用できます。

[in] RedirectDir

データベースの Directory テーブル内のエントリのキー。 BSTR の代わりに LPCWSTR を使用できます。 このパラメーターには、null または空の文字列を指定できます。

戻り値

Merge 関数は、次の値を返します。

説明
E_FAIL
マージが致命的に失敗しました。 これは操作エラーを示し、失敗したマージに対する通常のエラーの戻り値ではありません。
S_FALSE
関数は成功しましたが、エラーが発生し、マージ自体が有効でない可能性があります。
E_INVALIDARG
引数の 1 つが無効です。
E_OUTOFMEMORY
システムのメモリ不足のため、操作を完了できませんでした。
S_OK
関数が正常に実行されました。

解説

この関数は、現在のデータベースと現在のモジュールのマージを実行します。 モジュールのディレクトリ ツリーのルートは、RedirectDir によって指定されている場所にリダイレクトされます。 何らかのマージの競合 (除外を含む) が発生した場合、それらは後で取得するためにエラー列挙子に配置されますが、それによりマージが失敗するわけではありません。 エラーは、 get_Errors 関数を使用して取得できます。 エラーと情報メッセージは、現在のログ ファイルに送信されます。

Merge 関数は、モジュール内のすべての機能参照を取得し、モジュール データベース内の null GUID のすべての出現箇所の機能参照を置き換える点に注意してください。 詳しくは、「マージ モジュールの機能を参照する」をご覧ください。

マージが完了すると、モジュール内のコンポーネントは Feature によって識別される機能にアタッチされます。 この機能は既に存在している必要があり、作成されていません。

Connect 関数を 使用して、モジュールを追加の機能にアタッチできます。 Connect 関数を呼び出すと、機能コンポーネントの関連付けのみが作成されることに注意してください。 データベースに既にマージされている行は変更されません。

bCommitTRUE に設定して CloseDatabase 関数を呼び出さない限り、データベースに加えられた変更はディスクに保存されません。

要件

   
サポートされている最小のクライアント Mergemod.dll 1.0 以降
対象プラットフォーム Windows
ヘッダー mergemod.h
[DLL] Mergemod.dll

関連項目

マージ モジュールのオートメーション