私は、CoCreateInstanceが指定されたクラスidのCOMサーバーを見つけ、そのIDのオブジェクトインスタンスを作成し、そのオブジェクトインスタンスからインターフェイスを取得することを理解します。 CoGetClassObject()は、クラスidのCOMサーバーを検索し、そのクラスIDのクラスファクトリのインスタンスを作成し、実際のオブジェクトを作成するために使用できるそのクラスファクトリインターフェイスを取得します。同じマシン上にオブジェクトを作成するとき、CoCreateInstance()とCoGetClassObject()の違いは何ですか?
同じマシン上にオブジェクトを作成する際に、これらの機能がどのように異なるのですか?それらは同じ方法で動作しますが、まったく同じCOMサーバーで異なるコードが呼び出されるだけですか?
私はそれを読んだことがありますが、CoGetClassObject()が潜在的に高速であり、クラスファクトリオブジェクトがCreateInstance()呼び出しの間に状態を維持できること以外は何のメリットもありません。 – sharptooth
@sharptooth、それはそれのかなりのジストです。それほど多くの利点がないため、あなたはそれが使用されることはめったにありません。 – JaredPar
依存関係を検索する順序のような微妙な違いがありますか?これらの機能は同じですが、同じCOMサーバーで異なるコードを呼び出すだけですか? – sharptooth