wininet: Return error directly from INTERNET_AsyncCall.
This commit is contained in:
parent
8b805e48fb
commit
88ac3a381b
|
@ -217,6 +217,13 @@ static BOOL FTP_FtpGetFileW(ftp_session_t*, LPCWSTR lpszRemoteFile, LPCWSTR lpsz
|
||||||
BOOL fFailIfExists, DWORD dwLocalFlagsAttribute, DWORD dwInternetFlags,
|
BOOL fFailIfExists, DWORD dwLocalFlagsAttribute, DWORD dwInternetFlags,
|
||||||
DWORD_PTR dwContext);
|
DWORD_PTR dwContext);
|
||||||
|
|
||||||
|
/* A temporary helper until we get rid of INTERNET_GetLastError calls */
|
||||||
|
static BOOL res_to_le(DWORD res)
|
||||||
|
{
|
||||||
|
if(res != ERROR_SUCCESS)
|
||||||
|
INTERNET_SetLastError(res);
|
||||||
|
return res == ERROR_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* FtpPutFileA (WININET.@)
|
* FtpPutFileA (WININET.@)
|
||||||
|
@ -319,7 +326,7 @@ BOOL WINAPI FtpPutFileW(HINTERNET hConnect, LPCWSTR lpszLocalFile,
|
||||||
req->dwFlags = dwFlags;
|
req->dwFlags = dwFlags;
|
||||||
req->dwContext = dwContext;
|
req->dwContext = dwContext;
|
||||||
|
|
||||||
r = INTERNET_AsyncCall(&workRequest);
|
r = res_to_le(INTERNET_AsyncCall(&workRequest));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -489,7 +496,7 @@ BOOL WINAPI FtpSetCurrentDirectoryW(HINTERNET hConnect, LPCWSTR lpszDirectory)
|
||||||
req = &workRequest.u.FtpSetCurrentDirectoryW;
|
req = &workRequest.u.FtpSetCurrentDirectoryW;
|
||||||
req->lpszDirectory = heap_strdupW(lpszDirectory);
|
req->lpszDirectory = heap_strdupW(lpszDirectory);
|
||||||
|
|
||||||
r = INTERNET_AsyncCall(&workRequest);
|
r = res_to_le(INTERNET_AsyncCall(&workRequest));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -639,7 +646,7 @@ BOOL WINAPI FtpCreateDirectoryW(HINTERNET hConnect, LPCWSTR lpszDirectory)
|
||||||
req = &workRequest.u.FtpCreateDirectoryW;
|
req = &workRequest.u.FtpCreateDirectoryW;
|
||||||
req->lpszDirectory = heap_strdupW(lpszDirectory);
|
req->lpszDirectory = heap_strdupW(lpszDirectory);
|
||||||
|
|
||||||
r = INTERNET_AsyncCall(&workRequest);
|
r = res_to_le(INTERNET_AsyncCall(&workRequest));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1000,7 +1007,7 @@ BOOL WINAPI FtpGetCurrentDirectoryW(HINTERNET hFtpSession, LPWSTR lpszCurrentDir
|
||||||
req->lpszDirectory = lpszCurrentDirectory;
|
req->lpszDirectory = lpszCurrentDirectory;
|
||||||
req->lpdwDirectory = lpdwCurrentDirectory;
|
req->lpdwDirectory = lpdwCurrentDirectory;
|
||||||
|
|
||||||
r = INTERNET_AsyncCall(&workRequest);
|
r = res_to_le(INTERNET_AsyncCall(&workRequest));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1658,7 +1665,7 @@ BOOL WINAPI FtpGetFileW(HINTERNET hInternet, LPCWSTR lpszRemoteFile, LPCWSTR lps
|
||||||
req->dwFlags = dwInternetFlags;
|
req->dwFlags = dwInternetFlags;
|
||||||
req->dwContext = dwContext;
|
req->dwContext = dwContext;
|
||||||
|
|
||||||
r = INTERNET_AsyncCall(&workRequest);
|
r = res_to_le(INTERNET_AsyncCall(&workRequest));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1847,7 +1854,7 @@ BOOL WINAPI FtpDeleteFileW(HINTERNET hFtpSession, LPCWSTR lpszFileName)
|
||||||
req = &workRequest.u.FtpDeleteFileW;
|
req = &workRequest.u.FtpDeleteFileW;
|
||||||
req->lpszFilename = heap_strdupW(lpszFileName);
|
req->lpszFilename = heap_strdupW(lpszFileName);
|
||||||
|
|
||||||
r = INTERNET_AsyncCall(&workRequest);
|
r = res_to_le(INTERNET_AsyncCall(&workRequest));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1992,7 +1999,7 @@ BOOL WINAPI FtpRemoveDirectoryW(HINTERNET hFtpSession, LPCWSTR lpszDirectory)
|
||||||
req = &workRequest.u.FtpRemoveDirectoryW;
|
req = &workRequest.u.FtpRemoveDirectoryW;
|
||||||
req->lpszDirectory = heap_strdupW(lpszDirectory);
|
req->lpszDirectory = heap_strdupW(lpszDirectory);
|
||||||
|
|
||||||
r = INTERNET_AsyncCall(&workRequest);
|
r = res_to_le(INTERNET_AsyncCall(&workRequest));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2143,7 +2150,7 @@ BOOL WINAPI FtpRenameFileW(HINTERNET hFtpSession, LPCWSTR lpszSrc, LPCWSTR lpszD
|
||||||
req->lpszSrcFile = heap_strdupW(lpszSrc);
|
req->lpszSrcFile = heap_strdupW(lpszSrc);
|
||||||
req->lpszDestFile = heap_strdupW(lpszDest);
|
req->lpszDestFile = heap_strdupW(lpszDest);
|
||||||
|
|
||||||
r = INTERNET_AsyncCall(&workRequest);
|
r = res_to_le(INTERNET_AsyncCall(&workRequest));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -3141,7 +3141,7 @@ static DWORD CALLBACK INTERNET_WorkerThreadFunc(LPVOID lpvParam)
|
||||||
* RETURNS
|
* RETURNS
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
BOOL INTERNET_AsyncCall(LPWORKREQUEST lpWorkRequest)
|
DWORD INTERNET_AsyncCall(LPWORKREQUEST lpWorkRequest)
|
||||||
{
|
{
|
||||||
BOOL bSuccess;
|
BOOL bSuccess;
|
||||||
LPWORKREQUEST lpNewRequest;
|
LPWORKREQUEST lpNewRequest;
|
||||||
|
@ -3150,7 +3150,7 @@ BOOL INTERNET_AsyncCall(LPWORKREQUEST lpWorkRequest)
|
||||||
|
|
||||||
lpNewRequest = HeapAlloc(GetProcessHeap(), 0, sizeof(WORKREQUEST));
|
lpNewRequest = HeapAlloc(GetProcessHeap(), 0, sizeof(WORKREQUEST));
|
||||||
if (!lpNewRequest)
|
if (!lpNewRequest)
|
||||||
return FALSE;
|
return ERROR_OUTOFMEMORY;
|
||||||
|
|
||||||
*lpNewRequest = *lpWorkRequest;
|
*lpNewRequest = *lpWorkRequest;
|
||||||
|
|
||||||
|
@ -3158,10 +3158,10 @@ BOOL INTERNET_AsyncCall(LPWORKREQUEST lpWorkRequest)
|
||||||
if (!bSuccess)
|
if (!bSuccess)
|
||||||
{
|
{
|
||||||
HeapFree(GetProcessHeap(), 0, lpNewRequest);
|
HeapFree(GetProcessHeap(), 0, lpNewRequest);
|
||||||
INTERNET_SetLastError(ERROR_INTERNET_ASYNC_THREAD_FAILED);
|
return ERROR_INTERNET_ASYNC_THREAD_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return bSuccess;
|
return ERROR_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -407,7 +407,7 @@ BOOL GetAddress(LPCWSTR lpszServerName, INTERNET_PORT nServerPort,
|
||||||
|
|
||||||
void INTERNET_SetLastError(DWORD dwError);
|
void INTERNET_SetLastError(DWORD dwError);
|
||||||
DWORD INTERNET_GetLastError(void);
|
DWORD INTERNET_GetLastError(void);
|
||||||
BOOL INTERNET_AsyncCall(LPWORKREQUEST lpWorkRequest);
|
DWORD INTERNET_AsyncCall(LPWORKREQUEST lpWorkRequest);
|
||||||
LPSTR INTERNET_GetResponseBuffer(void);
|
LPSTR INTERNET_GetResponseBuffer(void);
|
||||||
LPSTR INTERNET_GetNextLine(INT nSocket, LPDWORD dwLen);
|
LPSTR INTERNET_GetNextLine(INT nSocket, LPDWORD dwLen);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue