Partager via


Entrée de l’état en cours d’exécution

Lorsqu’un objet incorporé effectue la transition vers l’état d’exécution, le gestionnaire d’objets doit localiser et exécuter l’application serveur afin d’utiliser les services que seul le serveur fournit. Les objets incorporés sont placés à l’état en cours d’exécution, soit explicitement par le biais d’une requête du conteneur, comme la nécessité de dessiner un format non mis en cache, soit implicitement par OLE en réponse à l’appel d’une opération, par exemple lorsqu’un utilisateur du conteneur double-clique sur l’objet.

Lorsqu’un objet lié effectue la transition dans l’état en cours d’exécution, le processus est appelé liaison. Dans le processus de liaison, le gestionnaire d’objets demande à son moniker stocké de localiser les données du lien, puis exécute l’application serveur.

À première vue, la liaison d’un objet lié ne semble pas plus compliquée que l’exécution d’un objet incorporé. Toutefois, les points suivants compliquent le processus :

  • Un lien peut faire référence à un objet, ou à une partie de celui-ci, incorporé dans un autre conteneur. Cette fonctionnalité implique un potentiel d’incorporations imbriquées. Pour résoudre les références à une telle hiérarchie, vous devez parcourir de manière récursive un moniker composite, en commençant par le membre le plus à droite.
  • Lorsque la source de lien est en cours d’exécution, OLE se lie à l’instance en cours d’exécution de l’objet plutôt qu’à l’exécution d’une autre instance. Dans le cas d’objets incorporés imbriqués, dont l’un est la source de lien, OLE doit être en mesure de lier à un objet déjà en cours d’exécution à tout moment.
  • L’exécution d’un objet nécessite l’accès à la zone de stockage de l’objet. Lorsqu’un objet incorporé est exécuté, OLE reçoit un pointeur vers le stockage pendant le processus de chargement, qu’il transmet à l’application serveur OLE. Toutefois, pour les objets liés, il n’existe aucune interface standard pour accéder au stockage. L’application serveur OLE peut utiliser l’interface du système de fichiers ou un autre mécanisme.