IManagedAddin 介面
請實作 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 介面所定義的方法。
名稱 |
描述 |
---|---|
當 Microsoft Office 應用程式載入 Managed 增益集時呼叫。 |
|
只在 Microsoft Office 應用程式卸載 Managed 增益集之前呼叫。 |
備註
自 2007 Microsoft Office System 開始,Microsoft Office 應用程式會使用 IManagedAddin 介面協助載入 Office 增益集。 您可以實作 IManagedAddin 介面,針對 Managed 增益集建立自己的增益集載入器和執行階段,而不要使用增益集載入器 (VSTOLoader.dll) 和 Visual Studio Tools for Office Runtime。 如需詳細資訊,請參閱應用程式層級增益集的架構。
Managed 增益集的載入方式
應用程式啟動時會執行下列步驟:
應用程式會尋找下列登錄機碼 (Registry Key) 底下的項目,以探索增益集:
HKEY_CURRENT_USER\Software\Microsoft\Office\<application name>\Addins\
此登錄機碼下的每個項目都是增益集的唯一識別碼。 通常這是增益集組件的名稱。
應用程式會在每個增益集項目底下尋找 Manifest 項目。
Managed 增益集可以將資訊清單的完整路徑儲存在 HKEY_CURRENT_USER\Software\Microsoft\Office\<application name>\Addins\<add-in ID> 底下的 Manifest 項目中。 資訊清單是一種檔案 (通常是 XML 檔案),可提供協助載入增益集的資訊。
如果應用程式尋找的是 Manifest 項目,則該應用程式會嘗試載入 Managed 增益集載入器元件。 應用程式會嘗試建立實作 IManagedAddin 介面的 COM 物件,以完成此步驟。
Visual Studio Tools for Office Runtime 包含增益集載入器元件 (VSTOLoader.dll);您也可以透過實作 IManagedAddin 介面來建立自己的增益集載入器元件。
應用程式會呼叫 IManagedAddin::Load 方法,並傳入 Manifest 項目的值。
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 Runtime 中的 VSTOLoader.dll 也會使用這個 CLSID。 因此,如果使用 IManagedAddin 建立自己的增益集載入器和執行階段元件,就不能將元件部署到執行依賴 Visual Studio Tools for Office Runtime 之增益集的電腦上。