다음을 통해 공유


사용자 지정 마샬링 개요

업데이트: 2007년 11월

마샬러는 기본적으로 이전 인터페이스와 새 인터페이스의 기능 간에 중개 역할을 합니다. 사용자 지정 마샬링을 사용하면 이전 인터페이스를 사용하도록 되어 있는 클라이언트가 새 인터페이스만 구현하는 서버에서도 동작할 수 있습니다. 또한 새 인터페이스를 사용하도록 빌드된 클라이언트가 이전 인터페이스를 노출하는 서버에서도 동작할 수 있습니다.

interop 마샬러를 사용하는 대신 인터페이스에 대해 다양한 마샬링 동작을 도입하거나 다양한 방법으로 인터페이스를 COM에 노출하는 사용자 지정 마샬러를 디자인할 수 있습니다. 사용자 지정 마샬러를 사용하면 새 .NET 구성 요소와 기존 COM 구성 요소 간의 차이를 최소화할 수 있습니다.

예를 들어 이름이 INew인 관리되는 인터페이스를 개발하는 경우를 가정해 봅니다. 표준 CCW를 통해 COM에 노출된 경우 인터페이스는 관리되는 인터페이스와 동일한 메서드를 포함하고 interop 마샬러에 내장된 마샬링 규칙을 사용합니다. 또한 IOld라고 하는 잘 알려진 COM 인터페이스에서 이미 INew 인터페이스와 동일한 기능을 제공하는 경우를 가정해 봅니다. 사용자 지정 마샬러를 도입하면 관리되는 INew 인터페이스 구현에 호출을 위임하는 관리되지 않는 IOld 구현을 제공할 수 있습니다. 사용자 지정 마샬러는 기본적으로 관리되는 인터페이스와 관리되지 않는 인터페이스 사이의 중개 역할을 합니다.

사용자 지정 마샬러는 디스패치 전용 인터페이스에서 관리되는 쪽으로부터 관리되지 않는 쪽으로 호출할 때는 호출되지 않습니다.

참고 항목

개념

마샬링 형식 정의

ICustomMarshaler 인터페이스 구현

대체 마샬러 사용