diff --git a/src/memoryusage.cpp b/src/memoryusage.cpp index 31ef5f8c17781082d27cdb6cc7cd9d5d01b48e58..6f94743ee2c90fbf848f677ad80f36dc7ed2a0e3 100644 --- a/src/memoryusage.cpp +++ b/src/memoryusage.cpp @@ -28,6 +28,9 @@ #include #ifndef WIN32 #include +#else +#include +#include #endif #ifdef __MACH__ #include @@ -138,6 +141,15 @@ void process_mem_usage(double& shared, double& resident_set, pid_t pid) { resident_set = rss * page_size_kb; } #endif /* else BSD */ +#else +#define PSAPI_VERSION 1 +#define pid_t void* + void process_mem_usage(double& shared, double& resident_set, pid_t pid) { + PROCESS_MEMORY_COUNTERS_EX pmc; + GetProcessMemoryInfo(GetCurrentProcess(), (PROCESS_MEMORY_COUNTERS*)&pmc, sizeof(pmc)); + shared = (double)pmc.PrivateUsage; + resident_set = (double)pmc.WorkingSetSize; + } #endif /* WIN32 */ }