COM-, DCOM- und Typbibliotheken
Component Object Model (COM) und Distributed Component Object Model (DCOM) verwenden Remoteprozeduraufrufe (RPC), um verteilte Komponentenobjekte miteinander zu kommunizieren. Daher definiert eine COM- oder DCOM-Schnittstelle die Identität und die externen Merkmale eines COM-Objekts. Es bildet die Mittel, mit denen Clients Zugriff auf die Methoden und Daten eines Objekts erhalten können. Mit DCOM ist dieser Zugriff unabhängig davon möglich, ob die Objekte im selben Prozess, in verschiedenen Prozessen auf demselben Computer oder auf unterschiedlichen Computern vorhanden sind. Wie bei RPC-Client-/Serverschnittstellen kann ein COM- oder DCOM-Objekt seine Funktionalität auf verschiedene Arten und über mehrere Schnittstellen verfügbar machen.
Typbibliothek
Eine Typbibliothek (TLB) ist eine Binärdatei, die Informationen zu den Eigenschaften und Methoden eines COM- oder DCOM-Objekts in einer Form speichert, auf die zur Laufzeit andere Anwendungen zugreifen können. Mithilfe einer Typbibliothek kann eine Anwendung oder ein Browser bestimmen, welche Schnittstellen ein Objekt unterstützt, und die Schnittstellenmethoden eines Objekts aufrufen. Dies kann auch dann der Fall sein, wenn die Objekt- und Clientanwendungen in verschiedenen Programmiersprachen geschrieben wurden. Die COM/DCOM-Laufzeitumgebung kann auch eine Typbibliothek verwenden, um automatisches apartmentübergreifendes, prozessübergreifendes und computerübergreifendes Marshalling für in Typbibliotheken beschriebene Schnittstellen bereitzustellen.
Merkmale einer Schnittstelle
Sie definieren die Merkmale einer Schnittstelle in einer IDL-Datei (Interface Definition) und einer optionalen Anwendungskonfigurationsdatei (ACF):
- Die IDL-Datei gibt die Merkmale der Schnittstellen der Anwendung an, d. h. wie Daten zwischen Client und Server oder zwischen COM-Objekten übertragen werden sollen.
- Die ACF-Datei gibt Schnittstellenmerkmale an, z. B. Bindungshandles, die sich nur auf die lokale Betriebsumgebung beziehen. Die ACF-Datei kann auch angeben, wie eine komplexe Datenstruktur in einer computerunabhängigen Form gemarshallt und übertragen wird.
Weitere Informationen zu IDL- und ACF-Dateien finden Sie unter Die IDL- und ACF-Dateien.
Die IDL- und ACF-Dateien sind Skripts, die in der Microsoft Interface Definition Language (MIDL) geschrieben wurden, bei der es sich um die Microsoft-Implementierung und Erweiterung der OSF-DCE Interface Definition Language (IDL) handelt. Mit den Microsoft-Erweiterungen für die IDL-Sprache können Sie COM-Schnittstellen und Typbibliotheken erstellen. Der Compiler Midl.exe verwendet diese Skripts, um Stubs und Headerdateien in der C-Sprache sowie Typbibliotheksdateien zu generieren.
Der MIDL-Compiler
Abhängig vom Inhalt Ihrer IDL-Datei generiert der MIDL-Compiler eine der folgenden Dateien.
Eine Proxy-/Stubdatei in der C-Sprache, eine Schnittstellenbezeichnerdatei, eine DLL-Datendatei und eine zugehörige Headerdatei für eine benutzerdefinierte COM-Schnittstelle. Der MIDL-Compiler generiert diese Dateien, wenn das Objektattribute in einer Schnittstellenattributeliste angezeigt wird. Ausführlichere Informationen zu diesen Dateien finden Sie unter Dateien, die für eine COM-Schnittstelle generiert wurden.
Eine kompilierte Typbibliotheksdatei (.tlb) und eine zugehörige Headerdatei. MIDL generiert diese Dateien, wenn eine Bibliotheksanweisung in der IDL-Datei angezeigt wird. Allgemeine Informationen zu Typbibliotheken finden Sie unter Inhalt einer Typbibliothek in der Automation Programmierer-Referenz.
C/C++-Sprachclient- und Server-Stubdateien und zugehörige Headerdatei für eine RPC-Schnittstelle. Diese Dateien werden generiert, wenn in der IDL-Datei Schnittstellen vorhanden sind, die nicht über das Objektsattribut verfügen. Eine Übersicht über die Stub- und Headerdateien finden Sie unter Allgemeine Buildprozedur. Ausführlichere Informationen finden Sie unter Dateien, die für eine RPC-Schnittstelle generiert wurden.