IManagedAddin インターフェイス
マネージド VSTO アドインを読み込むコンポーネントを作成するには、IManagedAddin インターフェイスを実装します。このインターフェイスは、Microsoft Office 2007 システムに追加されました。
構文
[
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 インターフェイスで定義されているメソッドを次の表に示します。
名前 | 説明 |
---|---|
IManagedAddin::Load | Microsoft Office アプリケーションがマネージド VSTO アドインを読み込むときに呼び出されます。 |
IManagedAddin::Unload | Microsoft Office アプリケーションがマネージド VSTO アドインをアンロードする直前に呼び出されます。 |
解説
Microsoft Office 2007 システム以降の Microsoft Office アプリケーションでは、IManagedAddin インターフェイスを使用して Office VSTO アドインを読み込むことができます。VSTO アドイン ローダー (VSTOLoader.dll) および Visual Studio Tools for Office Runtime を使用する代わりに、IManagedAddin インターフェイスを実装して、マネージド VSTO アドイン用の独自の VSTO アドイン ローダーとランタイムを作成できます。 詳細については、「 Architecture of VSTO Add-ins」を参照してください。
マネージド アドインの読み込みのしくみ
アプリケーションが起動すると、次の処理が行われます。
アプリケーションによって、次のレジストリ キーにあるエントリが検索され、VSTO アドインが検出されます。
HKEY_CURRENT_USER\Software\Microsoft\Office\<application name>\Addins\
このレジストリ キーにある各エントリは、VSTO アドインの一意な ID です。 通常、これは VSTO アドイン アセンブリの名前です。
アプリケーションによって、各 VSTO アドイン エントリにある
Manifest
エントリが検索されます。マネージド VSTO アドインは、HKEY_CURRENT_USER\Software\Microsoft\Office\<application name>\Addins\<add-in ID> にある
Manifest
エントリに、マニフェストの完全パスを格納できます。 マニフェストは、VSTO アドインの読み込みに使用される情報を提供するファイル (通常は XML ファイル) です。アプリケーションによって
Manifest
エントリが検出されると、そのアプリケーションはマネージド VSTO アドイン ローダー コンポーネントの読み込みを試みます。 アプリケーションでは、IManagedAddin インターフェイスを実装する COM オブジェクトを作成することでこれが試みられます。Visual Studio Tools for Office Runtime には、VSTO アドイン ローダー コンポーネント (VSTOLoader.dll) が含まれていますが、IManagedAddin インターフェイスを実装して独自のアドイン ローダーを作成することもできます。
アプリケーションによって IManagedAddin::Load メソッドが呼び出され、
Manifest
エントリの値に渡されます。IManagedAddin::Load メソッドによって、読み込む VSTO アドイン用のアプリケーション ドメインやセキュリティ ポリシーの構成など、VSTO アドイン読み込みに必要なタスクが実行されます。
Microsoft Office アプリケーションでマネージド VSTO アドインの検出と読み込みに使用するレジストリ キーの詳細については、「VSTO アドインのレジストリ エントリ」を参照してください。
IManagedAddin を実装するためのガイダンス
IManagedAddin を実装する場合には、次の CLSID を使用して実装が含まれている DLL を登録する必要があります。
99D651D7-5F7C-470E-8A3B-774D5D9536AC
Microsoft Office アプリケーションでは、この CLSID を使用して IManagedAddin を実装する COM オブジェクトを作成します。
注意
この CLSID は、Visual Studio Tools for Office ランタイムの VSTOLoader.dll でも使用されています。 したがって、IManagedAddin を使用して独自の VSTO アドイン ローダーおよびランタイム コンポーネントを作成する場合は、Visual Studio Tools for Office Runtime に依存して VSTO アドインを実行しているコンピューターにはコンポーネントをデプロイできません。