On 08/02/2008, Dmitry Timoshkov <[EMAIL PROTECTED]> wrote: > "Maarten Lankhorst" <[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()); - Reece