看看CoCreateInstance这个函数,它的实现是这样的
HRESULT hr = CoGetClassObject(CLSID_InsideCOM, CLSCTX_INPROC_SERVER, NULL, IID_IClassFactory, (void**)&pClasFactory);
if(SUCCEEDED(hr))
{
  hr = pClassFactory->CreateInstance(NULL, IID_IUnknown, (void **)&pUnknown);
  if(SUCCEEDED(hr)) pClassFactory->Release();
}
当类厂创建对象成功以后,它就马上释放了,典型的被人家过河拆桥,呵呵。