COM オブジェクトの設計
COM オブジェクトを設計するときには,どのような COM インターフェースを実装したいかを決定する必要があります。すでに定義済みのインターフェースを実装する COM オブジェクトを作成するか,オブジェクトが実装するインターフェースを新規に定義することができます。さらに,オブジェクトが複数のインターフェースをサポートすることもできます。サポートが必要になる可能性がある標準 COM インターフェースについては,MSDN のマニュアルを参照してください。
- 既存のインターフェースを実装する COM オブジェクトを作成するには,COM オブジェクトウィザードを使用する
- 新規に定義するインターフェースを実装する COM オブジェクトを作成するには,COM オブジェクトウィザードまたはオートメーションオブジェクトウィザードを使用する。COM オブジェクトウィザードは,IUnknown を継承する新規のデフォルトインターフェースを生成でき,オートメーションオブジェクトウィザードは,IDispatch を継承するデフォルトインターフェースをオブジェクトに与える。どちらのウィザードを使用する場合でも,後でいつでもタイプライブラリエディタを使用して,ウィザードが生成するデフォルトインターフェースの親インターフェースを変更できる
サポートするインターフェースを決定するだけでなく,COM オブジェクトをインプロセスサーバーにするか,アウトオブプロセスサーバーにするか,それともリモートサーバーにするかを決定しなければなりません。インプロセスサーバーの場合,およびタイプライブラリを使用するアウトオブプロセスサーバーとリモートサーバーの場合は,COM がデータをマーシャリングします。それ以外の場合は,どのようにしてデータをアウトオブプロセスサーバーにマーシャリングするかを決める必要があります。