Interfaces de documento compuestas
En las tablas siguientes se enumeran las interfaces implementadas por contenedores OLE, servidores OLE y objetos de documento compuestos. Las interfaces necesarias deben implementarse en los componentes para los que se muestran. Todas las demás características son opcionales. Sin embargo, si desea incluir una característica determinada en la aplicación, debe implementar las interfaces que se muestran para esa característica en la tabla siguiente. Todas las demás interfaces solo son necesarias si se incluye una característica determinada.
En la tabla siguiente se enumeran los comportamientos obligatorios y opcionales para los contenedores OLE y qué interfaces debe implementar para cada uno.
Comportamiento | Interfaces |
---|---|
Comportamientos necesarios |
IOleClientSite IAdviseSink |
Filtrado de mensajes |
IMessageFilter |
Vinculación |
ninguno |
Vinculación a objetos incrustados |
IOleItemContainer IPersistFile IClassFactory |
Activación local |
IOleInPlaceSite IOleInPlaceFrame IOleInPlaceObject |
Arrastrar y colocar |
IDropSource IDropTarget IDataObject |
En la tabla siguiente se enumeran los comportamientos obligatorios y opcionales para los servidores OLE y sus objetos de documento compuestos y qué interfaces debe implementar para cada uno. La tabla distingue los servidores OLE y sus objetos para aclarar qué componente implementa qué interfaces. En la tabla también se muestran los distintos requisitos de los objetos proporcionados por los servidores fuera de proceso frente a los servidores dentro del proceso.
Característica | Servidor OLE | Objeto (fuera de proceso) | Objeto (en proceso) |
---|---|---|---|
Comportamientos necesarios |
IClassFactory |
IOleObject IDataObject IPersistStorage |
IOleObject IDataObject IPersistStorage IViewObject2 IOleCache2 |
Filtrado de mensajes |
IMessageFilter |
||
Vinculación |
IOleItemContainer IPersistFile |
IOleLink IExternalConnection |
|
Activación local |
IOleInPlaceObject IOleInPlaceActiveObject |
IOleInPlaceObject IOleInPlaceActiveObject |
|
Arrastrar y colocar |
IDropSource IDropTarget IDataObject |