Interfaz IManagedAddin
Implemente la interfaz IManagedAddin para crear un componente que carga los complementos administrados. Esta interfaz se ha agregado en Microsoft Office System 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();
};
Métodos
En la tabla siguiente se muestran los métodos definidos por la interfaz IManagedAddin.
Name |
Descripción |
---|---|
Se le llama cuando una aplicación de Microsoft Office carga un complemento administrado. |
|
Se le llama antes de que una aplicación de Microsoft Office descargue un complemento administrado. |
Comentarios
Las aplicaciones de Microsoft Office, a partir de Microsoft Office System 2007, utilizan la interfaz IManagedAddin como ayuda para cargar los complementos de Office. Puede implementar la interfaz IManagedAddin para crear su propio cargador de complementos y runtime para los complementos administrados, en lugar de utilizar el cargador de complementos (VSTOLoader.dll) y Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office. Para obtener más información, vea Arquitectura de los complementos de nivel de aplicación.
Carga de los complementos administrados
Cuando se inicia una aplicación, se producen los pasos siguientes:
La aplicación detecta los complementos buscando las entradas de la siguiente clave del Registro:
HKEY_CURRENT_USER\Software\Microsoft\Office\<nombre de la aplicación>\Complementos\
Cada entrada bajo esta clave del Registro es un Identificador único del complemento. Normalmente, este es el nombre del ensamblado del complemento.
La aplicación busca una entrada Manifest en la clave para cada complemento.
Los complementos administrados pueden almacenar la ruta de acceso completa de un manifiesto en la entrada Manifest bajo HKEY_CURRENT_USER\Software\Microsoft\Office\<nombre de la aplicación>\Complementos\<identificador del complemento>. Un manifiesto es un archivo (normalmente un archivo XML) que proporciona información que se utiliza como ayuda para cargar el complemento.
Si la aplicación encuentra una entrada Manifest, intenta cargar un componente de cargador de complementos administrados. Para hacerlo, intenta crear un objeto COM que implementa la interfaz IManagedAddin.
El Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office incluye un componente de cargador de complementos (VSTOLoader.dll), pero también puede crear su propio componente si implementa la interfaz IManagedAddin.
La aplicación llama al método IManagedAddin::Load y le pasa el valor de la entrada Manifest.
El método IManagedAddin::Load realiza las tareas necesarias para cargar el complemento, como configurar el dominio de aplicación y la directiva de seguridad para el complemento que se está cargando.
Para obtener más información sobre las claves de Registro que las aplicaciones de Microsoft Office utilizan para detectar y cargar complementos administrados, vea Entradas del Registro de complementos de nivel de aplicación.
Guía para implementar IManagedAddin
Si implementa IManagedAddin, debe registrar el archivo DLL que contiene la implementación mediante el siguiente CLSID:
99D651D7-5F7C-470E-8A3B-774D5D9536AC
Las aplicaciones de Microsoft Office utilizan este CLSID para crear el objeto COM que implementa IManagedAddin.
Precaución |
---|
VSTOLoader.dll utiliza también este CLSID en Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office. Por tanto, si utiliza IManagedAddin para crear su propio componente de cargador de complementos y motor en tiempo de ejecución, no puede implementar el componente en equipos que ejecuten complementos basados en Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office. |
Vea también
Otros recursos
Referencia de la API administrada (desarrollo de Office en Visual Studio)