UnmanagedMarshal クラス
マネージ コードからアンマネージ コードにフィールドをマーシャリングする方法を記述するクラスを表します。このクラスは継承できません。
この型のすべてのメンバの一覧については、UnmanagedMarshal メンバ を参照してください。
System.Object
System.Reflection.Emit.UnmanagedMarshal
<Serializable>
NotInheritable Public Class UnmanagedMarshal
[C#]
[Serializable]
public sealed class UnmanagedMarshal
[C++]
[Serializable]
public __gc __sealed class UnmanagedMarshal
[JScript]
public
Serializable
class UnmanagedMarshal
スレッドセーフ
Reflection Emit は、Boolean パラメータ isSynchronized を true に設定して呼び出した AppDomain.DefineDynamicAssembly メソッドで作成されたアセンブリを使用する場合は、スレッド セーフです。
解説
マーシャリングは、パラメータのパッケージ化およびアンパッケージ化の処理であるため、リモート プロシージャ呼び出しが発生することがあります。マネージ型の書式が、対応するアンマネージ型の書式と異なる場合は、マーシャリング中にフィールドが書式変換されます。たとえば、 String 型はアンマネージ型の BSTR にマーシャリングします。いくつかの書式変換は、実行時で自動的に処理されます。既定の動作をオーバーライドするには、 UnmanagedMarshal クラスを使用して書式変換を定義する必要があります。
必要条件
名前空間: System.Reflection.Emit
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
アセンブリ: Mscorlib (Mscorlib.dll 内)
参照
UnmanagedMarshal メンバ | System.Reflection.Emit 名前空間 | Type | UnmanagedType | Guid