Component-Objektmodell (COM)

Zweck

COM ist ein plattformunabhängiges, verteiltes, objektorientiertes System zum Erstellen binärer Softwarekomponenten, die interagieren können. COM ist die Grundlegende Technologie für die OLE-Technologien (Verbunddokumente) von Microsoft und ActiveX (Internet-fähige Komponenten).

Tip

Modernes C++ und COM: Wenn Sie neuen C++-Code schreiben, der COM-Schnittstellen verwendet, bevorzugen Sie intelligente Zeigerwrapper über unformatierte AddRef/Release Aufrufe:

Approach Wann verwenden? Header
C++/WinRTwinrt::com_ptr<T> Neuer Windows-Runtime oder klassischer COM-Code <winrt/base.h> (C++/WinRT-Projektion)
WRLMicrosoft::WRL::ComPtr<T> Vorhandene Codebasen, klassisches COM, keine C++/WinRT-Abhängigkeit <wrl/client.h>
Raw COM (AddRef/Release) Bibliotheken auf niedriger Ebene, ABI-Begrenzungen, COM-Serverimplementierungen <unknwn.h>

Smart Pointer vermeiden die häufigsten COM-Fehler: nicht freigegebene Referenzen, doppelte Freigaben und Zugriffe nach der Freigabe. Details finden Sie unter Verwalten von Objektlebensdauern durch Referenzzählung .

Gegebenenfalls

COM-Objekte können mit einer Vielzahl von Programmiersprachen erstellt werden. Objektorientierte Sprachen wie C++ bieten Programmiermechanismen, die die Implementierung von COM-Objekten vereinfachen. Diese Objekte können sich innerhalb eines einzelnen Prozesses, in anderen Prozessen, auch auf Remotecomputern befinden.

Laufzeitanforderungen

Informationen dazu, welche Betriebssysteme für die Verwendung einer bestimmten Schnittstelle oder Funktion erforderlich sind, finden Sie im Abschnitt "Anforderungen" der Dokumentation für die Schnittstelle oder Funktion.

In diesem Abschnitt

Thema Beschreibung
COM-Grundlagen
Beschreibt die grundlegenden Konzepte und Programmierreferenzen.
OLE und Datenübertragung
Beschreibt zusammengesetzte Dokumente und Datenübertragungen.
Steuerelemente und Eigenschaftenseiten
Beschreibt ActiveX-Steuerelemente und Eigenschaftenseiten.
COM-Übersetzungen
Beschreibt die Unterschiede zwischen Programmiersprachen und die Übersetzung der COM-Objektsyntax von einer Sprache in eine andere.
Thema Beschreibung
COM-Grundlagen
Beschreibt die grundlegenden Konzepte und Programmierreferenzen.
OLE- und Datenübertragung
Beschreibt zusammengesetzte Dokumente und Datenübertragungen.
Steuerelemente und Eigenschaftenseiten
Beschreibt ActiveX-Steuerelemente und Eigenschaftenseiten.
COM-Übersetzungen
Beschreibt die Unterschiede zwischen Programmiersprachen und die Übersetzung der COM-Objektsyntax von einer Sprache in eine andere.
Thema Beschreibung
Component-Objektmodell (COM)
COM ist ein plattformunabhängiges, verteiltes, objektorientiertes System zum Erstellen binärer Softwarekomponenten, die interagieren können. COM ist die Grundlegende Technologie für die OLE-Technologien (Verbunddokumente) von Microsoft und ActiveX (Internet-fähige Komponenten).
Automatisierung
Mit der Automatisierung können Softwarepakete ihre einzigartigen Features für Skripttools und andere Anwendungen verfügbar machen. Automation verwendet das Component Object Model (COM), kann jedoch unabhängig von anderen OLE-Funktionen wie etwa der In-Place-Aktivierung implementiert werden.
Microsoft Interface Definition Language (MIDL)-
Die Microsoft Interface Definition Language (MIDL) definiert Schnittstellen zwischen Client- und Serverprogrammen. Microsoft enthält den MIDL-Compiler mit dem Platform Software Development Kit (SDK), damit Entwickler die IDL-Dateien (Interface Definition Language) und Anwendungskonfigurationsdateien (Application Configuration Files, ACF) erstellen können, die für RPC-Schnittstellen (Remote Procedure Call) und COM/DCOM-Schnittstellen erforderlich sind. MIDL unterstützt auch die Generierung von Typbibliotheken für die OLE-Automatisierung.
strukturierter Speicher
Der strukturierte Speicher bietet Datei- und Datenpersistenz in COM, indem eine einzelne Datei als strukturierte Sammlung von Objekten behandelt wird, die als Speicher und Datenströme bezeichnet werden.
COM+-
COM+ ist eine Weiterentwicklung von Microsoft Component Object Model (COM) und Microsoft Transaction Server (MTS). COM+ baut auf Anwendungen auf, die mit COM, MTS und anderen COM-basierten Technologien geschrieben wurden, und erweitert sie.