File IDL
COM usa Microsoft Interface Definition Language (MIDL) per descrivere gli oggetti COM. MIDL è un'estensione del linguaggio IDL per gli ambienti di elaborazione distribuiti definiti da Open Software Foundation, sviluppato per definire interfacce per le chiamate di procedura remota nelle applicazioni client/server tradizionali. MIDL include la maggior parte degli attributi e delle istruzioni di Object Definition Language (ODL), il linguaggio usato originariamente per generare librerie dei tipi per l'automazione OLE.
In C++ e Java, uno sviluppatore che compila un oggetto COM crea un file IDL che il compilatore MIDL elabora quindi per creare una libreria dei tipi o un'intestazione e file proxy o entrambi. Una libreria dei tipi è un file binario che descrive l'oggetto COM o le interfacce COM o entrambe. Una libreria dei tipi è la versione compilata del file IDL. Tuttavia, le librerie dei tipi supportano solo la semantica ODL. In particolare, non possono rappresentare tutte le informazioni di un file IDL correlato agli attributi IDL, ad esempio [size_is]. È necessario creare e usare file proxy per i file IDL interessati dalla perdita di informazioni nella libreria dei tipi.
In Visual Basic uno sviluppatore che crea un oggetto COM non crea un file IDL. Visual Basic raccoglie invece informazioni usando le proprietà della classe e del progetto e crea direttamente la libreria dei tipi.