COM
ナビゲーションに移動
検索に移動
COM
Python Win32 Extensions | Component Object Model http://www.microsoft.com/japan/com/
概要
- COM は、特定の開発言語に依存せず、C言語やJavaなど、様々な言語により開発を行うことができる。
- COM によって、ソフトウェア コンポーネントは通信することができる。
- COM を利用することで再利用可能なコンポーネントを作成し、アプリケーションを構成するコンポーネントを相互連携できる。
- COM は、Microsoft Office ファミリ製品のようなアプリケーションで利用されている。
COM テクノロジファミリー
COM インターフェースを提供するアプリケーションサービス
以下など多数
- Microsoft Message Queuing (MSMQ)
- Microsoft Active Directory (AD)
- Windows Management and Instrumentation (WMI)
COM と .NET の関連
- COM と .NET は相補的な関係にある
- .NET 共通言語ランタイムは、COM との双方向で透過的な統合機能を提供。
- COM と .NET アプリケーションやコンポーネントはそれぞれのシステムから機能を利用することができる
.NET と COM の相互呼び出し
COM+
- COM+ COM コンポーネント技術と Microsoft Transaction Server (MTS) のアプリケーション ホスト機能の両方を提供
- COM+ は自動的にリソースのプーリングや、非接続アプリケーション、イベントのパブリッシュやサブスクライブ、分散トランザクションといった困難なプログラミング作業を自動的に処理
- .NET Framework のSystem.EnterpriseServices 名前空間の機能を通じて提供
COM と Windows レジストリ
COMコンポーネントはCLSIDをキーにディスク上の位置情報を持っている
- 以下はShell.Application のCLSID
プログラム名から、間接的にCLSIDを取得できる。
レジストリ HKEY_CLASSES_ROOT 以下に登録されている、Shell.Application
- HKEY_CLASSES_ROOT\Shell.Application
© 2006 矢木浩人