Interfaces de documentos compostos
As tabelas a seguir listam as interfaces implementadas por contêineres OLE, servidores OLE e objetos de documento compostos. As interfaces necessárias devem ser implementadas nos componentes para os quais estão listadas. Todos os outros recursos são opcionais. No entanto, se você quiser incluir um recurso específico em seu aplicativo, deverá implementar as interfaces mostradas para esse recurso na tabela abaixo. Todas as outras interfaces são necessárias somente se você estiver incluindo um recurso específico.
A tabela a seguir lista os comportamentos obrigatórios e opcionais para contêineres OLE e quais interfaces você deve implementar para cada um.
Comportamental | Interfaces |
---|---|
Comportamentos necessários |
IOleClientSite IAdviseSink |
Filtragem de mensagens |
IMessageFilter |
Vinculação |
nenhum |
Vinculando a objetos incorporados |
IOleItemContainer IPersistFile IClassFactory |
Ativação in-loco |
IOleInPlaceSite IOleInPlaceFrame IOleInPlaceObject |
Arrastar e soltar |
IDropSource IDropTarget IDataObject |
A tabela a seguir lista os comportamentos obrigatórios e opcionais para servidores OLE e seus objetos de documento compostos e quais interfaces você deve implementar para cada um. A tabela distingue servidores OLE e seus objetos para esclarecer qual componente implementa quais interfaces. A tabela também observa os diferentes requisitos de objetos fornecidos por servidores fora de processo versus servidores em processo.
Recurso | Servidor OLE | Objeto (fora do processo) | Objeto (em processo) |
---|---|---|---|
Comportamentos necessários | IClassFactory |
IOleObject IDataObject IPersistStorage |
IOleObject IDataObject IPersistStorage IViewObject2 IOleCache2 |
Filtragem de mensagens |
IMessageFilter |
||
Vinculação |
IOleItemContainer IPersistFile |
IOleLink IExternalConnection |
|
Ativação in-loco |
IOleInPlaceObject IOleInPlaceActiveObject |
IOleInPlaceObject IOleInPlaceActiveObject |
|
Arrastar e soltar |
IDropSource IDropTarget IDataObject |