COMのIUnknownと私は最初のCoGetClassObjectを呼び出す前に、それへのポインタが必要なのでしょうか?
質問
あなたには、いくつかのCOMサーバーオブジェクトのインスタンスを作成する場合、
でCOMは、あなたにそれのIUnknownインターフェイスへのポインタを取得するための最初の必要性を行うだけにして使用して、クラスのオブジェクトを作成CoGetClassObjectに?
私の知る限りそれを理解するように、IUnknownのは、クライアントが作成したいオブジェクトを何でも、そう私の理解から、オブジェクトの寿命を管理するために使用され、一つは、それへのポインタが最初のIUnknownインターフェイスの実装のニーズます。
正しい音?ない場合は、缶誰もがそれがどのように動作するかを教えて?
解決
IUnknown
はの既存ののCOMオブジェクトの寿命を管理します。オブジェクトが作成される前に、話すために何IUnknown
ポインタはありません。
CoGetClassObject
は、目的のオブジェクトを作成することが期待されているオブジェクトのIUnknown
インターフェイスを取得するために使用されます。すなわち、それはオブジェクトの工場のある、通常は、オブジェクトを作成するために使用することIClassFactory
メソッドを宣言しCreateInstance
を実装します。
の代わりに、明示的にクラスファクトリを使用するのでは、それは多くの場合、単にコールCoCreateInstance
に簡単です。
所属していません StackOverflow