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

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

COM Interop направлен на обеспечение доступа к существующим компонентам COM без необходимости изменения исходного компонента. Он пытается сделать типы .NET эквивалентными типам COM. Кроме того, COM-взаимодействие позволяет разработчикам COM получать доступ к управляемым объектам так же легко, как и к другим COM-объектам.

Инструменты взаимодействия

Инструменты для поддержки COM-компонента с использованием сборки .NET

В .NET Framework при регистрации компонента создает библиотеку типов и специальные записи в реестре. Предоставляет специализированную утилиту (RegAsm.exe, обычно расположен в C: WindowsMicrosoft.NETFramework), который экспортирует управляемые типы в библиотеку типов и регистрирует управляемый компонент как традиционный компонент COM. Когда тип создается через COM, .NET CLR - это реальный COM-объект, который выполняется, и он просто маршалирует любые вызовы методов или доступ к свойствам для реализации типа.

COM без регистрации можно использовать, чтобы избежать DLL ад.

Инструменты для поддержки сборки .NET с использованием компонента COM

COM-взаимодействие для существующего COM-компонента может быть создано с помощью Tlbimp.exe инструмент, поставляемый с .NET Framework SDK. Этот инструмент создаст набор прокси-классов, реализованных в CIL который заключен в сборка.

Подробности

COM-взаимодействие автоматически предоставляет следующие службы для упрощения использования COM из .NET:

  • Преобразование между типами COM и эквивалентными типами .NET.
  • Перевод Retval аргументы в возвращаемые значения.
  • Преобразование возвращаемых значений HRESULT в исключения.

Рекомендации