12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package winapi
- import "golang.org/x/sys/windows"
- const SystemProcessInformation = 5
- const STATUS_INFO_LENGTH_MISMATCH = 0xC0000004
- // __kernel_entry NTSTATUS NtQuerySystemInformation(
- // SYSTEM_INFORMATION_CLASS SystemInformationClass,
- // PVOID SystemInformation,
- // ULONG SystemInformationLength,
- // PULONG ReturnLength
- // );
- //sys NtQuerySystemInformation(systemInfoClass int, systemInformation uintptr, systemInfoLength uint32, returnLength *uint32) (status uint32) = ntdll.NtQuerySystemInformation
- type SYSTEM_PROCESS_INFORMATION struct {
- NextEntryOffset uint32 // ULONG
- NumberOfThreads uint32 // ULONG
- WorkingSetPrivateSize int64 // LARGE_INTEGER
- HardFaultCount uint32 // ULONG
- NumberOfThreadsHighWatermark uint32 // ULONG
- CycleTime uint64 // ULONGLONG
- CreateTime int64 // LARGE_INTEGER
- UserTime int64 // LARGE_INTEGER
- KernelTime int64 // LARGE_INTEGER
- ImageName UnicodeString // UNICODE_STRING
- BasePriority int32 // KPRIORITY
- UniqueProcessID windows.Handle // HANDLE
- InheritedFromUniqueProcessID windows.Handle // HANDLE
- HandleCount uint32 // ULONG
- SessionID uint32 // ULONG
- UniqueProcessKey *uint32 // ULONG_PTR
- PeakVirtualSize uintptr // SIZE_T
- VirtualSize uintptr // SIZE_T
- PageFaultCount uint32 // ULONG
- PeakWorkingSetSize uintptr // SIZE_T
- WorkingSetSize uintptr // SIZE_T
- QuotaPeakPagedPoolUsage uintptr // SIZE_T
- QuotaPagedPoolUsage uintptr // SIZE_T
- QuotaPeakNonPagedPoolUsage uintptr // SIZE_T
- QuotaNonPagedPoolUsage uintptr // SIZE_T
- PagefileUsage uintptr // SIZE_T
- PeakPagefileUsage uintptr // SIZE_T
- PrivatePageCount uintptr // SIZE_T
- ReadOperationCount int64 // LARGE_INTEGER
- WriteOperationCount int64 // LARGE_INTEGER
- OtherOperationCount int64 // LARGE_INTEGER
- ReadTransferCount int64 // LARGE_INTEGER
- WriteTransferCount int64 // LARGE_INTEGER
- OtherTransferCount int64 // LARGE_INTEGER
- }
|