Поделиться через


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

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

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

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

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

Особенность OLE Server Объект (внепроцессный) Объект (внутрипроцессный)
Требуемое поведение IClassFactory
IOleObject
IDataObject
IPersistStorage
IOleObject
IDataObject
IPersistStorage
IViewObject2
IOleCache2
Фильтрация сообщений
IMessageFilter
Связывание
IOleItemContainer
IPersistFile
IOleLink
IExternalConnection
Активация на месте
IOleInPlaceObject
IOleInPlaceActiveObject
IOleInPlaceObject
IOleInPlaceActiveObject
Перетащите и перетащите
IDropSource
IDropTarget
IDataObject

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