Nociones de OLE: Implementación de MFC
Debido al tamaño y la complejidad de la API OLE sin procesar, llamarla directamente para escribir aplicaciones OLE puede llevar mucho tiempo. El objetivo de la implementación de la Biblioteca de clases de Microsoft Foundation de OLE es reducir la cantidad de trabajo que tiene que realizar para escribir aplicaciones completas compatibles con OLE.
En este artículo se explican las partes de la API OLE que no se han implementado dentro de MFC. También se explica cómo lo que se implementa se corresponde con la sección OLE del SDK de Windows.
Partes de OLE no implementadas por la biblioteca de clases
MFC no proporciona directamente algunas interfaces y características de OLE. Si desea usar estas características, puede llamar directamente a la API OLE.
Interfaz IMoniker La interfaz IMoniker
se implementa mediante la biblioteca de clases (por ejemplo, la clase COleServerItem
) pero no se ha expuesto previamente al programador. Para obtener más información sobre esta interfaz, vea Implementaciones de Moniker OLE en la sección OLE de Windows SDK. Sin embargo, consulte también la clase CMonikerFile y CAsyncMonikerFile.
Interfaces IUnknown e IMarshal La interfaz IUnknown
la implementa la biblioteca de clases, pero no se expone al programador. La biblioteca de clases no implementa la interfaz IMarshal
, pero se usa internamente. Los servidores de automatización creados con la biblioteca de clases ya tienen funcionalidades de serialización integradas.
Los docfiles (archivos compuestos) son parcialmente compatibles con la biblioteca de clases. No se admite ninguna de las funciones que manipulan directamente archivos compuestos más allá de la creación. MFC usa la clase COleFileStream
para admitir la manipulación de secuencias con funciones de archivo estándar. Para obtener más información, consulte el artículo Containers: Compound Files, (Contenedores: archivos compuestos).
Los servidores en proceso y los controladores de objetos de servidores en proceso permiten la implementación de datos de edición visual o de objetos completos del modelo de objetos componentes (COM) en una biblioteca de vínculos dinámicos (DLL). Para ello, puede implementar el archivo DLL llamando directamente a la API OLE. Sin embargo, si está escribiendo un servidor de automatización y el servidor no tiene ninguna interfaz de usuario, puede usar AppWizard en un servidor de proceso y colocarlo al completo en un archivo DLL. Para obtener más información sobre estos temas, consulte Servidores de Automation.
Sugerencia
La manera más fácil de implementar un servidor de Automation es colocarlo en un archivo DLL. MFC admite este enfoque.
Para obtener más información sobre cómo las clases OLE de Microsoft Foundation implementan interfaces OLE, vea Notas técnicas de MFC 38, 39 y 40.
Consulte también
Nociones de OLE
Nociones de OLE: Estrategias de implementación