Arrière-plan OLE : implémentation MFC
En raison de la taille et de la complexité de l'API OLE brute, l'appeler directement pour écrire des applications OLE peut prendre beaucoup de temps. L’objectif de l’implémentation de la bibliothèque MFC OLE est de réduire la charge de travail dans l’écriture des applications complètes et de type OLE.
Cet article explique les parties de l'API OLE qui n'ont pas été implémentées dans MFC. La discussion explique également comment ce qui est implémenté mappe à la section OLE du Kit de développement logiciel (SDK) Windows.
Parties d’OLE non implémentées par la bibliothèque de classes
Certaines fonctionnalités et interfaces OLE ne sont pas directement fournies par MFC. Si vous souhaitez utiliser ces fonctionnalités, vous pouvez appeler l’API OLE directement.
Interface IMoniker L’interface IMoniker
est implémentée par la bibliothèque de classes (par exemple, la COleServerItem
classe), mais n’a pas été exposée précédemment au programmeur. Pour plus d’informations sur cette interface, consultez implémentations OLE Moniker dans la section OLE du Kit de développement logiciel (SDK) Windows. Toutefois, consultez également la classe CMonikerFile et CAsyncMonikerFile.
Interfaces IUnknown et IMarshal L’interface IUnknown
est implémentée par la bibliothèque de classes, mais n’est pas exposée au programmeur. L’interface IMarshal
n’est pas implémentée par la bibliothèque de classes, mais elle est utilisée en interne. Les serveurs d’automation générés à l’aide de la bibliothèque de classes incorporent déjà des fonctions de marshaling.
Les fichiers composés Docfiles (Fichiers composés) sont partiellement pris en charge par la bibliothèque de classes. Aucune des fonctions qui manipulent directement les fichiers composés au delà de la création n'est prise en charge. MFC utilise la classe COleFileStream
pour prendre en charge la manipulation de flux avec des fonctions de fichier standard. Pour plus d’informations, consultez l’article Conteneurs : Fichiers composés.
Les serveurs in-process et les gestionnaires d’objets serveurs in-process et les gestionnaires d’objets autorisent l’implémentation d’objets de modification visuelle ou d’objets COM (Component Object Model) complets dans une bibliothèque de liens dynamiques (DLL). Pour cela, vous pouvez implémenter la DLL en appelant l'API OLE directement. Toutefois, si vous disposez d'un accès en écriture à un serveur Automation et que celui-ci n'offre pas d'interface utilisateur, vous pouvez utiliser AppWizard pour faire de votre serveur un serveur intra-processus et l'intégrer complètement dans une DLL. Pour plus d’informations sur ces rubriques, consultez Serveurs Automation.
Conseil
La façon la plus simple d'implémenter un serveur Automation est de le placer dans une DLL. MFC prend en charge cette méthode.
Pour plus d’informations sur la façon dont les classes OLE de Microsoft Foundation implémentent des interfaces OLE, consultez les notes techniques MFC 38, 39 et 40.
Voir aussi
Arrière-plan OLE
Arrière-plan OLE : stratégies d’implémentation