在COM中,当您想要创建某个COM Server对象的实例时,首先需要获取指向它的IUnknown接口的指针,然后才使用CoGetClassObject创建一个类对象吗?
据我所知,IUnknown用于管理对象的生命周期,因此根据我的理解,无论客户想要创建什么对象,都需要首先指向它的IUnknown接口实现。
声音正确吗?如果没有,谁能告诉我它是如何工作的?
答案 0 :(得分:3)
IUnknown
管理现有 COM对象的生命周期。在创建对象之前,没有IUnknown
指针可以说明。
CoGetClassObject
用于获取期望创建感兴趣对象的对象的IUnknown
接口。即,它是一个对象 factory ,通常是实现IClassFactory
,它声明了用于创建对象的CreateInstance
方法。
不是明确地使用类工厂,而是简单地调用CoCreateInstance
。