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 au-delà des 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 pour le compte d’une application serveur locale. Cet objet de substitution, appelé gestionnaire d’objets, répond aux demandes 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 propre à une classe d’objet. 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 les 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 en interaction. Ces composants incluent des éléments de communication à distance pour gérer la communication 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, et 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 du lien.

Le cache contient des données et des informations de présentation suffisantes pour que le gestionnaire affiche un objet chargé, mais non 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 link. Le cache stocke les données dans les formats nécessaires au gestionnaire d’objets pour répondre aux demandes de dessin 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, voir la rubrique suivante :

Documents composés