Partager via


OLE arrière-plan : 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 être très coûteux en temps. L'objectif de l'implémentation de la bibliothèque MFC OLE est de réduire la quantité de travail à effectuer pour écrire des applications complètes et capables d'OLE.

Cet article explique les parties de l'API OLE qui n'ont pas été implémentés dans MFC. La discussion explique également comment ce qui est implémenté mappe à la section d'OLE Kit de développement logiciel Windows.

Portions d'OLE non implémentées par la bibliothèque de classes

Certaines fonctionnalités et interfaces d'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 de IMoniker est implémentée par la bibliothèque de classes (par exemple, la classe d' COleServerItem ) mais n'a pas été exposée précédemment au programmeur. Pour plus d'informations sur cette interface, consultez Implémentations d'OLE Moniker dans la section d'OLE de Kit de développement logiciel Windows. Toutefois, consultez également la classe CMonikerFile et CAsyncMonikerFile.

  • Interfaces de IUnknown et d'IMarshal
    L'interface de IUnknown est implémentée par la bibliothèque de classes mais n'est pas exposée au programmeur. L'interface de IMarshal n'est pas implémentée par la bibliothèque de classes mais 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.

  • Docfiles (fichiers composés)
    Les fichiers composites sont partiellement pris en charge par la bibliothèque de classes. Aucune des fonctions qui manipulent directement les fichiers composites au delà de la création n'est prise en charge. MFC utilise la classe COleFileStream pour prendre en charge la manipulation de flux de fonctions de fichiers standard. Pour plus d'informations, consultez l'article Conteneurs : Fichiers composites.

  • Serveurs in-process et gestionnaires d'objets
    Les serveurs in-process et les gestionnaires d'objets permettent l'implémentation des données de modification visuelle ou des modèles d'objets de composants (COM) dans une bibliothèque de liens dynamiques (DLL). Pour cela, vous pouvez implémenter la DLL en appelant les API OLE directement. Toutefois, si vous écrivez un serveur Automation et que celui-ci ne dispose pas d'une interface utilisateur, vous pouvez utiliser un assistant d'application pour faire de votre serveur un serveur in-process et l'intégrer complètement dans une DLL. Pour plus d'informations sur ces thèmes, consultez Serveurs d'Automation.

    Conseil

    La façon la plus simple d'implémenter un serveur d'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 la section notes techniques de MFC 38, 39, et 40.

Voir aussi

Concepts

OLE arrière-plan

OLE arrière-plan : stratégies d'implémentation