IManagedAddin 介面

更新:2007 年 11 月

請實作 IManagedAddin 介面,建立可載入 Managed 增益集的元件。此介面已加入 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 介面所定義的方法。

名稱

描述

IManagedAddin::Load

當 Microsoft Office 應用程式載入 Managed 增益集時呼叫。

IManagedAddin::Unload

只在 Microsoft Office 應用程式卸載 Managed 增益集之前呼叫。

備註

自 2007 Microsoft Office System 開始,Microsoft Office 應用程式會使用 IManagedAddin 介面協助載入 Visual Studio Tools for Office 增益集。您可以實作 IManagedAddin 介面,針對 Managed 增益集建立自己的增益集載入器和執行階段,而不要使用 Visual Studio Tools for Office 所包含的增益集載入器 (VSTOLoader.dll) 和執行階段。如需 VSTOLoader.dll 和 Visual Studio Tools for Office 執行階段的詳細資訊,請參閱應用程式層級增益集的架構

Managed 增益集的載入方式

應用程式啟動時會執行下列步驟:

  1. 應用程式會尋找下列登錄機碼 (Registry Key) 底下的項目,以探索增益集:

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

    此登錄機碼底下的每個項目都是增益集的唯一 ID。這個 ID 通常是增益集組件 (Assembly) 的名稱。

  2. 應用程式會在每個增益集項目底下尋找 Manifest 項目。

    Managed 增益集可以將資訊清單的完整路徑儲存在 HKEY_CURRENT_USER\Software\Microsoft\Office\<application name>\Addins\<add-in ID> 底下的 Manifest 項目中。資訊清單是一種檔案 (通常是 XML 檔案),可提供協助載入增益集的資訊。

  3. 如果應用程式尋找的是 Manifest 項目,則該應用程式會嘗試載入 Managed 增益集載入器元件。應用程式會嘗試建立實作 IManagedAddin 介面的 COM 物件,以完成此步驟。

    Visual Studio Tools for Office 執行階段包含增益集載入器元件 (VSTOLoader.dll);您也可以透過實作 IManagedAddin 介面來建立自己的增益集載入器元件。

  4. 應用程式會呼叫 IManagedAddin::Load 方法,並傳入 Manifest 項目的值。

  5. IManagedAddin::Load 方法會執行載入增益集所需的工作,例如設定要載入之增益集的應用程式定義域和安全性原則。

如需 Microsoft Office 應用程式用來探索及載入 Managed 增益集之登錄機碼的詳細資訊,請參閱應用程式層級增益集的登錄項目

實作 IManagedAddin 的指引

如果實作 IManagedAddin,您必須使用下列 CLSID 登錄包含該實作 (Implementation) 的 DLL:

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

Microsoft Office 應用程式會使用這個 CLSID 建立實作 IManagedAddin 的 COM 物件。

警告:

Visual Studio Tools for Office 執行階段中的 VSTOLoader.dll 也會使用這個 CLSID。因此,如果使用 IManagedAddin 建立自己的增益集載入器和執行階段元件,就不能將元件部署到執行以 Visual Studio Tools for Office 建立之增益集的電腦上。

請參閱

其他資源

Unmanaged API 參考 (Visual Studio Tools for Office)