C# 关于CoCreateInstance()方法的问题';实施

C# 关于CoCreateInstance()方法的问题';实施,c#,c++,com,C#,C++,Com,我有一个关于coCreateInstance()方法如何定位和创建COM DLL中包含的CoClass的实例的问题 根据: CoCreateInstance函数提供 连接到的便捷快捷方式 与对象关联的类对象 指定的CLSID,正在创建 未初始化的实例,并释放 类对象。因此,它 封装了以下内容 功能: 因此,我想知道这是否确实是如何实现的?或者它只是一个逻辑等价物?如果它的实际实现不是这样的,那么我完全不知道CoCreateInstnace如何找到并创建一个正确的CoClass实例,而只需要一个C

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

根据:

CoCreateInstance函数提供 连接到的便捷快捷方式 与对象关联的类对象 指定的CLSID,正在创建 未初始化的实例,并释放 类对象。因此,它 封装了以下内容 功能:

因此,我想知道这是否确实是如何实现的?或者它只是一个逻辑等价物?如果它的实际实现不是这样的,那么我完全不知道CoCreateInstnace如何找到并创建一个正确的CoClass实例,而只需要一个CLSID和一些在Windows注册表中注册的DLL位置信息


感谢您的回复。

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

它做的更多,但这需要一本书。到底哪一部分对你来说像黑魔法?
CoGetClassObject(rclsid, dwClsContext, NULL, IID_IClassFactory, &pCF); 
hresult = pCF->CreateInstance(pUnkOuter, riid, ppvObj) 
pCF->Release();