Objetos vinculados y Monikers

Los objetos vinculados, como los objetos incrustados, dependen de un controlador de objetos para comunicarse con las aplicaciones de servidor. Sin embargo, el propio objeto vinculado administra la nomenclatura y el seguimiento de los orígenes de vínculo. El objeto vinculado actúa como un servidor en proceso. Por ejemplo, cuando se activa, un objeto vinculado busca e inicia la aplicación de servidor OLE que es el origen del vínculo.

El controlador de un objeto vinculado se compone de dos componentes principales: el componente de controlador y el componente de vinculación. El componente de controlador contiene las partes de control y comunicación remota y funciona de forma muy similar a un controlador para un objeto incrustado. El componente de vinculación tiene su propio controlador y caché y proporciona acceso al almacenamiento estructurado del objeto. El controlador de componentes de vinculación admite la nomenclatura de origen mediante el uso de monikers y el enlace, el proceso de búsqueda y ejecución del origen del vínculo. (Para obtener más información sobre monikers y enlaces, vea El modelo de objetos componentes).

Cuando un usuario crea inicialmente un objeto vinculado o carga uno existente desde el almacenamiento, el contenedor carga una instancia del componente de vinculación en la memoria, junto con el controlador de objetos. El componente de vinculación proporciona interfaces , especialmente IOleLink, que identifican el objeto como un vínculo y permiten administrar la nomenclatura, el seguimiento y la actualización de su origen de vínculo.

Al implementar la interfaz IOleLink , un objeto vinculado proporciona su contenedor con funciones que admiten la vinculación. Solo los objetos vinculados implementan IOleLink y, al consultar esta interfaz, un contenedor puede determinar si un objeto determinado está incrustado o vinculado. La función más importante proporcionada por IOleLink permite que un contenedor se enlace al origen del objeto vinculado, es decir, para activar la conexión al documento que almacena los datos nativos del objeto vinculado. IOleLink también define funciones para administrar información sobre el objeto vinculado, como los datos de presentación almacenados en caché y la ubicación del origen del vínculo.

Cuando se guarda un documento compuesto que contiene un objeto vinculado, los datos del vínculo se guardan con el origen del vínculo, no con el contenedor. Solo se guarda información sobre su nombre y ubicación junto con el documento compuesto. Este comportamiento contrasta con el de un objeto incrustado, cuyos datos se almacenan junto con el de su contenedor.

Las aplicaciones contenedoras pueden proporcionar información sobre sus objetos incrustados de forma que estos últimos, o partes de ella, pueden actuar como orígenes de vínculo. Al implementar la compatibilidad con la vinculación a los objetos incrustados del contenedor, se hacen posibles incrustaciones anidadas, lo que alivia al usuario de tener que realizar un seguimiento de los originales de cada objeto de inserción al que se desea un vínculo. Por ejemplo, si un usuario quiere insertar una hoja de cálculo de Microsoft Excel en Microsoft Word y la hoja de cálculo contiene un mapa de bits creado en Paintbrush, el usuario puede vincular a una copia del mapa de bits contenido en la hoja de cálculo en lugar del original.

Documentos compuestos

Servidores en proceso

Controladores de objetos