クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
Visual Studio 2005
Visual Studio ドキュメント
Visual C#
C# プログラミング ガイド
相互運用性

  低帯域幅での表示をオンにする
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2005/.NET Framework 2.0

その他のバージョンについては、以下の情報を参照してください。
C# プログラミング ガイド
相互運用性 (C# プログラミング ガイド)

相互運用機能によって、アンマネージ コードへの既存の投資を保護し活用できます。共通言語ランタイム (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 つの方法でマネージ コードから使用できます。

    • OLE オートメーション互換の COM コンポーネントを呼び出す場合は、COM 相互運用機能または tlbimp.exe を使用します。CLR は、COM コンポーネントのアクティブ化とパラメータのマーシャリングを処理します。

    • IDL ベースの COM コンポーネントの場合は、IJW と C++ を使用します。IUnknownIDispatch、および他の標準 COM インターフェイスを実装する各パブリック マネージ クラスは、COM 相互運用機能を通じて、アンマネージ コードからすべて呼び出すことができます。詳細については、「Microsoft .NET/COM Migration and Interoperability」を参照してください。

詳細については、「アンマネージ コードとの相互運用」および「Improving Interop Performance」を参照してください。

PInvoke と COM 相互運用機能はいずれもマーシャリングを使用して、整数、文字列、配列、構造体、ポインタなどの引数をマネージ コードとアンマネージ コード間で変換します。詳細については、「相互運用マーシャリングの概要」を参照してください。

詳細については、「C# 言語仕様」の次のセクションを参照してください。

  • 10.5.7 外部メソッド

  • 17.5 相互運用の属性

  • 18.8 動的なメモリ割り当て

コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2009 Microsoft Corporation. All rights reserved. 使用条件  |  商標  |  プライバシー
Page view tracker