0
我有一個ATL DLL,我試圖從ATL EXE消耗。當我嘗試在DLL中創建對象的實例時,它會失敗,並顯示錯誤REGDB_E_CLASSNOTREG。我檢查了註冊表,我可以看到對象已註冊,既有ProgID也有CLSID。確認註冊COM對象CoCreateInstance返回REGDB_E_CLASSNOTREG
CComPtr<IMyInterface> ptrMyInterface;
ptrMyInterface.CoCreateInstance(L"ProgID", nullptr, CLSCTX_ALL); // Fails
CLSID myClsid;
CLSIDFromString(L"{MyCLSID}"), &myClsid); // Correctly looks up the CLSID
ptrMyInterface.CoCreateInstance(myClsid, nullptr, CLSCTX_ALL); // Also fails
任何建議
使用SysInternals的進程監視器來觀察您的程序搜索註冊表項。 –