| ... | @@ -3994,24 +3994,11 @@ pub const GetProcessMemoryInfoError = error{ | ... | @@ -3994,24 +3994,11 @@ pub const GetProcessMemoryInfoError = error{ |
| 3994 | Unexpected, | 3994 | Unexpected, |
| 3995 | }; | 3995 | }; |
| 3996 | | 3996 | |
| 3997 | pub fn GetProcessMemoryInfo(hProcess: HANDLE, out: *PROCESS_MEMORY_COUNTERS) GetProcessMemoryInfoError!void { | 3997 | pub fn GetProcessMemoryInfo(hProcess: HANDLE) GetProcessMemoryInfoError!VM_COUNTERS { |
| 3998 | var vmc: VM_COUNTERS = undefined; | 3998 | var vmc: VM_COUNTERS = undefined; |
| 3999 | const rc = ntdll.NtQueryInformationProcess(hProcess, .ProcessVmCounters, &vmc, @sizeOf(VM_COUNTERS), null); | 3999 | const rc = ntdll.NtQueryInformationProcess(hProcess, .ProcessVmCounters, &vmc, @sizeOf(VM_COUNTERS), null); |
| 4000 | switch (rc) { | 4000 | switch (rc) { |
| 4001 | .SUCCESS => { | 4001 | .SUCCESS => return vmc, |
| 4002 | out.* = PROCESS_MEMORY_COUNTERS{ | | |
| 4003 | .cb = @sizeOf(PROCESS_MEMORY_COUNTERS), | | |
| 4004 | .PageFaultCount = vmc.PageFaultCount, | | |
| 4005 | .PeakWorkingSetSize = vmc.PeakWorkingSetSize, | | |
| 4006 | .WorkingSetSize = vmc.WorkingSetSize, | | |
| 4007 | .QuotaPeakPagedPoolUsage = vmc.QuotaPeakPagedPoolUsage, | | |
| 4008 | .QuotaPagedPoolUsage = vmc.QuotaPagedPoolUsage, | | |
| 4009 | .QuotaPeakNonPagedPoolUsage = vmc.QuotaPeakNonPagedPoolUsage, | | |
| 4010 | .QuotaNonPagedPoolUsage = vmc.QuotaNonPagedPoolUsage, | | |
| 4011 | .PagefileUsage = vmc.PagefileUsage, | | |
| 4012 | .PeakPagefileUsage = vmc.PeakPagefileUsage, | | |
| 4013 | }; | | |
| 4014 | }, | | |
| 4015 | .ACCESS_DENIED => return error.AccessDenied, | 4002 | .ACCESS_DENIED => return error.AccessDenied, |
| 4016 | .INVALID_HANDLE => return error.InvalidHandle, | 4003 | .INVALID_HANDLE => return error.InvalidHandle, |
| 4017 | .INVALID_PARAMETER => unreachable, | 4004 | .INVALID_PARAMETER => unreachable, |