Partager via


Gestionnaires d’objets

Si une application serveur OLE est un serveur local, ce qui signifie qu’elle s’exécute dans son propre espace de processus, la communication entre le conteneur et le serveur doit se produire entre les limites de processus. Étant donné que ce processus est coûteux, OLE s’appuie sur un objet de substitution chargé dans l’espace de processus du conteneur pour agir au nom d’une application de serveur local. Cet objet de substitution, appelé gestionnaire d’objets , services les requêtes de conteneur qui ne nécessitent pas l’attention de l’application serveur, telles que les demandes de dessin. Lorsqu’un conteneur demande quelque chose que le gestionnaire d’objets ne peut pas fournir, le gestionnaire communique avec l’application serveur à l’aide du mécanisme de communication hors processus de COM.

Un gestionnaire d’objets est unique à une classe d’objets. Lorsque vous créez une instance d’un gestionnaire pour une classe, vous ne pouvez pas l’utiliser pour une autre. Lorsqu’il est utilisé pour un document composé, le gestionnaire d’objets implémente les structures de données côté conteneur lorsque des objets d’une classe particulière sont accessibles à distance.

OLE fournit un gestionnaire d’objets par défaut que les applications serveur locales peuvent utiliser. Pour les applications qui nécessitent des comportements spéciaux, les développeurs peuvent implémenter un gestionnaire personnalisé qui remplace le gestionnaire par défaut ou l’utilise pour fournir certains comportements par défaut.

Un gestionnaire d’objets est une DLL contenant plusieurs composants interagissants. Ces composants incluent la communication à distance entre le gestionnaire et son application serveur, un cache pour stocker les données d’un objet, ainsi que des informations sur la façon dont ces données doivent être mises en forme et affichées, ainsi qu’un objet de contrôle qui coordonne les activités des autres composants de la DLL. En outre, si un objet est un lien, la DLL inclut également un composant de liaison, ou objet lié, qui effectue le suivi du nom et de l’emplacement de la source de lien.

Le cache contient des données et des informations de présentation suffisantes pour que le gestionnaire affiche un objet chargé, mais pas en cours d’exécution, dans son conteneur. OLE fournit une implémentation du cache utilisé par le gestionnaire d’objets par défaut d’OLE et l’objet de liaison. Le cache stocke les données dans les formats nécessaires par le gestionnaire d’objets pour répondre aux demandes de tirage de conteneur. Quand les données d’un objet changent, l’objet envoie une notification au cache afin qu’une mise à jour puisse se produire. Pour plus d’informations sur le cache, consultez Afficher la mise en cache.

Pour plus d’informations, consultez la rubrique suivante :

documents composés