Index: src/ch/AsyncHttpFile.cpp =================================================================== diff -u -N -r045540c818c374806d09742ef3d7a984d8d757d3 -rd0cfddc68b5ec4dc4e9b73b6f87aa97995c7cc54 --- src/ch/AsyncHttpFile.cpp (.../AsyncHttpFile.cpp) (revision 045540c818c374806d09742ef3d7a984d8d757d3) +++ src/ch/AsyncHttpFile.cpp (.../AsyncHttpFile.cpp) (revision d0cfddc68b5ec4dc4e9b73b6f87aa97995c7cc54) @@ -36,7 +36,7 @@ m_hFinishedEvent(NULL), m_dwError(ERROR_SUCCESS) { - memset(&m_internetBuffers, 0, sizeof(INTERNET_BUFFERS)); + memset(&m_internetBuffers, 0, sizeof(INTERNET_BUFFERSA)); m_tOpenRequest.pHttpFile = this; m_tOpenRequest.eOperationType = CONTEXT_REQUEST::eInternetOpenUrl; @@ -263,10 +263,6 @@ { if(!::InternetCloseHandle(m_hOpenUrl)) { - DWORD dwError = GetLastError(); - ATLTRACE(L"InternetCloseHandle failed with error: %lu\n", dwError); - - SetErrorCode(dwError); if(GetErrorCode() == ERROR_IO_PENDING) return S_FALSE; else @@ -288,6 +284,14 @@ m_hFinishedEvent = nullptr; } + memset(&m_internetBuffers, 0, sizeof(INTERNET_BUFFERSA)); + + m_tOpenRequest.pHttpFile = this; + m_tOpenRequest.eOperationType = CONTEXT_REQUEST::eInternetOpenUrl; + + m_tReadRequest.pHttpFile = this; + m_tReadRequest.eOperationType = CONTEXT_REQUEST::eInternetReadFileEx; + return S_OK; }