[IMM32] Get gHighestUserAddress in ImmInitializeGlobals

CORE-11700
This commit is contained in:
Katayama Hirofumi MZ 2022-11-13 20:04:34 +09:00
parent 51f78918da
commit 3d298831db

View file

@ -10,6 +10,7 @@
*/ */
#include "precomp.h" #include "precomp.h"
#include <ndk/exfuncs.h>
WINE_DEFAULT_DEBUG_CHANNEL(imm); WINE_DEFAULT_DEBUG_CHANNEL(imm);
@ -17,11 +18,13 @@ HMODULE ghImm32Inst = NULL; // Win: ghInst
PSERVERINFO gpsi = NULL; // Win: gpsi PSERVERINFO gpsi = NULL; // Win: gpsi
SHAREDINFO gSharedInfo = { NULL }; // Win: gSharedInfo SHAREDINFO gSharedInfo = { NULL }; // Win: gSharedInfo
BYTE gfImmInitialized = FALSE; // Win: gfInitialized BYTE gfImmInitialized = FALSE; // Win: gfInitialized
ULONG_PTR gHighestUserAddress = 0;
// Win: ImmInitializeGlobals // Win: ImmInitializeGlobals
static BOOL APIENTRY ImmInitializeGlobals(HMODULE hMod) static BOOL APIENTRY ImmInitializeGlobals(HMODULE hMod)
{ {
NTSTATUS status; NTSTATUS status;
SYSTEM_BASIC_INFORMATION SysInfo;
if (hMod) if (hMod)
ghImm32Inst = hMod; ghImm32Inst = hMod;
@ -36,6 +39,14 @@ static BOOL APIENTRY ImmInitializeGlobals(HMODULE hMod)
return FALSE; return FALSE;
} }
status = NtQuerySystemInformation(SystemBasicInformation, &SysInfo, sizeof(SysInfo), NULL);
if (NT_ERROR(status))
{
ERR("\n");
return FALSE;
}
gHighestUserAddress = SysInfo.MaximumUserModeAddress;
gfImmInitialized = TRUE; gfImmInitialized = TRUE;
return TRUE; return TRUE;
} }