2010-04-26 13:58:46 +00:00
|
|
|
#include <win32k.h>
|
2004-01-30 16:36:16 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* @implemented
|
2010-12-25 10:37:55 +00:00
|
|
|
* http://msdn.microsoft.com/en-us/library/ff564940%28VS.85%29.aspx
|
2004-01-30 16:36:16 +00:00
|
|
|
*/
|
|
|
|
ULONG
|
2008-11-29 22:48:58 +00:00
|
|
|
APIENTRY
|
2010-12-25 10:37:55 +00:00
|
|
|
EngGetLastError(VOID)
|
2004-01-30 16:36:16 +00:00
|
|
|
{
|
2010-12-25 10:37:55 +00:00
|
|
|
PTEB pTeb = NtCurrentTeb();
|
2023-12-17 21:13:45 +00:00
|
|
|
return (pTeb ? pTeb->LastErrorValue : ERROR_SUCCESS);
|
2004-01-30 16:36:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* @implemented
|
2010-12-25 10:37:55 +00:00
|
|
|
* http://msdn.microsoft.com/en-us/library/ff565015%28VS.85%29.aspx
|
2022-04-16 21:53:37 +00:00
|
|
|
* Win: UserSetLastError
|
2004-01-30 16:36:16 +00:00
|
|
|
*/
|
|
|
|
VOID
|
2008-11-29 22:48:58 +00:00
|
|
|
APIENTRY
|
2013-01-01 09:40:48 +00:00
|
|
|
EngSetLastError(_In_ ULONG iError)
|
2004-01-30 16:36:16 +00:00
|
|
|
{
|
2010-12-25 10:37:55 +00:00
|
|
|
PTEB pTeb = NtCurrentTeb();
|
|
|
|
if (pTeb)
|
|
|
|
pTeb->LastErrorValue = iError;
|
2004-01-30 16:36:16 +00:00
|
|
|
}
|
2010-12-25 11:01:14 +00:00
|
|
|
|
|
|
|
VOID
|
|
|
|
FASTCALL
|
2023-12-17 21:13:45 +00:00
|
|
|
SetLastNtError(_In_ NTSTATUS Status)
|
2010-12-25 11:01:14 +00:00
|
|
|
{
|
|
|
|
EngSetLastError(RtlNtStatusToDosError(Status));
|
|
|
|
}
|