URLDownloadToFile的BUG

    ::CoInitialize(NULL);
    ::DeleteUrlCacheEntry(lpRuleDL->m_strADConfigURL);
    hr =  ::URLDownloadToFile(NULL, lpRuleDL->m_strADConfigURL, _T("D://adconfig.ini"), 0, NULL);
    if (SUCCEEDED(hr))
    {
        if (TRUE == IsFileExist(_T("D://adconfig.ini")) && TRUE == IsFileEmpty(_T("D://adconfig.ini")))
        {
            lpRuleDL->miDLThreadRes = 1;
            return lpRuleDL->miDLThreadRes;
        }
       
    }
    ::CoUninitialize();

BUG描述:
MSDN上说返回S_OK表示下载成功,实际上似乎只是函数执行完毕就返回成功,
观测返回后,如果不对文件的存在和完整做判断代码就会出错。
测试的时候发现没有在本地生成目标文件的时候,也返回S_OK。

baidu后有人提到URLDownloadToFile是WinInet的封装,WinInet只有一个链接超时无法控制的BUG
今天又发现BUG,貌似没看有人帖,贴出来……

你可能感兴趣的:(测试,null)