diff --git a/reactos/dll/win32/kernel32/client/except.c b/reactos/dll/win32/kernel32/client/except.c index e313e990faa..276f5f22031 100644 --- a/reactos/dll/win32/kernel32/client/except.c +++ b/reactos/dll/win32/kernel32/client/except.c @@ -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; } /* diff --git a/reactos/dll/win32/kernel32/include/kernel32.h b/reactos/dll/win32/kernel32/include/kernel32.h index 383a1061222..2cca331c648 100644 --- a/reactos/dll/win32/kernel32/include/kernel32.h +++ b/reactos/dll/win32/kernel32/include/kernel32.h @@ -353,7 +353,7 @@ VOID WINAPI InitCommandLines(VOID); -VOID +DWORD WINAPI BaseSetLastNTError(IN NTSTATUS Status);