Share via


カスタム マーシャリングの概要

更新 : 2007 年 11 月

マーシャラは、基本的に、新旧のインターフェイスの機能間の橋渡しの役割を行います。カスタム マーシャリングによって、古いインターフェイスを使用するように設計されたクライアントを、新しいインターフェイスだけを実装するサーバーで使用できるようになります。また、カスタム マーシャリングによって、新しいインターフェイスを使用するように設計されたクライアントを、古いインターフェイスを公開するサーバーで使用できるようになります。

相互運用マーシャラを使用する代わりに、異なるマーシャリングの動作を導入したり、別の方法で COM にインターフェイスを公開したりできる、インターフェイスのためのカスタム マーシャラを設計できます。カスタム マーシャラを使用すると、新しい .NET コンポーネントと既存の COM コンポーネントの相違を最小にできます。

たとえば、INew というマネージ インターフェイスを開発するとします。標準の COM 呼び出し可能ラッパー (CCW: COM Callable Wrapper) を経由してインターフェイスを COM に公開すると、そのインターフェイスは、マネージ インターフェイスと同じメソッドを持ち、相互運用マーシャラ内に構築されているマーシャリング規則を使用します。また、IOld という一般的な COM インターフェイスが既に INew インターフェイスと同じ機能を提供しているとします。カスタム マーシャラを導入することで、単純に呼び出しを INew インターフェイスのマネージ実装にデリゲートする IOld のアンマネージ実装を提供できます。カスタム マーシャラの基本的な役割は、マネージ インターフェイスとアンマネージ インターフェイス間の橋渡しをすることです。

ディスパッチのみのインターフェイスでマネージ側からアンマネージ側に呼び出す場合、カスタム マーシャラは呼び出されないことに注意してください。

参照

概念

マーシャリング型の定義

ICustomMarshaler インターフェイスの実装

代替マーシャラの使用