Modul 2. Verwenden von COM im Windows-Based-Programm
In Modul 1 dieser Reihe wurde gezeigt, wie Sie ein Fenster erstellen und auf Fenstermeldungen wie WM _ PAINT und WM CLOSE _ reagieren. In Modul 2 wird das Component Object Model (COM) einführen.
COM ist eine Spezifikation zum Erstellen wiederverwendbarer Softwarekomponenten. Viele der Features, die Sie in einem modernen Windows-basierten Programm verwenden, basieren auf COM, z. B.:
- Grafiken (Direct2D)
- Text (DirectWrite)
- Die Windows Shell
- Das Menüband-Steuerelement
- Benutzeroberflächenanimation
(Einige Technologien in dieser Liste verwenden eine Teilmenge von COM und sind daher nicht "reines" COM.)
COM hat den Ruf, dass es schwierig zu erlernen ist. Und es ist richtig, dass das Schreiben eines neuen Softwaremoduls zur Unterstützung von COM schwierig sein kann. Wenn Ihr Programm jedoch ausschließlich ein Com-Consumer ist, werden Sie möglicherweise feststellen, dass COM einfacher zu verstehen ist als erwartet.
In diesem Modul wird gezeigt, wie SIE COM-basierte APIs in Ihrem Programm aufrufen. Außerdem werden einige der Gründe für den Entwurf von COM beschrieben. Wenn Sie verstehen, warum COM so konzipiert ist, wie es ist, können Sie effektiver damit programmieren. Im zweiten Teil des Moduls werden einige empfohlene Programmiermethoden für COM beschrieben.
COM wurde 1993 eingeführt, um Object Linking and Embedding (OLE) 2.0 zu unterstützen. Manchmal denken die Menschen, dass COM und OLE dasselbe sind. Dies kann ein weiterer Grund für die Wahrnehmung sein, dass COM schwer zu erlernen ist. OLE 2.0 basiert auf COM, aber Sie müssen OLE nicht kennen, um COM zu verstehen.
COM ist ein binärer Standard und kein Sprachstandard: Er definiert die binäre Schnittstelle zwischen einer Anwendung und einer Softwarekomponente. Als binärer Standard ist COM sprachneutral, obwohl es auf natürliche Weise bestimmten C++-Konstrukten entspricht. Dieses Modul konzentriert sich auf drei hauptziele von COM:
- Trennen der Implementierung eines Objekts von seiner -Schnittstelle.
- Verwalten der Lebensdauer eines Objekts.
- Entdecken der Funktionen eines Objekts zur Laufzeit.
In diesem Abschnitt
- Was ist eine COM-Schnittstelle?
- Initialisieren der COM-Bibliothek
- Fehlercodes in COM
- Erstellen eines Objekts in COM
- Beispiel: Das Dialogfeld "Öffnen"
- Verwalten der Lebensdauer eines Objekts
- Fragen eines Objekts nach einer Schnittstelle
- Speicherzuordnung in COM
- COM-Codierungsmethoden
- Fehlerbehandlung in COM