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


Знакомство с COM-взаимодействием

Обновлен: Ноябрь 2007

Модель COM позволяет объекту предоставлять его функциональность другим компонентам и приложениям хоста. Несмотря на то, что объекты COM в течение многих лет служили основой программирования в Windows, приложения, разработанные для среды CLR, имеют много преимуществ.

Приложения .NET Framework непременно заменят в будущем приложения, разработанные с применением COM. До этого, возможно, придется использовать или создавать объекты COM с помощью Visual Studio. Возможность взаимодействия с COM, или COM-взаимодействие, позволяет использовать существующие объекты COM при постепенном переходе к .NET Framework.

Используя .NET Framework для создания компонентов COM, можно использовать COM-взаимодействие без регистрации. Это позволяет управлять тем, какая версия DLL включена, когда более чем одной версии установлено на компьютере, и позволяет конечным пользователям использовать XCOPY или FTP, чтобы скопировать приложение в соответствующий каталог на своем компьютере, где его можно запустить. Дополнительные сведения см. в разделе COM-взаимодействие без регистрации.

Управляемый код и данные

Код, разработанный для .NET Frameworkуправляемого кода, содержит метаданные, которые используются средой CLR. Данные, используемые приложениями .NET Framework, называют управляемыми данными, так как среда выполнения управляет задачами, связанными с данными, такими как выделение и освобождение памяти и проверка типов. По умолчанию Visual Basic 2005 использует управляемый код и данные, но можно получить доступ к неуправляемому коду и данным объектов COM при помощи сборок взаимодействия (описываемых далее на этой странице).

Сборки

Сборка является основным стандартным блоком .NET Framework приложения. Это коллекция функциональных элементов, которые уже созданы, обновлены и развернуты как отдельный модуль реализации, содержащий один или несколько файлов. В каждой сборке содержится манифест сборки.

Библиотеки типов и манифесты сборок

Библиотеки типов описывают характеристики объектов COM, такие как имена членов и типы данных. Манифесты сборки выполняют аналогичную функцию для .NET Framework приложений. Они включают сведения о следующем:

  • Идентификация сборки, версия, язык и региональные параметры, цифровая подпись.

  • Файлы, формирующие реализацию сборки.

  • Типы и ресурсы, образующие сборку. Они включают то, что экспортируется из нее.

  • Зависимости от других сборок во время компиляции.

  • Разрешения, необходимые сборке для правильного запуска

Дополнительные сведения о сборках и манифестах сборки содержатся в разделе Сборки.

Импорт и экспорт библиотек типов

Visual Studio содержит программу Tlbimp, которая позволяет импортировать информацию из библиотеки типов в приложение .NET Framework. Можно создавать библиотеки типов из сборок при помощи программы Tlbexp.

Сведения о Tlbimp и Tlbexp содержатся в Программа импорта библиотек типов (Tlbimp.exe)Программа экспорта библиотек типов (Tlbexp.exe).

Сборки взаимодействия

Сборки взаимодействия являются сборками .NET Framework, которые действуют как мост между управляемым и неуправляемым кодом, отображая члены объекта COM эквивалентными управляемым членам .NET Framework. Сборки взаимодействия, созданные Visual Basic 2005, управляют многими деталями работы с объектами COM, например маршалингом взаимодействия.

Маршалинг взаимодействия

Все приложения .NET Framework используют набор общих типов, что позволяет объектам взаимодействовать независимо от используемого языка программирования. Параметры и возвращаемые значения объектов COM иногда используют типы данных, которые отличаются от используемых в управляемом коде. Маршалинг взаимодействия — это процесс упаковки параметров и возвращения значений в эквивалентных типах данных при передаче в объекты COM и получении из объектов COM. Дополнительные сведения см. в разделе Общие сведения о маршалинге взаимодействия.

См. также

Задачи

Пошаговое руководство. Реализация наследования с использованием объектов COM

Устранение неполадок взаимодействия

Основные понятия

Сборки

Общие сведения о маршалинге взаимодействия

Ссылки

Программа импорта библиотек типов (Tlbimp.exe)

Программа экспорта библиотек типов (Tlbexp.exe)

Другие ресурсы

COM-взаимодействие

Взаимодействие с неуправляемым кодом

COM-взаимодействие без регистрации