相互運用マーシャリング
このセクションは、プラットフォーム呼び出し、COM 相互運用機能、またはその両方を使用してデータのマーシャリングを行うプログラマを対象としています。この 2 つの機構では、マーシャリング規則と既定のデータ型に多少の違いがあります。
プラットフォーム呼び出しを使用する場合は、このセクションで示す文字列、配列、クラス、構造体、共用体、および各種のデータ型の例を参照してください。
COM 相互運用機能を使用する場合は、このセクションで示す相互運用ラッパーのカスタマイズ方法を参照してください。
相互運用マーシャリングは、メソッドの呼び出し時に、マネージ メモリとアンマネージ メモリの間で、そのメソッドの引数および戻り値としてデータがどのように受け渡しされるのかを制御します。相互運用マーシャリングは、共通言語ランタイムのマーシャリング サービスによって実行される実行時の処理です。
このセクションでは、相互運用マーシャリング サービスの概要を示し、アンマネージ メモリ内では異なる表現またはあいまいな表現を持つデータ型がどのようにマーシャリングされるのかについて詳細に説明します。また、MarshalAsAttribute 属性を適用し、Marshal クラスによって公開されるメソッドを使用することで、既定のマーシャリング動作を変更する方法も説明します。
このセクションの内容
- 相互運用マーシャリングの概要
相互運用マーシャリング サービス、COM マーシャリングとの関係、およびリモート通信におけるその役割について説明します。
- 既定のマーシャリングの動作
相互運用マーシャリング サービスがデータをマーシャリングするときに従う規則について説明します。
- プラットフォーム呼び出しによるデータのマーシャリング
メソッドのパラメータの宣言方法と、アンマネージ ライブラリによってエクスポートされる関数に引数を渡す方法について説明します。
- COM 相互運用機能によるデータのマーシャリング
COM ラッパーをカスタマイズしてマーシャリングの動作を変更する方法について説明します。
- 方法 : HRESULT に例外を割り当てる
カスタム例外を HRESULT に対応付ける方法について説明し、各 HRESULT から .NET Framework 内の比較可能な例外クラスへの完全な対応付けの方法を示します。
- ジェネリック型を使用する相互運用
COM 相互運用性のためにジェネリック型を使用する場合に、どのアクションがサポートされているかを説明します。
関連するセクション
- アンマネージ コードとの相互運用
共通言語ランタイムに用意されている相互運用性サービスについて説明します。
- 高度な COM 相互運用性
.NET Framework アプリケーションへの COM コンポーネントの組み込みに関する詳細な情報へのリンクを提供します。
- 相互運用のためのデザインの考慮事項
統合される COM コンポーネントを記述するためのヒントを示します。
- リモート オブジェクト
.NET Framework でリモート通信に利用できるさまざまな通信方法について説明します。