IDownloadManager :: Download中的URLDownloadToFile错误(0x80004004)

时间:2012-01-02 10:39:47

标签: c++ wininet

我使用IDownloader接口和URLDownloadToFile方法制作了IE的自定义下载程序。 但 URLDownloadToFile返回0x80004004错误代码。 我想知道!源代码有什么问题?

参考:http://social.msdn.microsoft.com/Forums/en/iewebdevelopment/thread/3fbcea06-4e69-4504-82e0-f4786368a5e2

STDMETHODIMP CDownloader::Download(IMoniker* pmk,  
        IBindCtx* pbc,  
        DWORD dwBindVerb,  
        LONG grfBINDF,  
        BINDINFO* pBindInfo,  
        LPCOLESTR pszHeaders,  
        LPCOLESTR pszRedir,  
        UINT uiCP )  
{ 
    LPOLESTR sDisplayName; 
    pmk->GetDisplayName(NULL, NULL, &sDisplayName);
    HRESULT hr = URLDownloadToFile(NULL, sDisplayName, L"C:\\downloaded.exe", 0, NULL);
    return S_OK;
}

2 个答案:

答案 0 :(得分:2)

这是E_ABORT的错误代码,因此看起来您的下载操作已中止

来自MSDN:

“可以通过从任何回调中返回E_ABORT来取消下载操作”

但由于你的回调是NULL,它可能是由其他一些问题引起的。

答案 1 :(得分:2)

我解决了。

Internet Explorer上的COM对象必须在IE模板文件夹中创建文件。因为IE保护模式。