Файлы IDL

COM использует язык определения интерфейса Майкрософт (MIDL) для описания объектов COM. MIDL — это расширение IDL для распределенных вычислительных сред, определенных Open Software Foundation, который был разработан для определения интерфейсов для удаленных вызовов процедур в традиционных клиентских и серверных приложениях. MIDL включает большинство атрибутов и инструкций языка определения объектов (ODL), который изначально использовался для создания библиотек типов для автоматизации OLE.

В C++ и Java разработчик, создающий COM-объект, создает IDL-файл, который компилятор MIDL затем обрабатывает для создания библиотеки типов или файлов заголовка и прокси-сервера или обоих. Библиотека типов — это двоичный файл, описывающий com-объект или интерфейсы COM или оба. Библиотека типов — это скомпилированная версия файла IDL. Однако библиотеки типов поддерживают только семантику ODL. В частности, они не могут представлять всю информацию из IDL-файла, связанного с атрибутами IDL, такими как [size_is]. Необходимо создать и использовать прокси-файлы для файлов IDL, затронутых потерей информации в библиотеке типов.

В Visual Basic разработчик, создающий COM-объект, не создает IDL-файл. Вместо этого Visual Basic собирает сведения с помощью свойств класса и проекта и непосредственно создает библиотеку типов.