高度な COM 相互運用性
更新 : 2007 年 11 月
.NET Framework と COM モデルは、コンポーネントを再利用できること、言語に依存しないことなど、主要なテーマの多くを共有しています。そのため、.NET Framework は、COM から自然に進化したモデルとなっています。COM 相互運用機能は、下位互換性を維持するために、元のコンポーネントの修正を必要としない、既存の COM コンポーネントへのアクセスを提供します。COM 相互運用ツールを使用することにより、COM のコンポーネントを .NET アプリケーションに統合して、関連する COM の型をインポートできます。COM の型は、インポートした後ですぐに利用できます。
COM 相互運用機能は、COM クライアントが他の COM オブジェクトにアクセスするときと同じように、簡単にマネージ コードにアクセスできるようにすることにより、上位互換性も提供します。さらに、COM 相互運用機能は、アセンブリのメタデータをタイプ ライブラリにシームレスにエクスポートする手段を提供し、マネージ コンポーネントを従来の COM コンポーネントとして登録します。インポート ユーティリティも、エクスポート ユーティリティも、COM 仕様と矛盾しない結果を生成します。実行時に、共通言語ランタイムは必要に応じて COM オブジェクトとマネージ オブジェクトの間でデータをマーシャリングします。
このセクションの内容
高度な COM 相互運用性に関する方法
概念を説明したドキュメントに用意されている、高度な COM 相互運用性に関する方法を説明したトピックへのすべてのリンクを示します。COM ラッパー
COM 相互運用機能によって提供されるラッパーについて説明します。プライマリ相互運用機能アセンブリ
プライマリ相互運用機能アセンブリを作成し使用する方法について説明します。COM 相互運用機能の side-by-side 実行
COM 相互運用サービスを使用して安全にコンポーネントを共有する方法について説明します。登録を必要としない COM 相互運用機能
COM 相互運用機能で Windows レジストリを使用せずにコンポーネントをアクティブにする方法について説明します。セーフ ハンドルとクリティカル ファイナライズ
マネージ コードでアンマネージ ハンドルを安全にラップするために使用されるクラスについて説明します。継承、集約、およびコンテインメント
COM の型を拡張するためのさまざまな方法を説明します。マネージ スレッドとアンマネージ スレッド
相互運用に影響するスレッド処理についてのさまざまな相違点を説明します。マネージ イベントとアンマネージ イベント
COM 相互運用機能を使用してイベントを発生させ、処理する方法を説明します。タイプ ライブラリからアセンブリへの変換の要約
タイプ ライブラリからアセンブリへのインポート変換プロセスについて説明します。アセンブリからタイプ ライブラリへの変換の要約
アセンブリからタイプ ライブラリへのエクスポート変換プロセスについて説明します。カスタム マーシャリング
相互運用のためのカスタム マーシャラを記述するプロセスを説明します。デリゲートとアンマネージ関数ポインタのラップ
マネージ コードとアンマネージ コード間での関数ポインタのマーシャリングに使用するメソッドについて説明します。
関連するセクション
相互運用のためのデザインの考慮事項
マネージ コードとアンマネージ コードの変換を強化するための、デザイン時の考慮事項を示します。.NET Framework への COM コンポーネントの公開
既存の COM コンポーネントをマネージ コードに公開する方法について説明します。COM への .NET Framework コンポーネントの公開
マネージ コードを既存の COM コンポーネントに公開する方法について説明します。相互運用マーシャリング
マネージ コードとアンマネージ コード間でのデータの受け渡しを制御するプロセスについて説明します。