diff options
-rw-r--r-- | peloader/winapi/Environment.c | 6 | ||||
-rw-r--r-- | peloader/winapi/EventTracing.c | 4 | ||||
-rw-r--r-- | peloader/winapi/GetLastError.c | 2 | ||||
-rw-r--r-- | peloader/winapi/SystemTime.c | 5 |
4 files changed, 14 insertions, 3 deletions
diff --git a/peloader/winapi/Environment.c b/peloader/winapi/Environment.c index ba1cc23..cccb685 100644 --- a/peloader/winapi/Environment.c +++ b/peloader/winapi/Environment.c @@ -14,6 +14,10 @@ #include "util.h" #include "winstrings.h" +#define ERROR_ENVVAR_NOT_FOUND 203 + +extern void WINAPI SetLastError(DWORD dwErrCode); + WCHAR EnvironmentStrings[] = L"ALLUSERSPROFILE=AllUsersProfile\0" L"ALLUSERSAPPDATA=AllUsersAppdata\0" @@ -49,6 +53,8 @@ STATIC DWORD WINAPI GetEnvironmentVariableW(PWCHAR lpName, PVOID lpBuffer, DWORD memcpy(lpBuffer, L"1", sizeof(L"1")); } else if (strcmp(AnsiName, "MP_METASTORE_DISABLE") == 0) { memcpy(lpBuffer, L"1", sizeof(L"1")); + } else { + SetLastError(ERROR_ENVVAR_NOT_FOUND); } free(AnsiName); diff --git a/peloader/winapi/EventTracing.c b/peloader/winapi/EventTracing.c index d5deec3..aa41406 100644 --- a/peloader/winapi/EventTracing.c +++ b/peloader/winapi/EventTracing.c @@ -12,7 +12,7 @@ #include "winexports.h" #include "util.h" -STATIC ULONG RegisterTraceGuidsW(PVOID RequestAddress, +STATIC ULONG WINAPI RegisterTraceGuidsW(PVOID RequestAddress, PVOID RequestContext, PVOID ControlGuid, ULONG GuidCount, @@ -34,7 +34,7 @@ STATIC ULONG RegisterTraceGuidsW(PVOID RequestAddress, return STATUS_SUCCESS; } -STATIC ULONG UnregisterTraceGuids(HANDLE RegistrationHandle) +STATIC ULONG WINAPI UnregisterTraceGuids(HANDLE RegistrationHandle) { DebugLog("%p", RegistrationHandle); return STATUS_SUCCESS; diff --git a/peloader/winapi/GetLastError.c b/peloader/winapi/GetLastError.c index a480c5c..6882bb4 100644 --- a/peloader/winapi/GetLastError.c +++ b/peloader/winapi/GetLastError.c @@ -15,7 +15,7 @@ STATIC DWORD LastError; STATIC DWORD WINAPI GetLastError(void) { - //DebugLog("GetLastError() => %#x", LastError); + DebugLog("GetLastError() => %#x", LastError); return LastError; } diff --git a/peloader/winapi/SystemTime.c b/peloader/winapi/SystemTime.c index f1adb3f..da831c7 100644 --- a/peloader/winapi/SystemTime.c +++ b/peloader/winapi/SystemTime.c @@ -22,6 +22,8 @@ typedef struct _SYSTEMTIME { WORD wMilliseconds; } SYSTEMTIME, *PSYSTEMTIME; +extern void WINAPI SetLastError(DWORD dwErrCode); + // These routines are called to check if signing certificates have expired, so // should return similar values. @@ -51,6 +53,7 @@ STATIC VOID WINAPI GetSystemTimeAsFileTime(PVOID lpSystemTimeAsFileTime) STATIC BOOL WINAPI QueryPerformanceCounter(PVOID lpPerformanceCount) { + SetLastError(0); return FALSE; } @@ -61,11 +64,13 @@ STATIC DWORD WINAPI GetTickCount(VOID) STATIC BOOL WINAPI QueryPerformanceFrequency(PVOID lpFrequency) { + SetLastError(0); return FALSE; } STATIC BOOL WINAPI GetProcessTimes(HANDLE hProcess, PFILETIME lpCreationTime, PFILETIME lpExitTime, PFILETIME lpKernelTime, PFILETIME lpUserTime) { + SetLastError(0); DebugLog(""); return FALSE; } |