1

在 COM 中,当你想创建某个 COM Server 对象的实例时,是否首先需要获取指向它的 IUnknown 接口的指针,然后才能使用 CoGetClassObject 创建一个类对象?

据我了解,IUnknown 是用来管理对象生命周期的,所以据我了解,无论客户想要创建什么对象,首先需要一个指向它的 IUnknown 接口实现的指针。

听起来对吗?如果没有,谁能告诉我它是如何工作的?

4

1 回答 1

3

IUnknown管理现有COM 对象的生命周期。在创建对象之前,没有IUnknown指针可言。

CoGetClassObject用于获取IUnknown预期创建感兴趣对象的对象的接口。即,它是一个对象工厂,通常是实现IClassFactory,它声明了CreateInstance您用来创建对象的方法。

与其显式使用类工厂,不如直接调用CoCreateInstance.

于 2010-05-16T12:17:31.757 回答