0
我有一些調用COM對象的問題。
HRESULT:0x80040154註冊COM對象
szProgID = Imctrl.Section
HRESULT hr = CLSIDFromProgID(szProgID, &clsid);
後執行,HR = S_OK,CLSID = 「CLSID_Section類」。
但是,當我嘗試創建一個對象,CoCreateInstance返回錯誤:「類未註冊」。雖然「Imctrl.Section」存在於註冊表中。
hr = ::CoCreateInstance(clsid, pUnkOuter, dwClsContext, __uuidof(T), (void**)&p);
從這個DLL其他clases相同的錯誤。
也許是32位和64位的問題? COM服務器和COM客戶端必須使用相同的位數(一般情況下) –
註冊表中的「Imctrl.Section」只映射到CLSID,然後CLSID映射到實際的服務器實現,然後它必須存在。總而言之,要麼嘗試實例化一個錯誤的東西,或者服務器不僅僅是註冊/可用(包括32/64可能的原因),這可能是一個問題。 –