Condividi tramite


Interfaccia IManagedAddin

Aggiornamento: novembre 2007

Implementare l'interfaccia IManagedAddin per creare un componente che carichi componenti aggiuntivi gestiti. Questa interfaccia è stata aggiunta in 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();
};

Metodi

Nella tabella seguente sono inclusi i metodi definiti dall'interfaccia IManagedAddin.

Nome

Descrizione

IManagedAddin::Load

Chiamato quando in un'applicazione di Microsoft Office viene caricato un componente aggiuntivo gestito.

IManagedAddin::Unload

Chiamato appena prima che in un'applicazione di Microsoft Office venga scaricato un componente aggiuntivo gestito.

Note

A partire da Microsoft Office System 2007, le applicazioni di Microsoft Office utilizzano l'interfaccia IManagedAddin per consentire il caricamento di componenti aggiuntivi di Visual Studio Tools per Office. È possibile implementare l'interfaccia IManagedAddin per creare un componente di caricamento e un runtime personalizzati per componenti aggiuntivi gestiti anziché utilizzare il componente di caricamento (VSTOLoader.dll) e il runtime inclusi in Visual Studio Tools per Office. Per ulteriori informazioni su VSTOLoader.dll e il runtime di Visual Studio Tools per Office, vedere Architettura delle personalizzazioni a livello di documento.

Modalità di caricamento dei componenti aggiuntivi gestiti

All'avvio di un'applicazione vengono effettuate le operazioni seguenti:

  1. L'applicazione individua i componenti aggiuntivi cercando le voci nella seguente chiave del Registro di sistema:

    HKEY_CURRENT_USER\Software\Microsoft\Office\<nome applicazione>\Addins\

    Ogni voce inclusa in questa chiave del Registro di sistema rappresenta un ID univoco del componente aggiuntivo. In genere, si tratta del nome dell'assembly del componente aggiuntivo.

  2. L'applicazione cerca una voce Manifest nella voce per ciascun componente aggiuntivo.

    I componenti aggiuntivi gestiti possono memorizzare il percorso completo di un manifesto nella voce Manifest all'interno della chiave HKEY_CURRENT_USER\Software\Microsoft\Office\<nome applicazione>\Addins\<Identificatore componente aggiuntivo>. Un manifesto è un file (generalmente, un file XML) in cui sono fornite informazioni utili per caricare il componente aggiuntivo.

  3. Se l'applicazione individua una voce Manifest, tenta di caricare un componente di caricamento per componenti aggiuntivi gestiti. A tale scopo, l'applicazione tenta di creare un oggetto COM che implementa l'interfaccia IManagedAddin.

    Nel runtime di Visual Studio Tools per Office è incluso un componente di caricamento (VSTOLoader.dll) per componenti aggiuntivi. In alternativa, è possibile crearne uno personalizzato implementando l'interfaccia IManagedAddin.

  4. L'applicazione chiama il metodo IManagedAddin::Load e passa il valore della voce Manifest.

  5. Il metodo IManagedAddin::Load esegue le attività necessarie per caricare il componente aggiuntivo, ad esempio la configurazione del dominio applicazione e dei criteri di sicurezza per il componente aggiuntivo caricato.

Per ulteriori informazioni sulle chiavi del Registro di sistema utilizzate dalle applicazioni di Microsoft Office per individuare e caricare componenti aggiuntivi gestiti, vedere Voci del Registro di sistema per i componenti aggiuntivi a livello di applicazione.

Linee guida per l'implementazione di IManagedAddin

Se si implementa IManagedAddin, è necessario registrare la DLL contenente l'implementazione tramite il seguente CLSID:

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

Le applicazioni di Microsoft Office utilizzano questo CLSID per creare l'oggetto COM per l'implementazione di IManagedAddin.

Attenzione:

Tale CLSID è inoltre utilizzato da VSTOLoader.dll nel runtime di Visual Studio Tools per Office. Pertanto, se si utilizza IManagedAddin per creare un componente di caricamento e di runtime personalizzato per il componente aggiuntivo, non è possibile distribuire il componente in computer in cui sono in esecuzione componenti aggiuntivi creati tramite Visual Studio Tools per Office.

Vedere anche

Altre risorse

Riferimenti ad API non gestite (Visual Studio Tools per Office)