Связанные объекты и моникеры

Связанные объекты, такие как внедренные объекты, полагаются на обработчик объектов для взаимодействия с серверными приложениями. Однако связанный объект управляет именованием и отслеживанием источников ссылок. Связанный объект действует как сервер внутрипроцессного процесса. Например, при активации связанный объект находит и запускает серверное приложение OLE, которое является источником ссылки.

Обработчик связанного объекта состоит из двух основных компонентов: компонента обработчика и компонента связывания. Компонент обработчика содержит элементы управления и удаленного взаимодействия, а также функции, такие как обработчик для внедренного объекта. Компонент связывания имеет собственный контроллер и кэш и предоставляет доступ к структурированным хранилищам объекта. Контроллер компонентов связывания поддерживает именование источников с помощью моникеров и привязки, процесса поиска и запуска источника ссылки. (Дополнительные сведения о моникерах и привязках см. в разделе Объектная модель компонента.)

Когда пользователь изначально создает связанный объект или загружает существующий из хранилища, контейнер загружает экземпляр компонента связывания в память вместе с обработчиком объектов. Компонент связывания предоставляет интерфейсы ( в частности IOleLink), которые определяют объект как ссылку и позволяют управлять именованием, отслеживанием и обновлением источника ссылки.

Реализуя интерфейс IOleLink, связанный объект предоставляет контейнер с функциями, поддерживающими связывание. Только связанные объекты реализуют IOleLink и запрашивая этот интерфейс, контейнер может определить, внедрен или связан ли данный объект. Самая важная функция, предоставляемая IOleLink , позволяет контейнеру привязаться к источнику связанного объекта, то есть активировать подключение к документу, включающее собственные данные связанного объекта. IOleLink также определяет функции для управления сведениями о связанном объекте, например кэшированные данные презентации и расположение источника ссылки.

При сохранении составного документа, содержащего связанный объект, данные ссылки сохраняются с источником ссылки, а не с контейнером. Сохраняются только сведения о его имени и расположении вместе с составным документом. Это поведение отличается от внедренного объекта, данные которого хранятся вместе с его контейнером.

Приложения-контейнеры могут предоставлять сведения о внедренных объектах, таких как последние или их части, могут выступать в качестве источников ссылок. Реализуя поддержку связывания внедренных объектов контейнера, можно сделать вложенные внедрения возможными, что позволяет пользователю отслеживать исходные данные каждого внедренного объекта, к которому требуется ссылка. Например, если пользователь хочет внедрить лист Microsoft Excel в Microsoft Word, а лист содержит растровое изображение, созданное в Paintbrush, пользователь может связаться с копией растровой карты, содержащейся на листе, а не исходной.

Составные документы

Серверы внутрипроцессной обработки

Обработчики объектов