Partager via


Interface IManagedAddin

Mise à jour : novembre 2007

Implémentez l'interface IManagedAddin pour créer un composant qui charge les compléments managés. Cette interface a été ajoutée à la version 2007 de 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();
};

Méthodes

Le tableau suivant décrit les méthodes définies par l'interface IManagedAddin.

Nom

Description

IManagedAddin::Load

Appelée lors du chargement d'un complément managé par une application Microsoft Office.

IManagedAddin::Unload

Appelée juste avant le déchargement d'un complément managé par une application Microsoft Office.

Notes

Les applications Microsoft Office, à partir de la version 2007 de Microsoft Office System, utilisent l'interface IManagedAddin pour permettre le chargement des compléments Visual Studio Tools pour Office. Vous pouvez implémenter l'interface IManagedAddin pour créer votre propre chargement de complément et votre propre runtime pour les compléments managés, au lieu d'utiliser le chargeur de complément (AddinLoader.dll) et le runtime inclus dans Visual Studio Tools pour Office. Pour plus d'informations sur VSTOLoader.dll et le runtime Visual Studio Tools pour Office, consultez Architecture des compléments d'application.

Chargement des compléments managés

Les étapes suivantes se produisent au démarrage d'une application :

  1. L'application découvre les compléments en recherchant les entrées sous la clé de Registre suivante :

    HKEY_CURRENT_USER\Software\Microsoft\Office\<nom de l'application>\Addins\

    Chaque entrée sous cette clé de Registre correspond à un ID unique du complément. Il s'agit généralement du nom de l'assembly du complément.

  2. L'application recherche une entrée Manifest sous l'entrée de chaque complément.

    Les compléments managés peuvent stocker le chemin d'accès complet d'un manifeste dans l'entrée Manifest sous HKEY_CURRENT_USER\Software\Microsoft\Office\<nom de l'application>\Addins\<ID du complément>. Un manifeste est un fichier (en général, un fichier XML) qui fournit des informations utilisées pour aider à charger le complément.

  3. Si l'application trouve une entrée Manifest, elle tente de charger un composant de chargement de complément managé. Pour ce faire, l'application tente de créer un objet COM qui implémente l'interface IManagedAddin.

    Le runtime de Visual Studio Tools pour Office inclut un composant de chargement de complément (VSTOLoader.dll). Vous pouvez aussi créer le vôtre en implémentant l'interface IManagedAddin.

  4. L'application appelle la méthode IManagedAddin::Load et transmet la valeur de l'entrée Manifest.

  5. La méthode IManagedAddin::Load réalise les tâches requises pour le chargement du complément, telles que la configuration du domaine d'application et de la stratégie de sécurité pour le complément en cours de chargement.

Pour plus d'informations sur les clés de Registre utilisées par les applications Microsoft Office pour rechercher et charger les compléments managés, consultez Entrées du Registre pour les compléments d'application.

Conseils pour l'implémentation de l'interface IManagedAddin

Si vous implémentez IManagedAddin, vous devez enregistrer la DLL contenant l'implémentation à l'aide du CLSID suivant :

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

Les applications Microsoft Office utilisent ce CLSID pour créer l'objet COM qui implémente l'interface IManagedAddin.

Attention :

Ce CLSID est également utilisé par VSTOLoader.dll dans le runtime Visual Studio Tools pour Office. Par conséquent, si vous utilisez l'interface IManagedAddin pour créer votre propre chargement de complément et votre propre composant d'exécution, vous ne pouvez pas déployer votre composant sur des ordinateurs qui exécutent des compléments créés à l'aide de Visual Studio Tools pour Office.

Voir aussi

Autres ressources

Référence API non managée (Visual Studio Tools pour Office)