CoCreateInstance返回STG_E_FILENOTFOUND(0x80030002)

时间:2014-04-02 10:35:21

标签: c++ internet-explorer visual-studio-2012 ole

这行代码以前工作正常,但现在返回STG_E_FILENOTFOUND(0x80030002)。

hr = CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_LOCAL_SERVER, IID_IWebBrowser2, (LPVOID*)&browser);

我还没有改变我的任何代码,我只是像往常一样运行它并得到了这个错误。 我也曾在其他地方寻找答案,但没有一个能解决这个问题。

可能是什么原因造成的?以及如何解决它?

这里是完整的代码,"浏览器"是IWebBrowser2的变量。

HRESULT AUTHORIZATION::Initialize()
{
    if (browser)
        return ERROR_ALREADY_INITIALIZED;
    HRESULT hr = OleInitialize(NULL);
    if (!SUCCEEDED(hr))
        return hr;
    hr = CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_LOCAL_SERVER, IID_IWebBrowser2, (LPVOID*)&browser);
    if (!SUCCEEDED(hr))
    {
        OleUninitialize();
        return hr;
    }
    browser->put_RegisterAsBrowser(VARIANT_TRUE);
    browser->put_RegisterAsDropTarget(VARIANT_FALSE);
    browser->put_StatusBar(VARIANT_FALSE);
    browser->put_ToolBar(FALSE);
    browser->put_Resizable(VARIANT_FALSE);
    browser->put_Width(default_dlg_width);
    browser->put_Height(default_dlg_height);
    return hr;
}

0 个答案:

没有答案