Arquivos IDL
COM usa o Microsoft Interface Definition Language (MIDL) para descrever objetos COM. MIDL é uma extensão do IDL para ambientes de computação distribuída definidos pela Open Software Foundation, que foi desenvolvido para definir interfaces para chamadas de procedimento remoto em aplicações cliente/servidor tradicionais. MIDL inclui a maioria dos atributos e instruções de Object Definition Language (ODL), a linguagem originalmente usada para gerar bibliotecas de tipos para automação OLE.
Em C++ e Java, um desenvolvedor que cria um objeto COM cria um arquivo IDL que o compilador MIDL processa para criar uma biblioteca de tipos ou arquivos de cabeçalho e proxy, ou ambos. Uma biblioteca de tipos é um arquivo binário que descreve o objeto COM ou interfaces COM, ou ambos. Uma biblioteca de tipos é a versão compilada do arquivo IDL. No entanto, as bibliotecas de tipos oferecem suporte apenas à semântica EAD. Em particular, eles não podem representar todas as informações de um arquivo IDL relacionadas a atributos IDL como [size_is]. Você precisa criar e usar arquivos proxy para arquivos IDL afetados pela perda de informações na biblioteca de tipos.
No Visual Basic, um desenvolvedor criando um objeto COM não cria um arquivo IDL. Em vez disso, o Visual Basic reúne informações usando propriedades de classe e projeto e cria diretamente a biblioteca de tipos.