Index: src/ch/AsyncHttpFile.cpp =================================================================== diff -u -N -r44a2ec5f1eb0a435b56daef42ef5fe3b7a91da0d -r50007f112b77cba170e6c427fee5428bda2d9dc5 --- src/ch/AsyncHttpFile.cpp (.../AsyncHttpFile.cpp) (revision 44a2ec5f1eb0a435b56daef42ef5fe3b7a91da0d) +++ src/ch/AsyncHttpFile.cpp (.../AsyncHttpFile.cpp) (revision 50007f112b77cba170e6c427fee5428bda2d9dc5) @@ -205,7 +205,10 @@ m_internetBuffers.lpvBuffer = pBuffer; m_dwExpectedState = INTERNET_STATUS_REQUEST_COMPLETE; - if(!::InternetReadFileEx(m_hOpenUrl, &m_internetBuffers, IRF_NO_WAIT, (DWORD_PTR)&m_tReadRequest)) + + // #WinXP #workaround - in bare WinXP SP3 (i.e. without additional updates), InternetReadFileExW returns + // error 120 (not implemented); it was implemented with some later update + if(!::InternetReadFileExA(m_hOpenUrl, &m_internetBuffers, IRF_NO_WAIT, (DWORD_PTR)&m_tReadRequest)) { SetErrorCode(::GetLastError()); if(GetErrorCode() == ERROR_IO_PENDING)