下面这段代码打印出“Create other error!”
...
hr = CoCreateInstance(clsid, NULL, CLSCTX_SERVER, IID_IDispatch, (void**)&(addon->pDisp));
if (FAILED(hr))
{
if (hr == REGDB_E_CLASSNOTREG)
ShowLog("REGDB_E_CLASSNOTREG");
else if (hr == CLASS_E_NOAGGREGATION)
ShowLog("CLASS_E_NOAGGREGATION");
else if (hr == S_OK)
ShowLog("S_OK!");
else
ShowLog("Create other error!");
ShowLog("Component %s not created.", progid);
return;
}
...但是注册表中已经有这个组件,clsid是我用CLSIDFromProgID()得到的,应该没有问题,这个组件是双接口,为什么会失败?