blob: 4551ce7b5be7f675360634ad22f9afcabd4ef21f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
diff --git a/src/common/tuklib_physmem.c b/src/common/tuklib_physmem.c
index 4053ad0..c49db6d 100644
--- a/src/common/tuklib_physmem.c
+++ b/src/common/tuklib_physmem.c
@@ -79,6 +79,13 @@ tuklib_physmem(void)
uint64_t ret = 0;
#if defined(_WIN32) || defined(__CYGWIN__)
+#if defined (WINAPI_FAMILY_PARTITION) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
+ MEMORYSTATUSEX ms;
+ ms.dwLength = sizeof(ms);
+ if(!GlobalMemoryStatusEx(&ms))
+ return 0;
+ return ms.ullTotalPhys;
+#else
if ((GetVersion() & 0xFF) >= 5) {
// Windows 2000 and later have GlobalMemoryStatusEx() which
// supports reporting values greater than 4 GiB. To keep the
@@ -107,6 +114,7 @@ tuklib_physmem(void)
GlobalMemoryStatus(&meminfo);
ret = meminfo.dwTotalPhys;
}
+#endif
#elif defined(__OS2__)
unsigned long mem;
|