1#![cfg(windows)]
5extern crate winapi;
6use winapi::*;
7extern "system" {
8 pub fn EmptyWorkingSet(hProcess: HANDLE) -> BOOL;
9 pub fn EnumDeviceDrivers(lpImageBase: *mut LPVOID, cb: DWORD, lpcbNeeded: LPDWORD) -> BOOL;
10 pub fn EnumPageFilesA(pCallBackRoutine: PENUM_PAGE_FILE_CALLBACKA, pContext: LPVOID) -> BOOL;
11 pub fn EnumPageFilesW(pCallBackRoutine: PENUM_PAGE_FILE_CALLBACKW, pContext: LPVOID) -> BOOL;
12 pub fn EnumProcessModules(
13 hProcess: HANDLE, lphModule: *mut HMODULE, cb: DWORD, lpcbNeeded: LPDWORD,
14 ) -> BOOL;
15 pub fn EnumProcessModulesEx(
16 hProcess: HANDLE, lphModule: *mut HMODULE, cb: DWORD, lpcbNeeded: LPDWORD,
17 dwFilterFlag: DWORD,
18 ) -> BOOL;
19 pub fn EnumProcesses(lpidProcess: *mut DWORD, cb: DWORD, lpcbNeeded: LPDWORD) -> BOOL;
20 pub fn GetDeviceDriverBaseNameA(ImageBase: LPVOID, lpFilename: LPSTR, nSize: DWORD) -> DWORD;
21 pub fn GetDeviceDriverBaseNameW(ImageBase: LPVOID, lpFilename: LPWSTR, nSize: DWORD) -> DWORD;
22 pub fn GetDeviceDriverFileNameA(ImageBase: LPVOID, lpFilename: LPSTR, nSize: DWORD) -> DWORD;
23 pub fn GetDeviceDriverFileNameW(ImageBase: LPVOID, lpFilename: LPWSTR, nSize: DWORD) -> DWORD;
24 pub fn GetMappedFileNameA(
25 hProcess: HANDLE, lpv: LPVOID, lpFilename: LPSTR, nSize: DWORD,
26 ) -> DWORD;
27 pub fn GetMappedFileNameW(
28 hProcess: HANDLE, lpv: LPVOID, lpFilename: LPWSTR, nSize: DWORD,
29 ) -> DWORD;
30 pub fn GetModuleBaseNameA(
31 hProcess: HANDLE, hModule: HMODULE, lpBaseName: LPSTR, nSize: DWORD,
32 ) -> DWORD;
33 pub fn GetModuleBaseNameW(
34 hProcess: HANDLE, hModule: HMODULE, lpBaseName: LPWSTR, nSize: DWORD,
35 ) -> DWORD;
36 pub fn GetModuleFileNameExA(
37 hProcess: HANDLE, hModule: HMODULE, lpFilename: LPSTR, nSize: DWORD,
38 ) -> DWORD;
39 pub fn GetModuleFileNameExW(
40 hProcess: HANDLE, hModule: HMODULE, lpFilename: LPWSTR, nSize: DWORD,
41 ) -> DWORD;
42 pub fn GetModuleInformation(
43 hProcess: HANDLE, hModule: HMODULE, lpmodinfo: LPMODULEINFO, cb: DWORD,
44 ) -> BOOL;
45 pub fn GetPerformanceInfo(pPerformanceInformation: PPERFORMANCE_INFORMATION, cb: DWORD) -> BOOL;
46 pub fn GetProcessImageFileNameA(
47 hProcess: HANDLE, lpImageFileName: LPSTR, nSize: DWORD,
48 ) -> DWORD;
49 pub fn GetProcessImageFileNameW(
50 hProcess: HANDLE, lpImageFileName: LPWSTR, nSize: DWORD,
51 ) -> DWORD;
52 pub fn GetProcessMemoryInfo(
53 hProcess: HANDLE, ppsmemCounters: PPROCESS_MEMORY_COUNTERS, cb: DWORD,
54 ) -> BOOL;
55 pub fn GetWsChanges(
56 hProcess: HANDLE, lpWatchInfo: PPSAPI_WS_WATCH_INFORMATION, cb: DWORD,
57 ) -> BOOL;
58 pub fn GetWsChangesEx(
59 hProcess: HANDLE, lpWatchInfoEx: PPSAPI_WS_WATCH_INFORMATION_EX, cb: PDWORD,
60 ) -> BOOL;
61 pub fn InitializeProcessForWsWatch(hProcess: HANDLE) -> BOOL;
62 pub fn QueryWorkingSet(hProcess: HANDLE, pv: PVOID, cb: DWORD) -> BOOL;
63 pub fn QueryWorkingSetEx(hProcess: HANDLE, pv: PVOID, cb: DWORD) -> BOOL;
64}