我有一个关于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 ++包含头文件