반응형

런타임 Callable Wrapper(RCW)는 COM(Component Object Model) 기술을 사용하여 .NET 언어와 같은 매니지드 언어에서 COM 개체를 호출할 때 사용되는 개체입니다.

COM 개체는 C++과 같은 비매니지드 언어로 작성되며, 매니지드 언어에서 직접 호출할 수 없습니다. 따라서 RCW는 COM 개체와 매니지드 언어 간의 인터페이스 역할을 합니다. RCW는 COM 개체에 대한 참조를 포함하며, 해당 개체를 호출하기 위해 필요한 래퍼 코드를 생성합니다.

RCW는 .NET에서 COM 개체를 사용할 때 중요한 역할을 합니다. RCW를 사용하면 매니지드 코드에서 COM 개체를 사용하기 쉬워지며, COM 개체와 .NET 런타임 간의 상호 운용성을 개선할 수 있습니다. 또한 RCW는 .NET 언어에서 COM 개체를 사용하기 위해 필요한 다양한 기능, 예를 들어 자동 메모리 관리 및 예외 처리와 같은 기능을 제공합니다.

RCW는 .NET Framework에서 제공하는 기능 중 하나이며, 개발자가 직접 만들 필요가 없습니다. RCW는 .NET에서 COM 개체를 사용하기 위해 필요한 인터페이스를 런타임에 해당 개체에 대한 인스턴스를 생성할 때마다 동적으로 자동으로 생성합니다. 

RCW가 동적으로 생성되는 이유는 COM 개체가 .NET Framework의 메모리 관리와 스레딩 모델과 다르게 동작하기 때문입니다. RCW는 .NET Framework에서 COM 개체를 호출하기 위해 필요한 래퍼 코드를 생성하며, 이를 통해 .NET Framework와 COM 개체 간의 상호 작용을 보다 효율적으로 처리할 수 있습니다.

RCW는 가비지 컬렉션 처리도 담당합니다. 해당 COM 개체가 더 이상 필요하지 않은 경우, RCW는 개체에 대한 참조를 해제하고 메모리를 해제합니다.

반응형

'개발정보' 카테고리의 다른 글

PIA(Primary Interop Assembly) 란?  (0) 2023.03.21
COM 개체와 타입 라이브러리(Type Library)  (0) 2023.03.21
COM 구성 요소란  (0) 2023.03.20
[.net] interop 과 p/invoke  (0) 2023.03.20
[C#] params 키워드  (0) 2023.02.15

+ Recent posts