Interfaccia IManagedAddin
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 |
Oggetto di descrizione |
---|---|
Chiamato quando in un'applicazione di Microsoft Office viene caricato un componente aggiuntivo gestito. |
|
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 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 Runtime di Visual Studio Tools per Office. Per ulteriori informazioni, vedere Architettura dei componenti aggiuntivi a livello di applicazione.
Modalità di caricamento dei componenti aggiuntivi gestiti
All'avvio di un'applicazione vengono effettuate le operazioni seguenti:
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 sotto questa chiave del Registro di sistema è un ID univoco del componente aggiuntivo. In genere, questo è il nome dell'assembly del componente aggiuntivo.
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 vengono fornite informazioni utili per il caricamento del componente aggiuntivo.
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.
Runtime di Visual Studio Tools per Office include un componente di caricamento (VSTOLoader.dll) per componenti aggiuntivi. In alternativa, è possibile crearne uno personalizzato implementando l'interfaccia IManagedAddin.
L'applicazione chiama il metodo IManagedAddin::Load e passa il valore della voce Manifest.
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 ai computer in cui sono in esecuzione componenti aggiuntivi che si basano su Runtime di Visual Studio Tools per Office. |
Vedere anche
Altre risorse
Riferimenti ad API non gestite (sviluppo per Office in Visual Studio)