プラットフォーム呼び出しのサポート
更新 : 2007 年 11 月
プラットフォーム呼び出しは、DLL に実装されたアンマネージ関数をマネージ コードが呼び出すことができるサービスです。プラットフォーム呼び出しは、セマンティクス的には .NET Framework と同じ方法で使用できますが、.NET Compact Framework では、アンマネージ コードとマネージ コードの間でマーシャリングできるオブジェクトと型のサポートに制約があります。
.NET Compact Framework のプラットフォーム呼び出しには次の 3 つの部分があります。
デザイン時には、呼び出すアンマネージ関数の説明を開発者が用意します。これには、モジュール名 (DLL ファイル)、エントリ ポイント名、および呼び出し規約が含まれます。
Just-In-Time (JIT) コンパイル時には、共通言語ランタイムがこの情報をメタデータから抽出し、関数を含む DLL を探して、DLL をメモリに読み込み、関数のアドレスを取得します。モジュールまたは関数が見つからない場合は、共通言語ランタイムによって MissingMethodException がスローされます。
実行時には、共通言語ランタイムが、マネージ形式からアンマネージ形式にパラメータをマーシャリングしてから、アンマネージ関数を呼び出します。共通言語ランタイムは、メソッドのマネージ宣言に基づいて各パラメータのマーシャリング方法を決定します。
このセクションの内容
DllImportAttribute のサポートされるフィールド
DllImportAttribute クラスについてサポートされるフィールドのサブセットの一覧があります。プラットフォーム呼び出しラッパーの例
プラットフォーム呼び出しを実行するための構造体を提供するコード例があります。
関連するセクション
相互運用マーシャリングのサポート
マネージ コードとアンマネージ コードでのデータ型のマーシャリングに関して、.NET Compact Framework での違いを説明します。方法 : デバイス プラットフォームを取得する
プラットフォーム呼び出しを使用する方法を説明します。