| package winapi | |
| const PROCESS_ALL_ACCESS uint32 = 2097151 | |
| const ( | |
| PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE = 0x20016 | |
| PROC_THREAD_ATTRIBUTE_JOB_LIST = 0x2000D | |
| ) | |
| // ProcessVmCounters corresponds to the _VM_COUNTERS_EX and _VM_COUNTERS_EX2 structures. | |
| const ProcessVmCounters = 3 | |
| // __kernel_entry NTSTATUS NtQueryInformationProcess( | |
| // [in] HANDLE ProcessHandle, | |
| // [in] PROCESSINFOCLASS ProcessInformationClass, | |
| // [out] PVOID ProcessInformation, | |
| // [in] ULONG ProcessInformationLength, | |
| // [out, optional] PULONG ReturnLength | |
| // ); | |
| // | |
| //sys NtQueryInformationProcess(processHandle windows.Handle, processInfoClass uint32, processInfo unsafe.Pointer, processInfoLength uint32, returnLength *uint32) (status uint32) = ntdll.NtQueryInformationProcess | |
| // typedef struct _VM_COUNTERS_EX { | |
| // SIZE_T PeakVirtualSize; | |
| // SIZE_T VirtualSize; | |
| // ULONG PageFaultCount; | |
| // SIZE_T PeakWorkingSetSize; | |
| // SIZE_T WorkingSetSize; | |
| // SIZE_T QuotaPeakPagedPoolUsage; | |
| // SIZE_T QuotaPagedPoolUsage; | |
| // SIZE_T QuotaPeakNonPagedPoolUsage; | |
| // SIZE_T QuotaNonPagedPoolUsage; | |
| // SIZE_T PagefileUsage; | |
| // SIZE_T PeakPagefileUsage; | |
| // SIZE_T PrivateUsage; | |
| // } VM_COUNTERS_EX, *PVM_COUNTERS_EX; | |
| type VM_COUNTERS_EX struct { | |
| PeakVirtualSize uintptr | |
| VirtualSize uintptr | |
| PageFaultCount uint32 | |
| PeakWorkingSetSize uintptr | |
| WorkingSetSize uintptr | |
| QuotaPeakPagedPoolUsage uintptr | |
| QuotaPagedPoolUsage uintptr | |
| QuotaPeakNonPagedPoolUsage uintptr | |
| QuotaNonPagedPoolUsage uintptr | |
| PagefileUsage uintptr | |
| PeakPagefileUsage uintptr | |
| PrivateUsage uintptr | |
| } | |
| // typedef struct _VM_COUNTERS_EX2 { | |
| // VM_COUNTERS_EX CountersEx; | |
| // SIZE_T PrivateWorkingSetSize; | |
| // SIZE_T SharedCommitUsage; | |
| // } VM_COUNTERS_EX2, *PVM_COUNTERS_EX2; | |
| type VM_COUNTERS_EX2 struct { | |
| CountersEx VM_COUNTERS_EX | |
| PrivateWorkingSetSize uintptr | |
| SharedCommitUsage uintptr | |
| } |