Gestori di oggetti

Se un'applicazione server OLE è un server locale, vale a dire che viene eseguita nello spazio di elaborazione, la comunicazione tra contenitore e server deve verificarsi attraverso i limiti del processo. Poiché questo processo è costoso, OLE si basa su un oggetto surrogato caricato nello spazio di elaborazione del contenitore per agire per conto di un'applicazione server locale. Questo oggetto surrogato, noto come gestore oggetti, consente di gestire le richieste di contenitori che non richiedono l'attenzione dell'applicazione server, ad esempio le richieste di disegno. Quando un contenitore richiede un elemento che il gestore oggetti non può fornire, il gestore comunica con l'applicazione server usando il meccanismo di comunicazione out-of-process di COM.

Un gestore oggetti è univoco per una classe oggetto. Quando si crea un'istanza di un gestore per una classe, non è possibile usarla per un'altra classe. Se usato per un documento composto, il gestore dell'oggetto implementa le strutture di dati sul lato contenitore quando si accede in remoto agli oggetti di una determinata classe.

OLE fornisce un gestore di oggetti predefinito che le applicazioni server locali possono usare. Per le applicazioni che richiedono comportamenti speciali, gli sviluppatori possono implementare un gestore personalizzato che sostituisce il gestore predefinito o lo usa per fornire determinati comportamenti predefiniti.

Un gestore oggetti è una DLL contenente diversi componenti che interagiscono. Questi componenti includono parti di comunicazione remota per gestire la comunicazione tra il gestore e l'applicazione server, una cache per l'archiviazione dei dati di un oggetto, oltre a informazioni su come devono essere formattati e visualizzati e un oggetto di controllo che coordina le attività degli altri componenti della DLL. Inoltre, se un oggetto è un collegamento, la DLL include anche un componente di collegamento o un oggetto collegato, che tiene traccia del nome e della posizione dell'origine del collegamento.

La cache contiene dati e informazioni di presentazione sufficienti per consentire al gestore di visualizzare un oggetto caricato, ma non in esecuzione, nel relativo contenitore. OLE fornisce un'implementazione della cache utilizzata dal gestore oggetti predefinito di OLE e dall'oggetto collegamento. La cache archivia i dati in formati necessari al gestore oggetti per soddisfare le richieste di disegno del contenitore. Quando i dati di un oggetto vengono modificati, l'oggetto invia una notifica alla cache in modo che possa verificarsi un aggiornamento. Per altre informazioni sulla cache, vedere Visualizzare la memorizzazione nella cache.

Per altre informazioni, vedere l'argomento seguente:

Documenti composti