プラットフォーム呼び出しによるデータのマーシャリング

アンマネージ ライブラリからエクスポートされた関数を呼び出すために、.NET Framework アプリケーションはそのアンマネージ関数を表す、マネージ コード内の関数プロトタイプを必要とします。 プラットフォーム呼び出しによってデータを正確にマーシャリングできるようにするプロトタイプを作成するには、次の処理を行う必要があります。

  • マネージ コード内の静的関数またはメソッドに DLLImportAttribute 属性を適用します。

  • アンマネージ データ型の代わりに、マネージ データ型を使用します。

アンマネージ関数と共に提供されるドキュメントを使用すると、等価のマネージ プロトタイプを構築できます。その場合には、属性とそのオプションのフィールドを適用し、アンマネージ型の代わりにマネージ データ型を使用します。 DllImportAttribute の適用方法については、「アンマネージ DLL 関数の処理」を参照してください。

このセクションでは、アンマネージ ライブラリによってエクスポートされた関数に引数を渡して戻り値を受け取るマネージ関数プロトタイプの作成方法をサンプルで紹介します。 このサンプルでは、さらに、いつ MarshalAsAttribute 属性と Marshal クラスを使用して、明示的にデータをマーシャリングする必要があるかについても示します。

このセクションの内容

関連項目