다음을 통해 공유


ICustomMarshaler 인터페이스

메서드 호출 처리를 위한 사용자 지정 래퍼를 제공하기 위한 것입니다.

네임스페이스: System.Runtime.InteropServices
어셈블리: mscorlib(mscorlib.dll)

구문

‘선언
<ComVisibleAttribute(True)> _
Public Interface ICustomMarshaler
‘사용 방법
Dim instance As ICustomMarshaler
[ComVisibleAttribute(true)] 
public interface ICustomMarshaler
[ComVisibleAttribute(true)] 
public interface class ICustomMarshaler
/** @attribute ComVisibleAttribute(true) */ 
public interface ICustomMarshaler
ComVisibleAttribute(true) 
public interface ICustomMarshaler

설명

사용자 지정 마샬러를 사용하려면 마샬링할 매개 변수 또는 필드에 MarshalAsAttribute를 적용해야 합니다. 또한 UnmanagedType.CustomMarshaler를 생성자에 전달하고 MarshalType를 지정해야 합니다. 특성은 해당 래퍼를 활성화하는 사용자 지정 마샬러를 식별합니다. 그런 다음 공용 언어 런타임의 interop 서비스에서 특성을 검사하고 인수가 마샬링되면 사용자 지정 마샬러를 만듭니다. 런타임의 상호 운용성 서비스는 사용자 지정 마샬러의 MarshalNativeToManagedMarshalManagedToNative 메서드를 호출하여 호출을 처리할 알맞은 래퍼를 활성화합니다.

사용자 지정 마샬러는 ICustomMarshaler 인터페이스를 구현할 뿐만 아니라 String을 매개 변수로 사용하고 반환 형식이 ICustomMarshalerGetInstance라는 static 메서드를 구현해야 합니다. 공용 언어 런타임의 COM interop 계층에서는 이 static 메서드를 호출하여 사용자 지정 마샬러의 인스턴스를 인스턴스화합니다. GetInstance로 전달된 String은 이 메서드가 반환된 사용자 지정 마샬러를 사용자 지정하는 데 사용할 수 있는 쿠키입니다.

플랫폼

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

참고 항목

참조

ICustomMarshaler 멤버
System.Runtime.InteropServices 네임스페이스