Составные интерфейсы документов

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

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

Поведение Интерфейсы
Требуемое поведение
IOleClientSite
IAdviseSink
Фильтрация сообщений
Imessagefilter
Связывание
ничего
Связывание с внедренным объектами
IOleItemContainer
IPersistFile
IClassFactory
Активация на месте
IOleInPlaceSite
IOleInPlaceFrame
IOleInPlaceObject
Перетаскивание
IDropSource
IDropTarget
Idataobject

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

Функция OLE Server Объект (внепроцессный) Объект (внутрипроцессный)
Требуемое поведение IClassFactory
IOleObject
Idataobject
IPersist служба хранилища
IOleObject
Idataobject
IPersist служба хранилища
IViewObject2
IOleCache2
Фильтрация сообщений
Imessagefilter
Связывание
IOleItemContainer
IPersistFile
IOleLink
IExternal Подключение ion
Активация на месте
IOleInPlaceObject
IOleInPlaceActiveObject
IOleInPlaceObject
IOleInPlaceActiveObject
Перетаскивание
IDropSource
IDropTarget
Idataobject

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