diff --git a/comtypes/test/find_memleak.py b/comtypes/test/find_memleak.py index d27e68e12..07a4ded2a 100644 --- a/comtypes/test/find_memleak.py +++ b/comtypes/test/find_memleak.py @@ -26,9 +26,14 @@ def dump(self): for n, _ in self._fields_[2:]: print(n, getattr(self, n) / 1e6) +_psapi = WinDLL("psapi") + +_GetProcessMemoryInfo = _psapi.GetProcessMemoryInfo +_GetProcessMemoryInfo.argtypes = [HANDLE, POINTER(PROCESS_MEMORY_COUNTERS), DWORD] +_GetProcessMemoryInfo.restype = BOOL try: - windll.psapi.GetProcessMemoryInfo.argtypes = ( + _GetProcessMemoryInfo.argtypes = ( HANDLE, POINTER(PROCESS_MEMORY_COUNTERS), DWORD, @@ -43,7 +48,7 @@ def find_memleak(func, loops=None): def wss(): # Return the working set size (memory used by process) pmi = PROCESS_MEMORY_COUNTERS() - if not windll.psapi.GetProcessMemoryInfo(-1, byref(pmi), sizeof(pmi)): + if not _GetProcessMemoryInfo(-1, byref(pmi), sizeof(pmi)): raise WinError() return pmi.WorkingSetSize