summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/kwsys/SystemInformation.cxx14
1 files changed, 10 insertions, 4 deletions
diff --git a/Source/kwsys/SystemInformation.cxx b/Source/kwsys/SystemInformation.cxx
index e4a4564..5720dff 100644
--- a/Source/kwsys/SystemInformation.cxx
+++ b/Source/kwsys/SystemInformation.cxx
@@ -2228,13 +2228,19 @@ int SystemInformationImplementation::QueryMemory()
#ifdef __CYGWIN__
return 0;
#elif _WIN32
+#if _MSC_VER < 1300
+ MEMORYSTATUS ms;
+#define MEM_VAL(value) dw##value
+#else
MEMORYSTATUSEX ms;
+#define MEM_VAL(value) ull##value
+#endif
GlobalMemoryStatusEx(&ms);
- unsigned long tv = ms.ullTotalVirtual;
- unsigned long tp = ms.ullTotalPhys;
- unsigned long av = ms.ullAvailVirtual;
- unsigned long ap = ms.ullAvailPhys;
+ unsigned long tv = ms.MEM_VAL(TotalVirtual);
+ unsigned long tp = ms.MEM_VAL(TotalPhys);
+ unsigned long av = ms.MEM_VAL(AvailVirtual);
+ unsigned long ap = ms.MEM_VAL(AvailPhys);
this->TotalVirtualMemory = tv>>10>>10;
this->TotalPhysicalMemory = tp>>10>>10;
this->AvailableVirtualMemory = av>>10>>10;