[96] | 1 | #ifndef _INC_PSAPI_
|
---|
| 2 | #define _INC_PSAPI_
|
---|
[1] | 3 |
|
---|
[96] | 4 | Declare Function EnumProcesses Lib "psapi" (lpidProcess As *DWord, cb As DWord, ByRef cbNeeded As DWord) As BOOL
|
---|
| 5 | Declare Function EnumProcessModules Lib "psapi" (hProcess As HANDLE, lphModule As *HANDLE, cb As DWord, ByRef lpcbNeeded As DWord) As BOOL
|
---|
| 6 | Declare Function GetModuleBaseName Lib "psapi" Alias "GetModuleBaseNameA" (hProcess As HANDLE, hModule As HANDLE, lpBaseName As LPSTR, nSize As DWord) As DWORD
|
---|
| 7 | Declare Function GetModuleFileNameEx Lib "psapi" Alias "GetModuleFileNameExA" (hProcess As HANDLE, hModule As HANDLE, lpFilename As LPSTR, nSize As DWord) As DWORD
|
---|
[1] | 8 |
|
---|
[96] | 9 | Type MODULEINFO
|
---|
| 10 | lpBaseOfDll As VoidPtr
|
---|
| 11 | SizeOfImage As DWORD
|
---|
| 12 | EntryPoint As VoidPtr
|
---|
| 13 | End Type
|
---|
| 14 | TypeDef LPMODULEINFO = *MODULEINFO
|
---|
[1] | 15 |
|
---|
[96] | 16 | Declare Function GetModuleInformation Lib "psapi" (hProcess As HANDLE, hModule As HANDLE, lpmodinfo As LPMODULEINFO, cb As DWord) As BOOL
|
---|
| 17 | Declare Function EmptyWorkingSet Lib "psapi" (hProcess As HANDLE) As BOOL
|
---|
| 18 | Declare Function QueryWorkingSet Lib "psapi" (hProcess As HANDLE, pv As VoidPtr, cb As DWord) As BOOL
|
---|
| 19 | Declare Function QueryWorkingSetEx Lib "psapi" (hProcess As HANDLE, pv As VoidPtr, cb As DWord) As BOOL
|
---|
| 20 | Declare Function InitializeProcessForWsWatch Lib "psapi" (hProcess As HANDLE) As BOOL
|
---|
[1] | 21 |
|
---|
[96] | 22 | Type PSAPI_WS_WATCH_INFORMATION
|
---|
| 23 | FaultingPc As VoidPtr
|
---|
| 24 | FaultingVa As VoidPtr
|
---|
| 25 | End Type
|
---|
| 26 | TypeDef PPSAPI_WS_WATCH_INFORMATION = *PSAPI_WS_WATCH_INFORMATION
|
---|
[1] | 27 |
|
---|
[96] | 28 | Declare Function GetWsChanges Lib "psapi" (hProcess As HANDLE, lpWatchInfo As PPSAPI_WS_WATCH_INFORMATION, cb As DWord) As BOOL
|
---|
| 29 | Declare Function GetMappedFileName Lib "psapi" Alias "GetMappedFileNameA" (hProcess As HANDLE, lpv As VoidPtr, lpFilename As LPSTR, nSize As DWord) As DWORD
|
---|
| 30 | Declare Function EnumDeviceDrivers Lib "psapi" (ByRef lpImageBase As VoidPtr, cb As DWord, ByRef lpcbNeeded As DWord) As BOOL
|
---|
| 31 | Declare Function GetDeviceDriverBaseName Lib "psapi" Alias "GetDeviceDriverBaseNameA" (ImageBase As VoidPtr, lpBaseName As LPSTR, nSize As DWord) As DWORD
|
---|
| 32 | Declare Function GetDeviceDriverFileName Lib "psapi" Alias "GetDeviceDriverFileNamA" (ImageBase As VoidPtr, lpFilename As LPSTR, nSize As DWord) As DWORD
|
---|
[1] | 33 |
|
---|
[96] | 34 | ' Structure for GetProcessMemoryInfo()
|
---|
| 35 | Type PROCESS_MEMORY_COUNTERS
|
---|
| 36 | cb As DWORD
|
---|
| 37 | PageFaultCount As DWORD
|
---|
| 38 | PeakWorkingSetSize As SIZE_T
|
---|
| 39 | WorkingSetSize As SIZE_T
|
---|
| 40 | QuotaPeakPagedPoolUsage As SIZE_T
|
---|
| 41 | QuotaPagedPoolUsage As SIZE_T
|
---|
| 42 | QuotaPeakNonPagedPoolUsage As SIZE_T
|
---|
| 43 | QuotaNonPagedPoolUsage As SIZE_T
|
---|
| 44 | PagefileUsage As SIZE_T
|
---|
| 45 | PeakPagefileUsage As SIZE_T
|
---|
| 46 | End Type
|
---|
| 47 |
|
---|
| 48 | TypeDef PPROCESS_MEMORY_COUNTERS = *PROCESS_MEMORY_COUNTERS
|
---|
| 49 |
|
---|
| 50 | #ifdef _WIN32_WINNT
|
---|
| 51 | Type PROCESS_MEMORY_COUNTERS_EX
|
---|
| 52 | cb As DWORD
|
---|
| 53 | PageFaultCount As DWORD
|
---|
| 54 | PeakWorkingSetSize As SIZE_T
|
---|
| 55 | WorkingSetSize As SIZE_T
|
---|
| 56 | QuotaPeakPagedPoolUsage As SIZE_T
|
---|
| 57 | QuotaPagedPoolUsage As SIZE_T
|
---|
| 58 | QuotaPeakNonPagedPoolUsage As SIZE_T
|
---|
| 59 | QuotaNonPagedPoolUsage As SIZE_T
|
---|
| 60 | PagefileUsage As SIZE_T
|
---|
| 61 | PeakPagefileUsage As SIZE_T
|
---|
| 62 | PrivateUsage As SIZE_T
|
---|
| 63 | End Type
|
---|
| 64 | TypeDef PPROCESS_MEMORY_COUNTERS_EX = *PROCESS_MEMORY_COUNTERS_EX
|
---|
| 65 | #endif
|
---|
| 66 |
|
---|
| 67 | Declare Function GetProcessMemoryInfo Lib "psapi" (Process As HANDLE, ppsmemCounters As PPROCESS_MEMORY_COUNTERS, cb As DWord)
|
---|
| 68 |
|
---|
| 69 | Type PERFORMANCE_INFORMATION
|
---|
| 70 | cb As DWORD
|
---|
| 71 | CommitTotal As SIZE_T
|
---|
| 72 | CommitLimit As SIZE_T
|
---|
| 73 | CommitPeak As SIZE_T
|
---|
| 74 | PhysicalTotal As SIZE_T
|
---|
| 75 | PhysicalAvailable As SIZE_T
|
---|
| 76 | SystemCache As SIZE_T
|
---|
| 77 | KernelTotal As SIZE_T
|
---|
| 78 | KernelPaged As SIZE_T
|
---|
| 79 | KernelNonpaged As SIZE_T
|
---|
| 80 | PageSize As SIZE_T
|
---|
| 81 | HandleCount As DWORD
|
---|
| 82 | ProcessCount As DWORD
|
---|
| 83 | ThreadCount As DWORD
|
---|
| 84 | End Type
|
---|
| 85 | TypeDef PPERFORMANCE_INFORMATION = *PERFORMANCE_INFORMATION
|
---|
| 86 | TypeDef PERFORMACE_INFORMATION = PERFORMANCE_INFORMATION
|
---|
| 87 | TypeDef PPERFORMACE_INFORMATION = *PERFORMANCE_INFORMATION
|
---|
| 88 |
|
---|
| 89 | Declare Function GetPerformanceInfo Lib "psapi" (pPerformanceInformation As PPERFORMACE_INFORMATION, cb As DWord)
|
---|
| 90 |
|
---|
| 91 | Type ENUM_PAGE_FILE_INFORMATION
|
---|
| 92 | cb As DWORD
|
---|
| 93 | Reserved As DWORD
|
---|
| 94 | TotalSize As SIZE_T
|
---|
| 95 | TotalInUse As SIZE_T
|
---|
| 96 | PeakUsage As SIZE_T
|
---|
| 97 | End Type
|
---|
| 98 | TypeDef PENUM_PAGE_FILE_INFORMATION = *ENUM_PAGE_FILE_INFORMATION
|
---|
| 99 |
|
---|
| 100 | TypeDef PENUM_PAGE_FILE_CALLBACKW = *Function(pContext As VoidPtr, pPageFileInfo As PENUM_PAGE_FILE_INFORMATION, lpFilename As LPCWSTR) As BOOL
|
---|
| 101 | TypeDef PENUM_PAGE_FILE_CALLBACKA = *Function(pContext As VoidPtr, pPageFileInfo As PENUM_PAGE_FILE_INFORMATION, lpFilename As LPCSTR) As BOOL
|
---|
| 102 |
|
---|
| 103 | Declare Function EnumPageFiles Lib "psapi" Alias "EnumPageFilesA" (pCallBackRoutine As PENUM_PAGE_FILE_CALLBACKA, pContext As VoidPtr) As BOOL
|
---|
| 104 | Declare Function GetProcessImageFileName Lib "psapi" Alias "GetProcessImageFileNameA" (hProcess As HANDLE, lpImageFileName As LPSTR, nSize As DWord) As DWORD
|
---|
| 105 |
|
---|
[1] | 106 | #endif '_INC_PSAPI
|
---|