맨위로가기

COM Interop

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

COM Interop은 .NET Framework에서 COM 구성 요소와 상호 작용하기 위한 기술이다. .NET은 닷넷 어셈블리에서 COM 구성 요소를 지원하기 위해 형식 라이브러리와 레지스트리 항목을 생성하고, `RegAsm.exe` 유틸리티를 제공하여 관리되는 형식을 COM 구성 요소로 등록한다. 또한, `Tlbimp.exe` 도구를 사용하여 COM 구성 요소를 사용하는 닷넷 어셈블리를 지원하며, COM 형식과 .NET 형식 간의 자동 변환, `retval` 인수 반환 값 변환, HRESULT 반환 값을 예외로 자동 변환하는 서비스를 제공한다.

더 읽어볼만한 페이지

  • 닷넷 프레임워크 - 파워셸
    파워셸은 마이크로소프트에서 개발한 작업 자동화 솔루션으로, 명령줄 셸과 스크립트 언어의 기능을 결합하여 윈도우 시스템 관리를 위해 설계되었으며, .NET 프레임워크 기반의 객체 지향적 특징을 갖고 다양한 플랫폼에서 자동화 스크립트 작성 및 실행, 시스템 구성 관리 등에 활용된다.
  • 닷넷 프레임워크 - 유니버설 윈도우 플랫폼
    유니버설 윈도우 플랫폼(UWP)은 마이크로소프트에서 개발한 애플리케이션 모델로, Windows 10, 11 등 다양한 기기에서 실행되는 앱 개발을 위한 통합 플랫폼이며, Visual Studio를 통해 개발되고 XAML Islands를 통해 기존 WinAPI 기반 애플리케이션에서도 활용 가능하다.
COM Interop

2. 상호 운용 도구 (.NET Framework)

.NET Framework는 구성 요소를 등록할 때 형식 라이브러리와 특수 레지스트리 항목을 생성한다. 닷넷은 관리되는 형식을 형식 라이브러리로 내보내고 관리되는 구성 요소를 기존 COM 구성 요소로 등록하는 특수 유틸리티(RegAsm.exe, 일반적으로 C:\Windows\Microsoft.NET\Framework에 위치)를 제공한다. COM을 통해 형식이 인스턴스화되면 .NET CLR이 실제로 실행되는 COM 객체이며, 메서드 호출 또는 속성 접근을 형식 구현으로 마샬링한다.

등록 없는 COM을 사용하여 DLL 지옥을 피할 수 있다.

기존 COM 구성 요소에 대한 COM Interop을 만들려면 .NET Framework SDK와 함께 제공되는 `Tlbimp.exe` 도구를 사용할 수 있다. 이 도구는 CIL로 구현된 일련의 프록시 클래스를 생성하며, 이는 어셈블리에 캡슐화된다.

2. 1. 닷넷 어셈블리에서 COM 구성 요소를 지원하는 도구

.NET Framework는 구성 요소를 등록할 때 형식 라이브러리와 특수 레지스트리 항목을 생성한다. .NET은 관리되는 형식을 형식 라이브러리로 내보내고 관리되는 구성 요소를 기존 COM 구성 요소로 등록하는 특수 유틸리티(RegAsm.exe, 일반적으로 C:\Windows\Microsoft.NET\Framework에 위치)를 제공한다. COM을 통해 형식이 인스턴스화되면 .NET CLR이 실제로 실행되는 COM 객체이며, 메서드 호출 또는 속성 접근을 형식 구현으로 마샬링한다.

등록 없는 COM을 사용하여 DLL 지옥을 피할 수 있다.

2. 2. COM 구성 요소를 사용하는 닷넷 어셈블리를 지원하는 도구

.NET Framework SDK와 함께 제공되는 `Tlbimp.exe` 도구를 사용하여 기존 COM 구성 요소에 대한 COM Interop을 만들 수 있다. 이 도구는 CIL로 구현된 일련의 프록시 클래스를 생성하며, 이는 어셈블리에 캡슐화된다.

3. 세부 사항

COM 상호 운용은 .NET에서 COM 사용을 단순화하기 위해 다음과 같은 서비스를 자동으로 제공한다.


  • COM 형식과 해당 .NET 형식 간의 변환.
  • `retval` 인수를 반환 값으로 변환.
  • HRESULT 반환 값을 예외로 변환.


본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com