次の方法で共有


IManagedAddin インターフェイス

IManagedAddin インターフェイスを実装すると、マネージ アドインを読み込むコンポーネントを作成できます。このインターフェイスは、2007 Microsoft Office system に追加された機能です。

[
    object,
    uuid(B9CEAB65-331C-4713-8410-DDDAF8EC191A),
    pointer_default(unique),
    oleautomation
]
interface IManagedAddin : IUnknown
{
    HRESULT Load(
        [in] BSTR bstrManifestURL, 
        [in] IDispatch *pdispApplication);
    HRESULT Unload();
};

メソッド

IManagedAddin インターフェイスで定義されているメソッドを次の表に示します。

名前

Description

IManagedAddin::Load

Microsoft Office アプリケーションがマネージ アドインを読み込むときに呼び出されます。

IManagedAddin::Unload

Microsoft Office アプリケーションがマネージ アドインをアンロードする直前に呼び出されます。

解説

2007 Microsoft Office system 以降の Microsoft Office アプリケーションでは、Office アドインを読み込むのに IManagedAddin インターフェイスが使用されるようになりました。IManagedAddin インターフェイスを実装すると、アドイン ローダー (VSTOLoader.dll) や Visual Studio Tools for Office Runtimeを使用する代わりに、ユーザー独自のアドイン ローダーやマネージ アドイン用のランタイムを作成できます。詳細については、「アプリケーション レベルのアドインのアーキテクチャ」を参照してください。

マネージ アドイン読み込みのしくみ

アプリケーションが起動すると、次の処理が行われます。

  1. アプリケーションによって、次のレジストリ キーにあるエントリが検索され、アドインが検出されます。

    HKEY_CURRENT_USER\Software\Microsoft\Office\<application name>\Addins\

    このレジストリ キーにある各エントリは、アドインの一意な ID です。通常、このエントリがアドイン アセンブリの名前となっています。

  2. アプリケーションによって、各アドイン エントリにある Manifest エントリが検索されます。

    マネージ アドインは、HKEY_CURRENT_USER\Software\Microsoft\Office\<application name>\Addins\<add-in ID> にある Manifest エントリに、マニフェストの完全パスを格納できます。マニフェストは、アドインの読み込みに使用される情報を提供するファイル (通常は XML ファイル) です。

  3. アプリケーションによって Manifest エントリが検出されると、そのアプリケーションはマネージ アドイン ローダー コンポーネントの読み込みを試みます。このアプリケーションによる読み込みは、IManagedAddin インターフェイスを実装する COM オブジェクトの作成することで行われます。

    Visual Studio Tools for Office Runtimeには、アドイン ローダー コンポーネント (VSTOLoader.dll) が含まれていますが、IManagedAddin インターフェイスの実装によって、ユーザー独自のアドイン ローダーを作成することもできます。

  4. アプリケーションによって IManagedAddin::Load メソッドが呼び出され、Manifest エントリの値に渡されます。

  5. IManagedAddin::Load メソッドによって、読み込み中のアドイン用のアプリケーション ドメインの設定やセキュリティ ポリシーの設定などのアドイン読み込みに必要なタスクが実行されます。

Microsoft Office アプリケーションがマネージ アドインの検出と読み込みに使用するレジストリ キーの詳細については、「アプリケーション レベルのアドインのレジストリ エントリ」を参照してください。

IManagedAddin の実装に関するガイダンス

IManagedAddin を実装する場合には、次の CLSID を使用して実装のある DLL を登録する必要があります。

99D651D7-5F7C-470E-8A3B-774D5D9536AC

Microsoft Office アプリケーションは、この CLSID を使用して IManagedAddin を実装する COM オブジェクトを作成します。

Caution メモ注意

この CLSID は、Visual Studio Tools for Office Runtimeで VSTOLoader.dll によっても使用されます。したがって、ユーザー独自のアドイン ローダーおよびランタイム コンポーネントを作成するために IManagedAddin を使用した場合、これらのコンポーネントは Visual Studio Tools for Office Runtimeを使用してアドインを実行しているコンピューターには配置できません。

参照

その他の技術情報

アンマネージ API リファレンス (Visual Studio での Office 開発)