同じアプリケーションで COM オブジェクトと .NET Framework オブジェクトを使用する場合は、オブジェクトがメモリ内にどのように存在するかの違いに対処する必要があります。 .NET Framework オブジェクトは、マネージド メモリ (共通言語ランタイムによって制御されるメモリ) に配置され、必要に応じてランタイムによって移動される場合があります。 COM オブジェクトはアンマネージ メモリ内にあり、別のメモリ位置に移動することは想定されていません。 Visual Studio と .NET Framework には、これらのマネージド コンポーネントとアンマネージド コンポーネントの相互作用を制御するツールが用意されています。 マネージド コードの詳細については、「 共通言語ランタイム」を参照してください。
.NET アプリケーションで COM オブジェクトを使用するだけでなく、Visual Basic を使用して、COM を介してアンマネージ コードからアクセスできるオブジェクトを開発することもできます。
このページのリンクには、COM オブジェクトと .NET Framework オブジェクト間の相互作用の詳細が表示されます。
関連セクション
[アーティクル] | 説明 |
---|---|
COM インタロップ | COM オブジェクト、ActiveX コントロール、Win32 DLL、マネージド オブジェクト、COM オブジェクトの継承など、Visual Basic での COM 相互運用性に関するトピックへのリンクを提供します。 |
アンマネージ コードとの相互運用 | マネージド コードとアンマネージド コードの間の相互作用の問題について簡単に説明し、さらに詳しく調べるためのリンクを提供します。 |
COM ラッパー | マネージ コードが COM メソッドを呼び出せるようにするランタイム呼び出し可能ラッパーと、COM クライアントが .NET オブジェクト メソッドを呼び出せるようにする COM 呼び出し可能ラッパーについて説明します。 |
高度な COM 相互運用性 | ラッパー、例外、継承、スレッド、イベント、変換、マーシャリングに関する COM 相互運用性に関するトピックへのリンクを提供します。 |
Tlbimp.exe (タイプ ライブラリ インポーター) | COM タイプ ライブラリ内にある型定義を共通言語ランタイム アセンブリ内の同等の定義に変換するために使用できるツールについて説明します。 |
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET