次の方法で共有


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 パラメータ isSynchronizedtrue に設定して呼び出した 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