2 psapi.h - Include file for PSAPI.DLL APIs
4 Written by Mumit Khan <khan@nanotech.wisc.edu>
6 This file is part of a free library for the Win32 API.
8 NOTE: This strictly does not belong in the Win32 API since it's
9 really part of Platform SDK. However,GDB needs it and we might
10 as well provide it here.
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20 #pragma GCC system_header
29 typedef struct _MODULEINFO
{
33 } MODULEINFO
,*LPMODULEINFO
;
35 typedef struct _PSAPI_WS_WATCH_INFORMATION
{
38 } PSAPI_WS_WATCH_INFORMATION
,*PPSAPI_WS_WATCH_INFORMATION
;
40 typedef struct _PROCESS_MEMORY_COUNTERS
{
43 DWORD PeakWorkingSetSize
;
45 DWORD QuotaPeakPagedPoolUsage
;
46 DWORD QuotaPagedPoolUsage
;
47 DWORD QuotaPeakNonPagedPoolUsage
;
48 DWORD QuotaNonPagedPoolUsage
;
50 DWORD PeakPagefileUsage
;
51 } PROCESS_MEMORY_COUNTERS
,*PPROCESS_MEMORY_COUNTERS
;
53 typedef struct _PERFORMANCE_INFORMATION
{
59 SIZE_T PhysicalAvailable
;
63 SIZE_T KernelNonpaged
;
68 } PERFORMANCE_INFORMATION
, *PPERFORMANCE_INFORMATION
;
70 typedef struct _ENUM_PAGE_FILE_INFORMATION
{
76 } ENUM_PAGE_FILE_INFORMATION
, *PENUM_PAGE_FILE_INFORMATION
;
78 typedef BOOL (*PENUM_PAGE_FILE_CALLBACKA
)(LPVOID
, PENUM_PAGE_FILE_INFORMATION
, LPCSTR
);
79 typedef BOOL (*PENUM_PAGE_FILE_CALLBACKW
)(LPVOID
, PENUM_PAGE_FILE_INFORMATION
, LPCWSTR
);
81 /* Grouped by application,not in alphabetical order. */
82 BOOL WINAPI
EnumProcesses(DWORD
*,DWORD
,DWORD
*);
83 BOOL WINAPI
EnumProcessModules(HANDLE
,HMODULE
*,DWORD
,LPDWORD
);
84 BOOL WINAPI
EnumPageFilesA(PENUM_PAGE_FILE_CALLBACKA
,LPVOID
);
85 BOOL WINAPI
EnumPageFilesW(PENUM_PAGE_FILE_CALLBACKW
,LPVOID
);
86 DWORD WINAPI
GetModuleBaseNameA(HANDLE
,HMODULE
,LPSTR
,DWORD
);
87 DWORD WINAPI
GetModuleBaseNameW(HANDLE
,HMODULE
,LPWSTR
,DWORD
);
88 DWORD WINAPI
GetModuleFileNameExA(HANDLE
,HMODULE
,LPSTR
,DWORD
);
89 DWORD WINAPI
GetModuleFileNameExW(HANDLE
,HMODULE
,LPWSTR
,DWORD
);
90 BOOL WINAPI
GetModuleInformation(HANDLE
,HMODULE
,LPMODULEINFO
,DWORD
);
91 BOOL WINAPI
EmptyWorkingSet(HANDLE
);
92 BOOL WINAPI
QueryWorkingSet(HANDLE
,PVOID
,DWORD
);
93 BOOL WINAPI
InitializeProcessForWsWatch(HANDLE
);
94 BOOL WINAPI
GetWsChanges(HANDLE
,PPSAPI_WS_WATCH_INFORMATION
,DWORD
);
95 DWORD WINAPI
GetMappedFileNameW(HANDLE
,LPVOID
,LPWSTR
,DWORD
);
96 DWORD WINAPI
GetMappedFileNameA(HANDLE
,LPVOID
,LPSTR
,DWORD
);
97 BOOL WINAPI
EnumDeviceDrivers(LPVOID
*,DWORD
,LPDWORD
);
98 DWORD WINAPI
GetDeviceDriverBaseNameA(LPVOID
,LPSTR
,DWORD
);
99 DWORD WINAPI
GetDeviceDriverBaseNameW(LPVOID
,LPWSTR
,DWORD
);
100 DWORD WINAPI
GetDeviceDriverFileNameA(LPVOID
,LPSTR
,DWORD
);
101 DWORD WINAPI
GetDeviceDriverFileNameW(LPVOID
,LPWSTR
,DWORD
);
102 BOOL WINAPI
GetProcessMemoryInfo(HANDLE
,PPROCESS_MEMORY_COUNTERS
,DWORD
);
103 BOOL WINAPI
GetPerformanceInfo(PPERFORMANCE_INFORMATION
,DWORD
);
104 DWORD WINAPI
GetProcessImageFileNameW(HANDLE
,LPWSTR
,DWORD
);
105 DWORD WINAPI
GetProcessImageFileNameA(HANDLE
,LPSTR
,DWORD
);
107 #endif /* not RC_INVOKED */
110 #define PENUM_PAGE_FILE_CALLBACK PENUM_PAGE_FILE_CALLBACKW
111 #define EnumPageFiles EnumPageFilesW
112 #define GetModuleBaseName GetModuleBaseNameW
113 #define GetModuleFileNameEx GetModuleFileNameExW
114 #define GetMappedFilenameEx GetMappedFilenameExW
115 #define GetDeviceDriverBaseName GetDeviceDriverBaseNameW
116 #define GetDeviceDriverFileName GetDeviceDriverFileNameW
117 #define GetProcessImageFileName GetProcessImageFileNameW
119 #define PENUM_PAGE_FILE_CALLBACK PENUM_PAGE_FILE_CALLBACKA
120 #define EnumPageFiles EnumPageFilesA
121 #define GetModuleBaseName GetModuleBaseNameA
122 #define GetModuleFileNameEx GetModuleFileNameExA
123 #define GetMappedFilenameEx GetMappedFilenameExA
124 #define GetDeviceDriverBaseName GetDeviceDriverBaseNameA
125 #define GetDeviceDriverFileName GetDeviceDriverFileNameA
126 #define GetProcessImageFileName GetProcessImageFileNameA
133 #endif /* _PSAPI_H */