Поделиться через


Библиотеки COM, DCOM и типов

Модель COM и объектная модель распределенных компонентов (DCOM) используют удаленные вызовы процедур (RPC), чтобы обеспечить взаимодействие объектов распределенных компонентов друг с другом. Таким образом, интерфейс COM или DCOM определяет идентификатор и внешние характеристики COM-объекта. Он формирует средства, с помощью которых клиенты могут получить доступ к методам и данным объекта. При использовании DCOM этот доступ возможен независимо от того, существуют ли объекты в одном процессе, в разных процессах на одном компьютере или на разных компьютерах. Как и в случае с интерфейсами клиента и сервера RPC, объект COM или DCOM может предоставлять свои функциональные возможности различными способами и с помощью нескольких интерфейсов.

Библиотека типов

Библиотека типов (TLB) — это двоичный файл, в котором хранятся сведения о свойствах и методах объекта COM или DCOM в форме, доступной другим приложениям во время выполнения. С помощью библиотеки типов приложение или браузер может определить, какие интерфейсы поддерживает объект, и вызвать методы интерфейса объекта. Это может произойти, даже если объект и клиентские приложения были написаны на разных языках программирования. Среда выполнения COM/DCOM также может использовать библиотеку типов для обеспечения автоматического маршалинга между подразделениями, между процессами и между компьютерами для интерфейсов, описанных в библиотеках типов.

Характеристики интерфейса

Характеристики интерфейса определяются в файле определения интерфейса (IDL) и необязательном файле конфигурации приложения (ACF):

  • IDL-файл определяет характеристики интерфейсов приложения по сети, то есть способ передачи данных между клиентом и сервером или между COM-объектами.
  • Файл ACF задает характеристики интерфейса, такие как дескрипторы привязки, которые относятся только к локальной операционной среде. Файл ACF также может указать способ маршалинга и передачи сложной структуры данных в независимой от компьютера форме.

Дополнительные сведения о файлах IDL и ACF см. в разделе Файлы IDL и ACF.

Файлы IDL и ACF — это скрипты, написанные на языке определения интерфейса Майкрософт (MIDL), который является реализацией и расширением языка определения интерфейса OSF-DCE корпорации Майкрософт. Расширения Майкрософт для языка IDL позволяют создавать COM-интерфейсы и библиотеки типов. Компилятор, Midl.exe, использует эти скрипты для создания заглушки языка C и файлов заголовков, а также файлов библиотеки типов.

Компилятор MIDL

В зависимости от содержимого IDL-файла компилятор MIDL создаст любой из следующих файлов.

Файл прокси-сервера или заглушки языка C, файл идентификатора интерфейса, файл данных DLL и связанный файл заголовка для пользовательского COM-интерфейса. Компилятор MIDL создает эти файлы при обнаружении атрибута объекта в списке атрибутов интерфейса. Дополнительные сведения об этих файлах см. в разделе Файлы, созданные для интерфейса COM.

Скомпилированный файл библиотеки типов (TLB) и связанный файл заголовка. MIDL создает эти файлы при обнаружении инструкции библиотеки в IDL-файле. Общие сведения о библиотеках типов см. в разделе Содержимое библиотеки типов в справочнике по программированию автоматизации.

Файлы заглушки на языке C/C++, а также связанные файлы заголовков для интерфейса RPC. Эти файлы создаются при наличии интерфейсов в IDL-файле, которые не имеют атрибута объекта . Общие сведения о файлах заглушки и заголовков см. в статье Общая процедура сборки. Дополнительные сведения см. в разделе Файлы, созданные для интерфейса RPC.