IDL-Dateien
COM verwendet die Microsoft Interface Definition Language (MIDL), um COM-Objekte zu beschreiben. MIDL ist eine Erweiterung der IDL für verteilte Computingumgebungen, die von open Software Foundation definiert wurden, um Schnittstellen für Remoteprozeduraufrufe in herkömmlichen Client-/Serveranwendungen zu definieren. MIDL enthält die meisten Attribute und Anweisungen von Object Definition Language (ODL), der Sprache, die ursprünglich zum Generieren von Typbibliotheken für OLE Automation verwendet wurde.
In C++ und Java erstellt ein Entwickler, der ein COM-Objekt erstellt, eine IDL-Datei, die der MIDL-Compiler dann verarbeitet, um eine Typbibliothek, Header- und Proxydateien oder beides zu erstellen. Eine Typbibliothek ist eine Binärdatei, die das COM-Objekt oder die COM-Schnittstellen oder beides beschreibt. Eine Typbibliothek ist die kompilierte Version der IDL-Datei. Typbibliotheken unterstützen jedoch nur ODL-Semantik. Insbesondere können sie nicht alle Informationen aus einer IDL-Datei im Zusammenhang mit IDL-Attributen wie [size_is] darstellen. Sie müssen Proxydateien für IDL-Dateien erstellen und verwenden, die von Informationsverlusten in der Typbibliothek betroffen sind.
In Visual Basic erstellt ein Entwickler, der ein COM-Objekt erstellt, keine IDL-Datei. Stattdessen sammelt Visual Basic Informationen mithilfe von Klassen- und Projekteigenschaften und erstellt direkt die Typbibliothek.