IClassFactory :: CreateInstance方法的pUnkOuter参数

时间:2011-09-29 09:31:50

标签: c++ generics com

IClassFactory :: CreateInstance方法的pUnkOuter参数背后的原因是什么?

HRESULT CreateInstance(
  [in]   IUnknown *pUnkOuter,
  [in]   REFIID riid,
  [out]  void **ppvObject
);

MSDN对pUnkOuter参数说明的描述:

  

如果要将对象创建为聚合的一部分,请指定指向聚合的控制IUnknown接口的指针。否则,此参数必须为NULL。

请问好人请告诉我这个参数是什么?

1 个答案:

答案 0 :(得分:4)

请参阅COM基础知识中的Aggregation。如果您创建COM对象的实例,它是聚合的一部分,则必须提供所谓的“外部IUnknown”,它是所有者COM对象接口。