"Reece Dunn" <[EMAIL PROTECTED]> wrote: >> > + retval = GetWindowModuleFileNameW(hwnd, filenameW, cchFileNameMax); >> > + if (retval) >> > + { >> > + DWORD lasterror = GetLastError(); >> > + WideCharToMultiByte(CP_ACP, 0, filenameW, -1, lpszFileName, >> > cchFileNameMax, NULL, NULL); >> > + SetLastError(lasterror); >> >> What's the point of saving/restoring last error value? If WideCharToMultiByte >> fails you need to return an error in that case, not silently continue. > > The usual model is something like this: > > SetLastError(0xdeadbeef); > WinApiCall(); > ok(GetLastError() == ERROR_SUCCESS, "WinApiCall failed, expected > ERROR_SUCCESS, got %d", GetLastError());
In the tests, which is not the case here. -- Dmitry.