diff options
-rw-r--r-- | Source/kwsys/SystemInformation.cxx | 14 |
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; |