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

Если приложение OLE-сервера является локальным сервером, то есть оно выполняется в собственном пространстве обработки, взаимодействие между контейнером и сервером должно происходить через границы процесса. Так как этот процесс является дорогостоящим, OLE использует суррогатный объект, загруженный в пространство обработки контейнера, чтобы действовать от имени локального серверного приложения. Этот суррогатный объект, известный как обработчик объектов, запросы контейнеров служб, которые не требуют внимания серверного приложения, например запросов на рисование. Когда контейнер запрашивает что-то, что обработчик объектов не может предоставить, обработчик взаимодействует с серверным приложением с помощью внепроцессного механизма связи COM.

Обработчик объектов является уникальным для класса объектов. При создании экземпляра обработчика для одного класса его нельзя использовать для другого. При использовании для составного документа обработчик объектов реализует структуры данных на стороне контейнера при удаленном доступе к объектам определенного класса.

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

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

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

Дополнительные сведения см. в следующей статье:

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