[KERNEL32]

- Make BaseSetLastNTError return the converted Win32 error code. This will determine the upper 24 bits of EAX in functions that return BOOLEAN FALSE right after calling BaseSetLastNTError, e.g. Wow64EnableWow64FsRedirection. Fixes installers using WiX Toolset (e.g. VS2012 redist) on MSVC builds.
See http://wixtoolset.org/issues/4681/ for the WiX bug that causes this.
CORE-8010

svn path=/trunk/; revision=66365
This commit is contained in:
Thomas Faber 2015-02-20 07:03:00 +00:00
parent 25b96c6299
commit 5f07c07d64
2 changed files with 7 additions and 3 deletions

View file

@ -682,12 +682,16 @@ SetLastError(IN DWORD dwErrCode)
/*
* @implemented
*/
VOID
DWORD
WINAPI
BaseSetLastNTError(IN NTSTATUS Status)
{
DWORD dwErrCode;
/* Convert from NT to Win32, then set */
SetLastError(RtlNtStatusToDosError(Status));
dwErrCode = RtlNtStatusToDosError(Status);
SetLastError(dwErrCode);
return dwErrCode;
}
/*

View file

@ -353,7 +353,7 @@ VOID
WINAPI
InitCommandLines(VOID);
VOID
DWORD
WINAPI
BaseSetLastNTError(IN NTSTATUS Status);