COM
ナビゲーションに移動
検索に移動
目次
COM
Python Win32 Extensions Component Object Model http://www.microsoft.com/japan/com/
概要
- COM は、特定の開発言語に依存せず、C言語やJavaなど、様々な言語により開発を行うことができる。
- COM によって、ソフトウェア コンポーネントは通信することができる。
- COM を利用することで再利用可能なコンポーネントを作成し、アプリケーションを構成するコンポーネントを相互連携できる。
- COM は、Microsoft Office ファミリ製品のようなアプリケーションで利用されている。
- COM OLE 技術を利用することで Word 文書を Excel スプレッドシートの中のデータに動的にリンク
- COM オートメーション技術によって、ユーザーが自分のアプリケーションで、繰り返しの作業を行ったり、あるアプリケーションを別のアプリケーションから制御するようなスクリプトを記述することができる
COM テクノロジファミリー
- COM+
- Distributed COM (DCOM)
- ActiveXR Controls.
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 を基盤としたサービスと技術の名称
- COM+ COM コンポーネント技術と Microsoft Transaction Server (MTS) のアプリケーション ホスト機能の両方を提供
- COM+ は自動的にリソースのプーリングや、非接続アプリケーション、イベントのパブリッシュやサブスクライブ、分散トランザクションといった困難なプログラミング作業を自動的に処理
- .NET Framework のSystem.EnterpriseServices 名前空間の機能を通じて提供
COM と Windows レジストリ
COMコンポーネントはCLSIDをキーにディスク上の位置情報を持っている
- COMコンポーネントは、DLLかEXE
- COMは、レジストリから、CLSIDを参照することで、ディスク上からコンポーネントを探し出す。
- 以下はShell.Application のCLSID
プログラム名から、間接的にCLSIDを取得できる。
レジストリ HKEY_CLASSES_ROOT 以下に登録されている、Shell.Application
- HKEY_CLASSES_ROOT\Shell.Application
© 2006 矢木浩人