相互運用機能によって、アンマネージ コードへの既存の投資を保護し活用できます。共通言語ランタイム (CLR: Common Language Runtime) の制御の下で動作するコードを "マネージ コード"、CLR の外部で動作するコードを "アンマネージ コード" と言います。アンマネージ コードの例としては、COM、COM+、C++ の各コンポーネント、ActiveX コンポーネント、および Win32 API があります。
.NET Framework は、プラットフォーム呼び出しサービス、System.Runtime.InteropServices 名前空間、CLR、および COM 相互運用性 (COM interop) を通じてアンマネージ コードとの相互運用を可能にします。
-
マネージ コードからアンマネージ API を使用するには、プラットフォーム呼び出しを使用する方法と、C++ の IJW (It Just Works) を使用する方法の 2 つがあります。プラットフォーム呼び出しを使用すると、マネージ コードで、Win32 API やカスタム DLL などのアンマネージ ダイナミック リンク ライブラリ (DLL) からエクスポートされた関数を呼び出すことができます。CLR は、DLL の読み込みとパラメータのマーシャリングを処理します。パフォーマンスを向上させるには、プラットフォーム呼び出しを使用するよりも、.NET Framework に等価の関数が用意されていないかどうかを確認してください。詳細については、「プラットフォーム呼び出しの詳細」を参照してください。
-
COM 相互運用機能を使用すると、マネージ コードは、COM インターフェイスと COM クライアントを通じて COM オブジェクトと対話できます。COM コンポーネントは、次の 2 つの方法でマネージ コードから使用できます。
詳細については、「アンマネージ コードとの相互運用」および「Improving Interop Performance」を参照してください。
PInvoke と COM 相互運用機能はいずれもマーシャリングを使用して、整数、文字列、配列、構造体、ポインタなどの引数をマネージ コードとアンマネージ コード間で変換します。詳細については、「相互運用マーシャリングの概要」を参照してください。
相互運用性の概要 (C# プログラミング ガイド)
方法 : COM 相互運用機能を使用して Excel スプレッドシートを作成する (C# プログラミング ガイド)
方法 : プラットフォーム呼び出しを使用して Wave ファイルを再生する (C# プログラミング ガイド)
方法 : COM 相互運用機能を使用して Word によるスペル チェックを行う (C# プログラミング ガイド)
COM クラスの例 (C# プログラミング ガイド)
方法 : Excel 用のオートメーション アドインとしてマネージ コードを使用する (C# プログラミング ガイド)
詳細については、「C# 言語仕様」の次のセクションを参照してください。
-
10.5.7 外部メソッド
-
17.5 相互運用の属性
-
18.8 動的なメモリ割り当て
概念
C# プログラミング ガイド
その他の技術情報
.NET Compact Framework の相互運用性