关于CoCreateInstance()方法的实现的问题

时间:2010-08-15 10:46:06

标签: c# c++ com

我有一个关于CoCreateInstnace()方法如何定位和创建COM DLL中包含的CoClass实例的问题。

正在加载MSDN

  

CoCreateInstance函数提供   通过连接方便快捷方式   与之关联的类对象   指定CLSID,创建一个   未初始化的实例,并释放   类对象。就这样,它   封装以下内容   功能性:

CoGetClassObject(rclsid, dwClsContext, NULL, IID_IClassFactory, &pCF); 
hresult = pCF->CreateInstance(pUnkOuter, riid, ppvObj) 
pCF->Release(); 

所以我想知道这是否完全 CoCreateInstnace是如何实现的?或者只是逻辑等价?如果它的真实实现不是这样的话,我完全不知道CoCreateInstnace如何只用一个CLSID和Windows注册表中注册的一些DLL位置信息来找到并创建一个正确CoClass的实例。

感谢您的回复。

1 个答案:

答案 0 :(得分:0)

请通过Visual Studio IDE中的调试版MSVCRT库进行调试来检查它。或者,您可以扫描VC ++包含头文件