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

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

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

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

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

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

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

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

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

подробности

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

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

Ссылки