Ошибка URLDownloadToFile (0x80004004) в IDownloadManager :: Загрузить - PullRequest
2 голосов
/ 02 января 2012

Я сделал пользовательский загрузчик IE, используя интерфейс IDownloader и метод URLDownloadToFile. Но 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 ]

2 голосов
/ 18 января 2012

Я решил это.

COM-объект в Internet Explorer должен создать файл в папке шаблонов IE.Потому что IE защищенный режим.

2 голосов
/ 02 января 2012

Это код ошибки для E_ABORT, поэтому похоже, что ваша операция загрузки была прервана

Из MSDN:

«Операцию загрузки можно отменить, вернув E_ABORT из любого обратного вызова»

но поскольку ваш обратный вызов имеет значение NULL, это, вероятно, вызвано какой-то другой проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...