機能のみを持つプログラム部品を組み合わせる(公開されているインタフェースを介してCOMコンポーネントと通信)ことでアプリケーションソフトの開発が容易になる。↑COMオブジェクト↑インターフェイス全てのCOMコンポーネントはIUnknownと呼ばれるインタフェースを継承する必要があるIDispatchIUnknown↑COM/関数CoInitializeCoCreateInstanceCoUninitialize?↑メモCOM関連の関数の戻り値の型は、ほとんどHRESULT↑メモ2DLLは簡単です。LoadLibraryでメモリに展開してGetProcAddressで使いたい関数のポインタを取得して使うだけです。COMの場合は、関数ポインタではなくインターフェースを取得して使います。インターフェースはCoCreateInstanceを使って取得します。割り当てられ、COMコンポーネント同士はクラスIDによって区別される。CLSIDはGUIDで構成されている。各COMコンポーネントは1つ以上のインタフェースを公開することで機能を提供している。IID?もGUIDで構成されている。UUIDのMicrosoft独自定義版。