我有一个关于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的实例感到完全困惑。

感谢您的回复。

最佳答案

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

10-02 03:15