既定のマーシャリングの動作
相互運用マーシャリングは、メソッド パラメータに関連付けられたデータが、マネージ メモリとアンマネージ メモリ間で受け渡しされるときにどのように動作するかを指示する規則に従って動作します。これらの組み込みの規則によって、マーシャリングの動作に関して、データ型の変換処理、呼び出し先が渡されたデータを変更して変更後のデータを呼び出し元に返すことができるかどうか、どのような状況でマーシャラがパフォーマンスの最適化を実行するか、などが制御されます。
ここでは、相互運用マーシャリング サービスの既定の動作の特徴を明確に示します。また、配列、Boolean 型、char 型、デリゲート、クラス、オブジェクト、文字列、および構造体のマーシャリングに関する詳細情報も示します。
メモ : |
---|
ジェネリック型のマーシャリングはサポートされていません。詳細については、「ジェネリック型を使用する相互運用」を参照してください。 |
このセクションの内容
- 相互運用マーシャラによるメモリ管理
相互運用マーシャラがアンマネージ コードによって割り当てられたメモリをどのように解放するのかを説明します。
- 方向属性
InAttribute 属性と OutAttribute 属性について、およびいつ使用したらよいかについて説明します。
- Blittable 型と非 Blittable 型
アンマネージ メモリへとマーシャリングするときに変換が必要なデータ型について説明します。
- コピーと固定
コピーと固定によってデータ マーシャリングにどのような影響があるかについて説明します。
- 配列に対する既定のマーシャリング
配列のマーシャリングについて説明します。
- Boolean 型に対する既定のマーシャリング
Boolean 型のマーシャリングについて説明します。
- 文字に対する既定のマーシャリング
文字のマーシャリングについて説明します。
- クラスに対する既定のマーシャリング
クラスのマーシャリングについて説明します。
- デリゲートに対する既定のマーシャリング
デリゲートのマーシャリングについて説明します。
- オブジェクトに対する既定のマーシャリング
オブジェクトのマーシャリングについて説明します。
- 文字列に対する既定のマーシャリング
文字列のマーシャリングについて説明します。
- 値型に対する既定のマーシャリング
値型のマーシャリングについて説明します。
関連するセクション
- プラットフォーム呼び出しによるデータのマーシャリング
メソッドのパラメータの宣言方法と、アンマネージ ライブラリによってエクスポートされる関数に引数を渡す方法について説明します。
- COM 相互運用機能によるデータのマーシャリング
COM ラッパーをカスタマイズしてマーシャリングの動作を変更する方法について説明します。