Partager via


Arrière-plan OLE : implémentation MFC

En raison de la taille et de la complexité de l’API OLE brute, l’appelant directement pour écrire des applications OLE peut prendre beaucoup de temps. L’objectif de l’implémentation de la bibliothèque de classes Microsoft Foundation d’OLE est de réduire la quantité de travail que vous devez faire pour écrire des applications compatibles AVEC OLE complètes.

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

Quelques interfaces et fonctionnalités d’OLE ne sont pas directement fournies par MFC. Si vous souhaitez utiliser ces fonctionnalités, vous pouvez appeler directement l’API OLE.

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 Automation créés à l’aide de la bibliothèque de classes disposent déjà de fonctionnalités de marshaling intégrées.

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 ne sont prises 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.

In-Process Serveurs et gestionnaires d’objets serveurs in-process et gestionnaires d’objets permettent 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 ce faire, vous pouvez implémenter votre DLL en appelant directement l’API OLE. Toutefois, si vous écrivez un serveur Automation et que votre serveur n’a pas d’interface utilisateur, vous pouvez utiliser AppWizard pour faire de votre serveur un serveur in-process et le placer complètement dans une DLL. Pour plus d’informations sur ces rubriques, consultez Serveurs Automation.

Conseil / Astuce

Le moyen le plus simple d’implémenter un serveur Automation consiste à le placer dans une DLL. MFC prend en charge cette approche.

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