Интерфейс IManagedAddin
Чтобы создать компонент, который позволяет загружать управляемые надстройки, необходимо реализовать интерфейс IManagedAddin.Этот интерфейс впервые был представлен в выпуске 2007 системы Microsoft Office.
[
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 загружает управляемую надстройку. |
|
Вызывается, непосредственно перед тем, как приложение Microsoft Office начнет выгружать управляемую надстройку. |
Заметки
Приложения Microsoft Office, которые запускаются вместе с выпуском 2007 системы Microsoft Office, используют интерфейс IManagedAddin для загрузки надстроек Office.Интерфейс IManagedAddin можно реализовать с целью создания пользовательского загрузчика надстроек и среды выполнения для управляемых надстроек, как альтернативы стандартному загрузчику надстроек (VSTOLoader.dll) и вложенной среде выполнения Visual Studio Tools for Office (cреда выполнения).Дополнительные сведения см. в разделе Архитектура надстроек уровня приложения.
Загрузка управляемых надстроек
Запуск приложения можно разделить на следующие этапы:
Приложение обнаруживает надстройку в результате поиска записей в следующем разделе реестра:
HKEY_CURRENT_USER\Software\Microsoft\Office\<имя_приложения>\Addins\
Каждая запись в разделе реестра представляет собой уникальный идентификатор надстройки.Как правило, это имя сборки надстройки.
Приложение выполняет поиск записи Manifest в каждой записи, которая соответствует надстройке.
В управляемых надстройках может храниться полный путь к манифесту в записи Manifest в разделе HKEY_CURRENT_USER\Software\Microsoft\Office\<имя_приложения>\Addins\<идентификатор_надстройки>.Манифест представляет собой файл (обычно это XML-файл), который предоставляет сведения для загрузки надстройки.
Если приложение обнаруживает запись Manifest, приложение пытается загрузить компонент загрузчика управляемой надстройки.Для этого приложение пытается создать объект COM, который реализует интерфейс IManagedAddin.
Можно использовать вложенный компонент загрузчика управляемой надстройки среды выполнения Visual Studio Tools for Office (cреда выполнения) (VSTOLoader.dll) или создать собственный компонент, реализовав интерфейс IManagedAddin.
Приложение вызывает метод IManagedAddin::Load и передает ему значение записи Manifest.
Метод IManagedAddin::Load выполняет задачи, необходимые для загрузки надстройки, например, выполняет настройку конфигурации домена приложения и политики безопасности для загружаемой надстройки.
Дополнительные сведения о разделах реестра, которые используются приложениями Microsoft Office для поиска и загрузки управляемых надстроек, см. в разделе Записи реестра для надстроек уровня приложения.
Руководство по реализации интерфейса IManagedAddin
При реализации интерфейса IManagedAddin необходимо зарегистрировать DLL, в которой содержится реализация, с помощью следующего идентификатора CLSID:
99D651D7-5F7C-470E-8A3B-774D5D9536AC
Приложения Microsoft Office используют этот CLSID для создания объекта COM, реализующего интерфейс IManagedAddin.
Внимание |
---|
Идентификатор CLSID также используется загрузчиком VSTOLoader.dll в среде выполнения Visual Studio Tools for Office (cреда выполнения).Следовательно, если интерфейс IManagedAddin используется для создания загрузчика надстроек и компонента среды выполнения, нельзя развернуть свой собственный компонент на компьютерах, на которых запущены надстройки, созданные с помощью Visual Studio Tools for Office (cреда выполнения). |
См. также
Другие ресурсы
Справочные материалы по неуправляемым API (разработка решений Office в Visual Studio)