tags:

views:

49

answers:

1

Hi guys,

I have a question about how CoCreateInstnace() method locate and create an instance of a CoClass contained in a COM DLL.

Accroding to MSDN:

The CoCreateInstance function provides a convenient shortcut by connecting to the class object associated with the specified CLSID, creating an uninitialized instance, and releasing the class object. As such, it encapsulates the following functionality:

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

So I am wondering if this is exactly how CoCreateInstnace is implemented? Or is it just a logic equivalent? If its real implementation is not like this, I am totally confused about how CoCreateInstnace could find and make an instance of the proper CoClass with merely a CLSID and some DLL location information registered in the Windows registry.

Thanks for your reply.

A: 

Please check it by debugging with debug version of MSVCRT libraries within the Visual Studio IDE. Alternatively, you can scan the VC++ include header files

Chubsdad