2012-01-02 27 views
2

IDownloaderインターフェイスとURLDownloadToFileメソッドを使用してIEのカスタムダウンローダを作成しました。 ただし、URLDownloadToFileは0x80004004エラーコードを返します。 私は不思議です!ソースコードの何が間違っていますか?URLDownloadToFile IDownloadManagerのエラー(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

私はそれを解決しました。

Internet ExplorerのCOMオブジェクトは、IEテンプレートフォルダにファイルを作成する必要があります。 IEはモードを保護しています。

2

これはE_ABORTのエラーコードであるので、あなたのダウンロード操作がMSDNから

を中止されたように見える:

「ダウンロード操作をすることで解除でき任意のコールバックからE_ABORTを返す "

あなたのコールバックはNULLなので、おそらく他の問題が原因です。

+0

URL Monikerシステムから0x80004004のエラーコードを取得したときに、これが本当に便利であることがわかりました。これは、E_ABORTという感想がありませんでした。 – FruitBreak

関連する問題