次の方法で共有


.NET Compact Framework の blittable 型

更新 : 2007 年 11 月

マネージ メモリとアンマネージ メモリの両方で表現が同じ型は blittable と見なされます。この場合、アンマネージ コードまたはマネージ コードに変換するためのマーシャラによる特別な処理は必要ありません。

両方の Framework での blittable 型

System 名前空間に定義されている次の型は、.NET Framework と .NET Compact Framework のどちらでも blittable 型です。

次の複合型も blittable です。

  • blittable 型の 1 次元配列。

  • blittable 型だけを含む、書式指定された値型。.NET Compact Framework ではすべての構造体とクラスが常に連続してレイアウトされるため、マネージ値型は、アンマネージ構造体と同じメモリ レイアウトになります。

.NET Compact Framework だけの blittable 型

.NET Compact Framework では、共通言語ランタイムでの実装のために次の blittable 型を用意しています。

  • Boolean

    これは 1 バイトの整数値です。.NET Framework では、Boolean の既定のマーシャリングは、4 バイトの整数値を使用する MarshalAsAttribute(UnmanagedType.Bool) 属性に対応しています。

  • Char

    これは、常に Unicode の char (2 バイト) です。.NET Framework では、MarshalAsAttribute 属性または DllImportAttribute.CharSet オブジェクト フィールドに応じて、これを Unicode の char または ANSI の char として扱うことがあります。

  • String

    これは、常に Unicode の配列です。.NET Framework では、MarshalAsAttribute 属性または DllImportAttribute.CharSet オブジェクト フィールドに応じて、これを Unicode か ANSI の配列、または BSTR として扱うことがあります。

参照

その他の技術情報

.NET Compact Framework のマーシャリング サポート