OLE-Hintergrund: MFC-Implementierung

Aufgrund der Größe und Komplexität des unformatierten OLE API, kann es direkt aufzurufen, um OLE-Anwendungen zu schreibende sehr zeitaufwendig sein.Das Ziel der Microsoft Foundation Class-Bibliothek-Implementierung von OLE besteht darin, den Arbeitsaufwand reduzieren, den Sie ausführen müssen, um die Vollfunktions-, OLE-fähigen Anwendungen zu schreiben.

In diesem Artikel werden die Teile des OLE APIs, die nicht implementierte inneres MFC wurden.Die Erläuterung wird erläutert, was auch, wie Zuordnungen zum OLE-Abschnitt implementiert Windows SDK ist.

Teile OLE implementiert nicht durch die Klassenbibliothek

Einige Schnittstellen und Funktionen von OLE werden nicht direkt von MFC bereitgestellt.Wenn Sie diese Funktionen verwenden möchten, können Sie das OLE API direkt aufrufen.

  • IMoniker-Schnittstelle
    Die IMoniker-Schnittstelle wird durch die Klassenbibliothek implementiert (z. B. die COleServerItem-Klasse), ist aber nicht zuvor für den Programmierer verfügbar geworden.Weitere Informationen über diese Schnittstelle finden Sie unter OLE-Moniker-Implementierungen im OLE-Abschnitt Windows SDK.Darüber hinaus finden Sie jedoch CAsyncMonikerFile und CMonikerFile-Klasse.

  • IUnknown und IMarshal-Schnittstellen
    Die IUnknown-Schnittstelle wird implementiert, um die Klassenbibliothek jedoch nicht für den Programmierer verfügbar gemacht.Die IMarshal-Schnittstelle nicht implementiert, über die Klassenbibliothek ist jedoch intern verwendet.Die Automatisierungsserver, die mithilfe der Klassenbibliothek erstellt haben, sind bereits beim Marshalling die integrierten Funktionen.

  • Docfiles (Verbunddateien)
    Verbunddateien werden teilweise von der Klassenbibliothek unterstützt.Alle Funktionen, die direkt Verbunddateien zu Builds hinaus bearbeiten, werden unterstützt.MFC COleFileStream-Klasse verwendet, um die Bearbeitung von Streams mit standardmäßigen Datei Features zu unterstützen.Weitere Informationen finden Sie im Artikel Container: Verbunddateien.

  • Prozessinterne Server und Objekthandler
    Prozessinterne Server und Objekthandler ermöglichen Implementierung von visuellen bearbeitungs von Daten oder vollständigen COM-Objekten (Component Object Model) in einer Dynamic Link Library (DLL).Hierzu können Sie Ihre DLL implementiert die OLE API direkt aufrufen.Wenn Sie jedoch einen Automatisierungsserver schreiben und der Server keine Benutzeroberfläche aufweist, können Sie Anwendungs-Assistenten verwenden, um den Server einen prozessinternen Server zu erstellen und ihn in eine DLL vollständig zu setzen.Weitere Informationen zu diesen Themen finden Sie Automatisierungsserver.

    TippTipp

    Die einfachste Möglichkeit, einen Automatisierungsserver zu implementieren, besteht darin, sie in einer DLL zu platzieren.MFC unterstützt diesen Ansatz.

Weitere Informationen darüber, wie die Klassen der Microsoft Foundation OLE OLE-Schnittstellen implementiert wird, finden Sie unter MFC-technische Hinweise 38, 39 und 40.

Siehe auch

Konzepte

OLE-Hintergrund

OLE-Hintergrund: Durchführungsstrategien