COM、DCOM、およびタイプ ライブラリ
コンポーネント オブジェクト モデル (COM) と分散コンポーネント オブジェクト モデル (DCOM) は、リモート プロシージャ コール (RPC) を使用して、分散コンポーネント オブジェクトが相互に通信できるようにします。 したがって、COM または DCOM インターフェイスは、COM オブジェクトの ID と外部特性を定義します。 これは、クライアントがオブジェクトのメソッドとデータにアクセスできる手段を形成します。 DCOM を使用すると、オブジェクトが同じプロセス、同じマシン上の異なるプロセス、または異なるマシン上に存在するかどうかに関係なく、このアクセスが可能です。 RPC クライアント/サーバー インターフェイスと同様に、COM または DCOM オブジェクトは、さまざまな方法で、複数のインターフェイスを介してその機能を公開できます。
タイプ ライブラリ
タイプ ライブラリ (.tlb) は、COM または DCOM オブジェクトのプロパティとメソッドに関する情報を、実行時に他のアプリケーションからアクセスできる形式で格納するバイナリ ファイルです。 アプリケーションまたはブラウザーは、タイプ ライブラリを使用して、オブジェクトがサポートするインターフェイスを決定し、オブジェクトのインターフェイス メソッドを呼び出すことができます。 これは、オブジェクトアプリケーションとクライアントアプリケーションが異なるプログラミング言語で記述された場合でも発生する可能性があります。 COM/DCOM ランタイム環境では、タイプ ライブラリを使用して、タイプ ライブラリで説明されているインターフェイスの自動クロスアパートメント、クロスプロセス、およびマシン間マーシャリングを提供することもできます。
インターフェイスの特性
インターフェイス定義 (IDL) ファイルとオプションのアプリケーション構成ファイル (ACF) でインターフェイスの特性を定義します。
- IDL ファイルは、ネットワーク上のアプリケーションのインターフェイスの特性、つまり、クライアントとサーバー間、または COM オブジェクト間でのデータの送信方法を指定します。
- ACF ファイルは、ローカルのオペレーティング環境にのみ関連するバインディング ハンドルなどのインターフェイス特性を指定します。 ACF ファイルでは、複雑なデータ構造をマシンに依存しない形式でマーシャリングおよび送信する方法を指定することもできます。
IDL ファイルと ACF ファイルの詳細については、「IDL ファイルと ACF ファイル」を参照してください。
IDL ファイルと ACF ファイルは、Microsoft インターフェイス定義言語 (MIDL) で記述されたスクリプトです。これは、OSF-DCE インターフェイス定義言語 (IDL) の Microsoft 実装および拡張です。 IDL 言語に対する Microsoft の拡張機能を使用すると、COM インターフェイスとタイプ ライブラリを作成できます。 コンパイラ Midl.exeでは、これらのスクリプトを使用して、C 言語のスタブ ファイルとヘッダー ファイル、およびタイプ ライブラリ ファイルを生成します。
MIDL コンパイラ
IDL ファイルの内容に応じて、MIDL コンパイラは次のいずれかのファイルを生成します。
C 言語のプロキシ/スタブ ファイル、インターフェイス識別子ファイル、DLL データ ファイル、およびカスタム COM インターフェイスの関連ヘッダー ファイル。 MIDL コンパイラは、インターフェイス属性リストでオブジェクト属性を検出すると、これらのファイルを生成します。 これらのファイルの詳細については、COM インターフェイス に対して生成されたファイルのを参照してください。
コンパイル済みタイプ ライブラリ (.tlb) ファイルと関連するヘッダー ファイル。 MIDL は、IDL ファイル内のステートメントライブラリを検出すると、これらのファイルを生成します。 タイプ ライブラリの一般的な情報については、「オートメーション プログラマ リファレンス」のタイプ ライブラリ のコンテンツを参照してください。
C/C++言語のクライアントとサーバーのスタブ ファイルと、RPC インターフェイス用の関連ヘッダー ファイル。 これらのファイルは、IDL ファイル内に、オブジェクト 属性を持たないインターフェイスがある場合に生成されます。 スタブ ファイルとヘッダー ファイルの概要については、「一般的なビルド 手順の」を参照してください。 詳細については、RPC インターフェイス に対して生成されたファイルのを参照してください。