| author | |
| committer | |
| log | 9ffc13b6c40d1bcb1e01edac10b2fd6b775f093b |
| tree | 78b4d98752474996499ad4c4e6fc65f91a1fb53c |
| parent | ab46713fa6eb7603e604320b77a4d101d30a0998 |
Export both the "old-style" definitions from psapi and the "new-style"
ones from kernel32.6 files changed, 216 insertions(+), 7 deletions(-)
lib/libc/mingw/lib-common/psapi.def created+34| ... | @@ -0,0 +1,34 @@ | ||
| 1 | ; | ||
| 2 | ; Definition file of PSAPI.DLL | ||
| 3 | ; Automatic generated by gendef | ||
| 4 | ; written by Kai Tietz 2008 | ||
| 5 | ; | ||
| 6 | LIBRARY "PSAPI.DLL" | ||
| 7 | EXPORTS | ||
| 8 | EmptyWorkingSet | ||
| 9 | EnumDeviceDrivers | ||
| 10 | EnumPageFilesA | ||
| 11 | EnumPageFilesW | ||
| 12 | EnumProcessModules | ||
| 13 | EnumProcessModulesEx | ||
| 14 | EnumProcesses | ||
| 15 | GetDeviceDriverBaseNameA | ||
| 16 | GetDeviceDriverBaseNameW | ||
| 17 | GetDeviceDriverFileNameA | ||
| 18 | GetDeviceDriverFileNameW | ||
| 19 | GetMappedFileNameA | ||
| 20 | GetMappedFileNameW | ||
| 21 | GetModuleBaseNameA | ||
| 22 | GetModuleBaseNameW | ||
| 23 | GetModuleFileNameExA | ||
| 24 | GetModuleFileNameExW | ||
| 25 | GetModuleInformation | ||
| 26 | GetPerformanceInfo | ||
| 27 | GetProcessImageFileNameA | ||
| 28 | GetProcessImageFileNameW | ||
| 29 | GetProcessMemoryInfo | ||
| 30 | GetWsChanges | ||
| 31 | GetWsChangesEx | ||
| 32 | InitializeProcessForWsWatch | ||
| 33 | QueryWorkingSet | ||
| 34 | QueryWorkingSetEx | ||
lib/libc/mingw/lib32/psapi.def created+34| ... | @@ -0,0 +1,34 @@ | ||
| 1 | ; | ||
| 2 | ; Definition file of PSAPI.DLL | ||
| 3 | ; Automatic generated by gendef | ||
| 4 | ; written by Kai Tietz 2008 | ||
| 5 | ; | ||
| 6 | LIBRARY "PSAPI.DLL" | ||
| 7 | EXPORTS | ||
| 8 | EmptyWorkingSet@4 | ||
| 9 | EnumDeviceDrivers@12 | ||
| 10 | EnumPageFilesA@8 | ||
| 11 | EnumPageFilesW@8 | ||
| 12 | EnumProcessModules@16 | ||
| 13 | EnumProcessModulesEx@20 | ||
| 14 | EnumProcesses@12 | ||
| 15 | GetDeviceDriverBaseNameA@12 | ||
| 16 | GetDeviceDriverBaseNameW@12 | ||
| 17 | GetDeviceDriverFileNameA@12 | ||
| 18 | GetDeviceDriverFileNameW@12 | ||
| 19 | GetMappedFileNameA@16 | ||
| 20 | GetMappedFileNameW@16 | ||
| 21 | GetModuleBaseNameA@16 | ||
| 22 | GetModuleBaseNameW@16 | ||
| 23 | GetModuleFileNameExA@16 | ||
| 24 | GetModuleFileNameExW@16 | ||
| 25 | GetModuleInformation@16 | ||
| 26 | GetPerformanceInfo@8 | ||
| 27 | GetProcessImageFileNameA@12 | ||
| 28 | GetProcessImageFileNameW@12 | ||
| 29 | GetProcessMemoryInfo@12 | ||
| 30 | GetWsChanges@12 | ||
| 31 | GetWsChangesEx@12 | ||
| 32 | InitializeProcessForWsWatch@4 | ||
| 33 | QueryWorkingSet@12 | ||
| 34 | QueryWorkingSetEx@12 | ||
lib/std/os/windows.zig+1| ... | @@ -15,6 +15,7 @@ pub const advapi32 = @import("windows/advapi32.zig"); | ... | @@ -15,6 +15,7 @@ pub const advapi32 = @import("windows/advapi32.zig"); |
| 15 | pub const kernel32 = @import("windows/kernel32.zig"); | 15 | pub const kernel32 = @import("windows/kernel32.zig"); |
| 16 | pub const ntdll = @import("windows/ntdll.zig"); | 16 | pub const ntdll = @import("windows/ntdll.zig"); |
| 17 | pub const ole32 = @import("windows/ole32.zig"); | 17 | pub const ole32 = @import("windows/ole32.zig"); |
| 18 | pub const psapi = @import("windows/psapi.zig"); | ||
| 18 | pub const shell32 = @import("windows/shell32.zig"); | 19 | pub const shell32 = @import("windows/shell32.zig"); |
| 19 | pub const ws2_32 = @import("windows/ws2_32.zig"); | 20 | pub const ws2_32 = @import("windows/ws2_32.zig"); |
| 20 | 21 |
lib/std/os/windows/bits.zig+90-7| ... | @@ -929,9 +929,12 @@ pub usingnamespace switch (builtin.arch) { | ... | @@ -929,9 +929,12 @@ pub usingnamespace switch (builtin.arch) { |
| 929 | SegSs: DWORD, | 929 | SegSs: DWORD, |
| 930 | ExtendedRegisters: [512]BYTE, | 930 | ExtendedRegisters: [512]BYTE, |
| 931 | 931 | ||
| 932 | pub fn getRegs(ctx: *const CONTEXT) struct {bp: usize, ip: usize} { | 932 | pub fn getRegs(ctx: *const CONTEXT) struct { |
| 933 | return .{.bp = ctx.Ebp, .ip = ctx.Eip}; | 933 | bp: usize, |
| 934 | } | 934 | ip: usize, |
| 935 | } { | ||
| 936 | return .{ .bp = ctx.Ebp, .ip = ctx.Eip }; | ||
| 937 | } | ||
| 935 | }; | 938 | }; |
| 936 | 939 | ||
| 937 | pub const PCONTEXT = *CONTEXT; | 940 | pub const PCONTEXT = *CONTEXT; |
| ... | @@ -1032,8 +1035,11 @@ pub usingnamespace switch (builtin.arch) { | ... | @@ -1032,8 +1035,11 @@ pub usingnamespace switch (builtin.arch) { |
| 1032 | LastExceptionToRip: DWORD64, | 1035 | LastExceptionToRip: DWORD64, |
| 1033 | LastExceptionFromRip: DWORD64, | 1036 | LastExceptionFromRip: DWORD64, |
| 1034 | 1037 | ||
| 1035 | pub fn getRegs(ctx: *const CONTEXT) struct {bp: usize, ip: usize} { | 1038 | pub fn getRegs(ctx: *const CONTEXT) struct { |
| 1036 | return .{.bp = ctx.Rbp, .ip = ctx.Rip}; | 1039 | bp: usize, |
| 1040 | ip: usize, | ||
| 1041 | } { | ||
| 1042 | return .{ .bp = ctx.Rbp, .ip = ctx.Rip }; | ||
| 1037 | } | 1043 | } |
| 1038 | }; | 1044 | }; |
| 1039 | 1045 | ||
| ... | @@ -1100,8 +1106,11 @@ pub usingnamespace switch (builtin.arch) { | ... | @@ -1100,8 +1106,11 @@ pub usingnamespace switch (builtin.arch) { |
| 1100 | Wcr: [2]DWORD, | 1106 | Wcr: [2]DWORD, |
| 1101 | Wvr: [2]DWORD64, | 1107 | Wvr: [2]DWORD64, |
| 1102 | 1108 | ||
| 1103 | pub fn getRegs(ctx: *const CONTEXT) struct {bp: usize, ip: usize} { | 1109 | pub fn getRegs(ctx: *const CONTEXT) struct { |
| 1104 | return .{.bp = ctx.DUMMYUNIONNAME.DUMMYSTRUCTNAME.Fp, .ip = ctx.Pc}; | 1110 | bp: usize, |
| 1111 | ip: usize, | ||
| 1112 | } { | ||
| 1113 | return .{ .bp = ctx.DUMMYUNIONNAME.DUMMYSTRUCTNAME.Fp, .ip = ctx.Pc }; | ||
| 1105 | } | 1114 | } |
| 1106 | }; | 1115 | }; |
| 1107 | 1116 | ||
| ... | @@ -1237,3 +1246,77 @@ pub const CURDIR = extern struct { | ... | @@ -1237,3 +1246,77 @@ pub const CURDIR = extern struct { |
| 1237 | }; | 1246 | }; |
| 1238 | 1247 | ||
| 1239 | pub const DUPLICATE_SAME_ACCESS = 2; | 1248 | pub const DUPLICATE_SAME_ACCESS = 2; |
| 1249 | |||
| 1250 | pub const MODULEINFO = extern struct { | ||
| 1251 | lpBaseOfDll: LPVOID, | ||
| 1252 | SizeOfImage: DWORD, | ||
| 1253 | EntryPoint: LPVOID, | ||
| 1254 | }; | ||
| 1255 | pub const LPMODULEINFO = [*c]MODULEINFO; | ||
| 1256 | pub const PSAPI_WS_WATCH_INFORMATION = extern struct { | ||
| 1257 | FaultingPc: LPVOID, | ||
| 1258 | FaultingVa: LPVOID, | ||
| 1259 | }; | ||
| 1260 | pub const PPSAPI_WS_WATCH_INFORMATION = [*c]PSAPI_WS_WATCH_INFORMATION; | ||
| 1261 | pub const PROCESS_MEMORY_COUNTERS = extern struct { | ||
| 1262 | cb: DWORD, | ||
| 1263 | PageFaultCount: DWORD, | ||
| 1264 | PeakWorkingSetSize: SIZE_T, | ||
| 1265 | WorkingSetSize: SIZE_T, | ||
| 1266 | QuotaPeakPagedPoolUsage: SIZE_T, | ||
| 1267 | QuotaPagedPoolUsage: SIZE_T, | ||
| 1268 | QuotaPeakNonPagedPoolUsage: SIZE_T, | ||
| 1269 | QuotaNonPagedPoolUsage: SIZE_T, | ||
| 1270 | PagefileUsage: SIZE_T, | ||
| 1271 | PeakPagefileUsage: SIZE_T, | ||
| 1272 | }; | ||
| 1273 | pub const PPROCESS_MEMORY_COUNTERS = [*c]PROCESS_MEMORY_COUNTERS; | ||
| 1274 | pub const PROCESS_MEMORY_COUNTERS_EX = extern struct { | ||
| 1275 | cb: DWORD, | ||
| 1276 | PageFaultCount: DWORD, | ||
| 1277 | PeakWorkingSetSize: SIZE_T, | ||
| 1278 | WorkingSetSize: SIZE_T, | ||
| 1279 | QuotaPeakPagedPoolUsage: SIZE_T, | ||
| 1280 | QuotaPagedPoolUsage: SIZE_T, | ||
| 1281 | QuotaPeakNonPagedPoolUsage: SIZE_T, | ||
| 1282 | QuotaNonPagedPoolUsage: SIZE_T, | ||
| 1283 | PagefileUsage: SIZE_T, | ||
| 1284 | PeakPagefileUsage: SIZE_T, | ||
| 1285 | PrivateUsage: SIZE_T, | ||
| 1286 | }; | ||
| 1287 | pub const PPROCESS_MEMORY_COUNTERS_EX = [*c]PROCESS_MEMORY_COUNTERS_EX; | ||
| 1288 | pub const PERFORMANCE_INFORMATION = extern struct { | ||
| 1289 | cb: DWORD, | ||
| 1290 | CommitTotal: SIZE_T, | ||
| 1291 | CommitLimit: SIZE_T, | ||
| 1292 | CommitPeak: SIZE_T, | ||
| 1293 | PhysicalTotal: SIZE_T, | ||
| 1294 | PhysicalAvailable: SIZE_T, | ||
| 1295 | SystemCache: SIZE_T, | ||
| 1296 | KernelTotal: SIZE_T, | ||
| 1297 | KernelPaged: SIZE_T, | ||
| 1298 | KernelNonpaged: SIZE_T, | ||
| 1299 | PageSize: SIZE_T, | ||
| 1300 | HandleCount: DWORD, | ||
| 1301 | ProcessCount: DWORD, | ||
| 1302 | ThreadCount: DWORD, | ||
| 1303 | }; | ||
| 1304 | pub const PPERFORMANCE_INFORMATION = [*c]PERFORMANCE_INFORMATION; | ||
| 1305 | pub const PERFORMACE_INFORMATION = PERFORMANCE_INFORMATION; | ||
| 1306 | pub const PPERFORMACE_INFORMATION = [*c]PERFORMANCE_INFORMATION; | ||
| 1307 | pub const ENUM_PAGE_FILE_INFORMATION = extern struct { | ||
| 1308 | cb: DWORD, | ||
| 1309 | Reserved: DWORD, | ||
| 1310 | TotalSize: SIZE_T, | ||
| 1311 | TotalInUse: SIZE_T, | ||
| 1312 | PeakUsage: SIZE_T, | ||
| 1313 | }; | ||
| 1314 | pub const PENUM_PAGE_FILE_INFORMATION = [*c]ENUM_PAGE_FILE_INFORMATION; | ||
| 1315 | pub const PENUM_PAGE_FILE_CALLBACKW = ?fn (LPVOID, PENUM_PAGE_FILE_INFORMATION, LPCWSTR) callconv(.C) BOOL; | ||
| 1316 | pub const PENUM_PAGE_FILE_CALLBACKA = ?fn (LPVOID, PENUM_PAGE_FILE_INFORMATION, LPCSTR) callconv(.C) BOOL; | ||
| 1317 | pub const PSAPI_WS_WATCH_INFORMATION_EX = extern struct { | ||
| 1318 | BasicInfo: PSAPI_WS_WATCH_INFORMATION, | ||
| 1319 | FaultingThreadId: ULONG_PTR, | ||
| 1320 | Flags: ULONG_PTR, | ||
| 1321 | }; | ||
| 1322 | pub const PPSAPI_WS_WATCH_INFORMATION_EX = [*c]PSAPI_WS_WATCH_INFORMATION_EX; |
lib/std/os/windows/kernel32.zig+28| ... | @@ -246,3 +246,31 @@ pub extern "kernel32" fn LeaveCriticalSection(lpCriticalSection: *CRITICAL_SECTI | ... | @@ -246,3 +246,31 @@ pub extern "kernel32" fn LeaveCriticalSection(lpCriticalSection: *CRITICAL_SECTI |
| 246 | pub extern "kernel32" fn DeleteCriticalSection(lpCriticalSection: *CRITICAL_SECTION) callconv(.Stdcall) void; | 246 | pub extern "kernel32" fn DeleteCriticalSection(lpCriticalSection: *CRITICAL_SECTION) callconv(.Stdcall) void; |
| 247 | 247 | ||
| 248 | pub extern "kernel32" fn InitOnceExecuteOnce(InitOnce: *INIT_ONCE, InitFn: INIT_ONCE_FN, Parameter: ?*c_void, Context: ?*c_void) callconv(.Stdcall) BOOL; | 248 | pub extern "kernel32" fn InitOnceExecuteOnce(InitOnce: *INIT_ONCE, InitFn: INIT_ONCE_FN, Parameter: ?*c_void, Context: ?*c_void) callconv(.Stdcall) BOOL; |
| 249 | |||
| 250 | pub extern "kernel32" fn K32EmptyWorkingSet(hProcess: HANDLE) callconv(.Stdcall) BOOL; | ||
| 251 | pub extern "kernel32" fn K32EnumDeviceDrivers(lpImageBase: [*c]LPVOID, cb: DWORD, lpcbNeeded: LPDWORD) callconv(.Stdcall) BOOL; | ||
| 252 | pub extern "kernel32" fn K32EnumPageFilesA(pCallBackRoutine: PENUM_PAGE_FILE_CALLBACKA, pContext: LPVOID) callconv(.Stdcall) BOOL; | ||
| 253 | pub extern "kernel32" fn K32EnumPageFilesW(pCallBackRoutine: PENUM_PAGE_FILE_CALLBACKW, pContext: LPVOID) callconv(.Stdcall) BOOL; | ||
| 254 | pub extern "kernel32" fn K32EnumProcessModules(hProcess: HANDLE, lphModule: [*c]HMODULE, cb: DWORD, lpcbNeeded: LPDWORD) callconv(.Stdcall) BOOL; | ||
| 255 | pub extern "kernel32" fn K32EnumProcessModulesEx(hProcess: HANDLE, lphModule: [*c]HMODULE, cb: DWORD, lpcbNeeded: LPDWORD, dwFilterFlag: DWORD) callconv(.Stdcall) BOOL; | ||
| 256 | pub extern "kernel32" fn K32EnumProcesses(lpidProcess: [*c]DWORD, cb: DWORD, cbNeeded: [*c]DWORD) callconv(.Stdcall) BOOL; | ||
| 257 | pub extern "kernel32" fn K32GetDeviceDriverBaseNameA(ImageBase: LPVOID, lpBaseName: LPSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 258 | pub extern "kernel32" fn K32GetDeviceDriverBaseNameW(ImageBase: LPVOID, lpBaseName: LPWSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 259 | pub extern "kernel32" fn K32GetDeviceDriverFileNameA(ImageBase: LPVOID, lpFilename: LPSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 260 | pub extern "kernel32" fn K32GetDeviceDriverFileNameW(ImageBase: LPVOID, lpFilename: LPWSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 261 | pub extern "kernel32" fn K32GetMappedFileNameA(hProcess: HANDLE, lpv: LPVOID, lpFilename: LPSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 262 | pub extern "kernel32" fn K32GetMappedFileNameW(hProcess: HANDLE, lpv: LPVOID, lpFilename: LPWSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 263 | pub extern "kernel32" fn K32GetModuleBaseNameA(hProcess: HANDLE, hModule: HMODULE, lpBaseName: LPSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 264 | pub extern "kernel32" fn K32GetModuleBaseNameW(hProcess: HANDLE, hModule: HMODULE, lpBaseName: LPWSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 265 | pub extern "kernel32" fn K32GetModuleFileNameExA(hProcess: HANDLE, hModule: HMODULE, lpFilename: LPSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 266 | pub extern "kernel32" fn K32GetModuleFileNameExW(hProcess: HANDLE, hModule: HMODULE, lpFilename: LPWSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 267 | pub extern "kernel32" fn K32GetModuleInformation(hProcess: HANDLE, hModule: HMODULE, lpmodinfo: LPMODULEINFO, cb: DWORD) callconv(.Stdcall) BOOL; | ||
| 268 | pub extern "kernel32" fn K32GetPerformanceInfo(pPerformanceInformation: PPERFORMACE_INFORMATION, cb: DWORD) callconv(.Stdcall) BOOL; | ||
| 269 | pub extern "kernel32" fn K32GetProcessImageFileNameA(hProcess: HANDLE, lpImageFileName: LPSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 270 | pub extern "kernel32" fn K32GetProcessImageFileNameW(hProcess: HANDLE, lpImageFileName: LPWSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 271 | pub extern "kernel32" fn K32GetProcessMemoryInfo(Process: HANDLE, ppsmemCounters: PPROCESS_MEMORY_COUNTERS, cb: DWORD) callconv(.Stdcall) BOOL; | ||
| 272 | pub extern "kernel32" fn K32GetWsChanges(hProcess: HANDLE, lpWatchInfo: PPSAPI_WS_WATCH_INFORMATION, cb: DWORD) callconv(.Stdcall) BOOL; | ||
| 273 | pub extern "kernel32" fn K32GetWsChangesEx(hProcess: HANDLE, lpWatchInfoEx: PPSAPI_WS_WATCH_INFORMATION_EX, cb: DWORD) callconv(.Stdcall) BOOL; | ||
| 274 | pub extern "kernel32" fn K32InitializeProcessForWsWatch(hProcess: HANDLE) callconv(.Stdcall) BOOL; | ||
| 275 | pub extern "kernel32" fn K32QueryWorkingSet(hProcess: HANDLE, pv: PVOID, cb: DWORD) callconv(.Stdcall) BOOL; | ||
| 276 | pub extern "kernel32" fn K32QueryWorkingSetEx(hProcess: HANDLE, pv: PVOID, cb: DWORD) callconv(.Stdcall) BOOL; |
lib/std/os/windows/psapi.zig created+29| ... | @@ -0,0 +1,29 @@ | ||
| 1 | usingnamespace @import("bits.zig"); | ||
| 2 | |||
| 3 | pub extern "psapi" fn EmptyWorkingSet(hProcess: HANDLE) callconv(.Stdcall) BOOL; | ||
| 4 | pub extern "psapi" fn EnumDeviceDrivers(lpImageBase: [*c]LPVOID, cb: DWORD, lpcbNeeded: LPDWORD) callconv(.Stdcall) BOOL; | ||
| 5 | pub extern "psapi" fn EnumPageFilesA(pCallBackRoutine: PENUM_PAGE_FILE_CALLBACKA, pContext: LPVOID) callconv(.Stdcall) BOOL; | ||
| 6 | pub extern "psapi" fn EnumPageFilesW(pCallBackRoutine: PENUM_PAGE_FILE_CALLBACKW, pContext: LPVOID) callconv(.Stdcall) BOOL; | ||
| 7 | pub extern "psapi" fn EnumProcessModules(hProcess: HANDLE, lphModule: [*c]HMODULE, cb: DWORD, lpcbNeeded: LPDWORD) callconv(.Stdcall) BOOL; | ||
| 8 | pub extern "psapi" fn EnumProcessModulesEx(hProcess: HANDLE, lphModule: [*c]HMODULE, cb: DWORD, lpcbNeeded: LPDWORD, dwFilterFlag: DWORD) callconv(.Stdcall) BOOL; | ||
| 9 | pub extern "psapi" fn EnumProcesses(lpidProcess: [*c]DWORD, cb: DWORD, cbNeeded: [*c]DWORD) callconv(.Stdcall) BOOL; | ||
| 10 | pub extern "psapi" fn GetDeviceDriverBaseNameA(ImageBase: LPVOID, lpBaseName: LPSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 11 | pub extern "psapi" fn GetDeviceDriverBaseNameW(ImageBase: LPVOID, lpBaseName: LPWSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 12 | pub extern "psapi" fn GetDeviceDriverFileNameA(ImageBase: LPVOID, lpFilename: LPSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 13 | pub extern "psapi" fn GetDeviceDriverFileNameW(ImageBase: LPVOID, lpFilename: LPWSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 14 | pub extern "psapi" fn GetMappedFileNameA(hProcess: HANDLE, lpv: LPVOID, lpFilename: LPSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 15 | pub extern "psapi" fn GetMappedFileNameW(hProcess: HANDLE, lpv: LPVOID, lpFilename: LPWSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 16 | pub extern "psapi" fn GetModuleBaseNameA(hProcess: HANDLE, hModule: HMODULE, lpBaseName: LPSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 17 | pub extern "psapi" fn GetModuleBaseNameW(hProcess: HANDLE, hModule: HMODULE, lpBaseName: LPWSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 18 | pub extern "psapi" fn GetModuleFileNameExA(hProcess: HANDLE, hModule: HMODULE, lpFilename: LPSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 19 | pub extern "psapi" fn GetModuleFileNameExW(hProcess: HANDLE, hModule: HMODULE, lpFilename: LPWSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 20 | pub extern "psapi" fn GetModuleInformation(hProcess: HANDLE, hModule: HMODULE, lpmodinfo: LPMODULEINFO, cb: DWORD) callconv(.Stdcall) BOOL; | ||
| 21 | pub extern "psapi" fn GetPerformanceInfo(pPerformanceInformation: PPERFORMACE_INFORMATION, cb: DWORD) callconv(.Stdcall) BOOL; | ||
| 22 | pub extern "psapi" fn GetProcessImageFileNameA(hProcess: HANDLE, lpImageFileName: LPSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 23 | pub extern "psapi" fn GetProcessImageFileNameW(hProcess: HANDLE, lpImageFileName: LPWSTR, nSize: DWORD) callconv(.Stdcall) DWORD; | ||
| 24 | pub extern "psapi" fn GetProcessMemoryInfo(Process: HANDLE, ppsmemCounters: PPROCESS_MEMORY_COUNTERS, cb: DWORD) callconv(.Stdcall) BOOL; | ||
| 25 | pub extern "psapi" fn GetWsChanges(hProcess: HANDLE, lpWatchInfo: PPSAPI_WS_WATCH_INFORMATION, cb: DWORD) callconv(.Stdcall) BOOL; | ||
| 26 | pub extern "psapi" fn GetWsChangesEx(hProcess: HANDLE, lpWatchInfoEx: PPSAPI_WS_WATCH_INFORMATION_EX, cb: DWORD) callconv(.Stdcall) BOOL; | ||
| 27 | pub extern "psapi" fn InitializeProcessForWsWatch(hProcess: HANDLE) callconv(.Stdcall) BOOL; | ||
| 28 | pub extern "psapi" fn QueryWorkingSet(hProcess: HANDLE, pv: PVOID, cb: DWORD) callconv(.Stdcall) BOOL; | ||
| 29 | pub extern "psapi" fn QueryWorkingSetEx(hProcess: HANDLE, pv: PVOID, cb: DWORD) callconv(.Stdcall) BOOL; | ||