IManagedAddin 인터페이스
업데이트: 2007년 11월
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 인터페이스에서 정의되는 메서드를 보여 줍니다.
이름 |
설명 |
---|---|
Microsoft Office 응용 프로그램에서 관리되는 추가 기능을 로드할 때 호출됩니다. |
|
Microsoft Office 응용 프로그램에서 관리되는 추가 기능을 언로드하기 직전에 호출됩니다. |
설명
2007 Microsoft Office system부터는 Microsoft Office 응용 프로그램에서 Visual Studio Tools for Office 추가 기능을 쉽게 로드할 수 있도록 IManagedAddin 인터페이스를 사용합니다. Visual Studio Tools for Office에 포함된 런타임과 추가 기능 로더(VSTOLoader.dll)를 사용하는 대신 IManagedAddin 인터페이스를 구현하여 관리되는 추가 기능의 로더 및 런타임을 직접 만들 수 있습니다. VSTOLoader.dll 및 Visual Studio Tools for Office 런타임에 대한 자세한 내용은 응용 프로그램 수준 추가 기능 아키텍처를 참조하십시오.
관리되는 추가 기능이 로드되는 방식
응용 프로그램을 시작하면 다음 단계가 진행됩니다.
응용 프로그램에서 다음과 같은 레지스트리 키 아래 있는 항목을 찾아 추가 기능을 발견합니다.
HKEY_CURRENT_USER\Software\Microsoft\Office\<application name>\Addins\
이 레지스트리 키 아래의 각 항목은 추가 기능의 고유한 ID입니다. 일반적으로 이는 추가 기능 어셈블리의 이름과 같습니다.
응용 프로그램에서 각 추가 기능의 항목 아래 있는 Manifest 항목을 찾습니다.
관리되는 추가 기능은 HKEY_CURRENT_USER\Software\Microsoft\Office\<application name>\Addins\<add-in ID> 아래의 Manifest 항목에 매니페스트의 전체 경로를 저장할 수 있습니다. 매니페스트는 추가 기능을 로드하는 데 사용되는 정보를 제공하는 파일로, 일반적으로 XML 파일입니다.
응용 프로그램에서 Manifest 항목을 찾으면 관리되는 추가 기능 로더 구성 요소를 로드합니다. 응용 프로그램에서는 이 구성 요소를 로드하기 위해 IManagedAddin 인터페이스를 구현하는 COM 개체를 만듭니다.
Visual Studio Tools for Office 런타임에 추가 기능 로더 구성 요소(VSTOLoader.dll)가 포함되어 있으며, IManagedAddin 인터페이스를 구현하여 로더 구성 요소를 직접 만들 수도 있습니다.
응용 프로그램에서 IManagedAddin::Load 메서드를 호출하고 Manifest 항목의 값을 전달합니다.
IManagedAddin::Load 메서드에서 로드 중인 추가 기능에 대한 응용 프로그램 도메인 및 보안 정책 구성 등 추가 기능을 로드하는 데 필요한 작업을 수행합니다.
Microsoft Office 응용 프로그램에서 관리되는 추가 기능을 찾아 로드하는 데 사용하는 레지스트리 키에 대한 자세한 내용은 응용 프로그램 수준 추가 기능에 대한 레지스트리 항목를 참조하십시오.
IManagedAddin 구현 지침
IManagedAddin을 구현하려면 다음과 같은 CLSID를 사용하여 해당 구현이 포함된 DLL을 등록해야 합니다.
99D651D7-5F7C-470E-8A3B-774D5D9536AC
Microsoft Office 응용 프로그램에서는 이 CLSID를 사용하여 IManagedAddin을 구현하는 COM 개체를 만듭니다.
주의: |
---|
이 CLSID는 Visual Studio Tools for Office 런타임의 VSTOLoader.dll에서도 사용합니다. 따라서 IManagedAddin을 사용하여 추가 기능 로더 및 런타임 구성 요소를 직접 만드는 경우 Visual Studio Tools for Office를 사용하여 만든 추가 기능을 실행하는 컴퓨터에는 해당 구성 요소를 배포할 수 없습니다. |