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.
26 typedef struct _MODULEINFO
{
30 } MODULEINFO
,*LPMODULEINFO
;
32 typedef struct _PSAPI_WS_WATCH_INFORMATION
{
35 } PSAPI_WS_WATCH_INFORMATION
,*PPSAPI_WS_WATCH_INFORMATION
;
37 typedef struct _PROCESS_MEMORY_COUNTERS
{
40 DWORD PeakWorkingSetSize
;
42 DWORD QuotaPeakPagedPoolUsage
;
43 DWORD QuotaPagedPoolUsage
;
44 DWORD QuotaPeakNonPagedPoolUsage
;
45 DWORD QuotaNonPagedPoolUsage
;
47 DWORD PeakPagefileUsage
;
48 } PROCESS_MEMORY_COUNTERS
,*PPROCESS_MEMORY_COUNTERS
;
50 typedef struct _PERFORMANCE_INFORMATION
{
56 SIZE_T PhysicalAvailable
;
60 SIZE_T KernelNonpaged
;
65 } PERFORMANCE_INFORMATION
, *PPERFORMANCE_INFORMATION
;
67 typedef struct _ENUM_PAGE_FILE_INFORMATION
{
73 } ENUM_PAGE_FILE_INFORMATION
, *PENUM_PAGE_FILE_INFORMATION
;
75 typedef BOOL (*PENUM_PAGE_FILE_CALLBACKA
)(LPVOID
, PENUM_PAGE_FILE_INFORMATION
, LPCSTR
);
76 typedef BOOL (*PENUM_PAGE_FILE_CALLBACKW
)(LPVOID
, PENUM_PAGE_FILE_INFORMATION
, LPCWSTR
);
78 /* Grouped by application,not in alphabetical order. */
79 BOOL WINAPI
EnumProcesses(DWORD
*,DWORD
,DWORD
*);
80 BOOL WINAPI
EnumProcessModules(HANDLE
,HMODULE
*,DWORD
,LPDWORD
);
81 BOOL WINAPI
EnumPageFilesA(PENUM_PAGE_FILE_CALLBACKA
,LPVOID
);
82 BOOL WINAPI
EnumPageFilesW(PENUM_PAGE_FILE_CALLBACKW
,LPVOID
);
83 DWORD WINAPI
GetModuleBaseNameA(HANDLE
,HMODULE
,LPSTR
,DWORD
);
84 DWORD WINAPI
GetModuleBaseNameW(HANDLE
,HMODULE
,LPWSTR
,DWORD
);
85 DWORD WINAPI
GetModuleFileNameExA(HANDLE
,HMODULE
,LPSTR
,DWORD
);
86 DWORD WINAPI
GetModuleFileNameExW(HANDLE
,HMODULE
,LPWSTR
,DWORD
);
87 BOOL WINAPI
GetModuleInformation(HANDLE
,HMODULE
,LPMODULEINFO
,DWORD
);
88 BOOL WINAPI
EmptyWorkingSet(HANDLE
);
89 BOOL WINAPI
QueryWorkingSet(HANDLE
,PVOID
,DWORD
);
90 BOOL WINAPI
InitializeProcessForWsWatch(HANDLE
);
91 BOOL WINAPI
GetWsChanges(HANDLE
,PPSAPI_WS_WATCH_INFORMATION
,DWORD
);
92 DWORD WINAPI
GetMappedFileNameW(HANDLE
,LPVOID
,LPWSTR
,DWORD
);
93 DWORD WINAPI
GetMappedFileNameA(HANDLE
,LPVOID
,LPSTR
,DWORD
);
94 BOOL WINAPI
EnumDeviceDrivers(LPVOID
*,DWORD
,LPDWORD
);
95 DWORD WINAPI
GetDeviceDriverBaseNameA(LPVOID
,LPSTR
,DWORD
);
96 DWORD WINAPI
GetDeviceDriverBaseNameW(LPVOID
,LPWSTR
,DWORD
);
97 DWORD WINAPI
GetDeviceDriverFileNameA(LPVOID
,LPSTR
,DWORD
);
98 DWORD WINAPI
GetDeviceDriverFileNameW(LPVOID
,LPWSTR
,DWORD
);
99 BOOL WINAPI
GetProcessMemoryInfo(HANDLE
,PPROCESS_MEMORY_COUNTERS
,DWORD
);
100 BOOL WINAPI
GetPerformanceInfo(PPERFORMANCE_INFORMATION
,DWORD
);
101 DWORD WINAPI
GetProcessImageFileNameW(HANDLE
,LPWSTR
,DWORD
);
102 DWORD WINAPI
GetProcessImageFileNameA(HANDLE
,LPSTR
,DWORD
);
104 #endif /* not RC_INVOKED */
107 #define PENUM_PAGE_FILE_CALLBACK PENUM_PAGE_FILE_CALLBACKW
108 #define EnumPageFiles EnumPageFilesW
109 #define GetModuleBaseName GetModuleBaseNameW
110 #define GetModuleFileNameEx GetModuleFileNameExW
111 #define GetMappedFilenameEx GetMappedFilenameExW
112 #define GetDeviceDriverBaseName GetDeviceDriverBaseNameW
113 #define GetDeviceDriverFileName GetDeviceDriverFileNameW
114 #define GetProcessImageFileName GetProcessImageFileNameW
116 #define PENUM_PAGE_FILE_CALLBACK PENUM_PAGE_FILE_CALLBACKA
117 #define EnumPageFiles EnumPageFilesA
118 #define GetModuleBaseName GetModuleBaseNameA
119 #define GetModuleFileNameEx GetModuleFileNameExA
120 #define GetMappedFilenameEx GetMappedFilenameExA
121 #define GetDeviceDriverBaseName GetDeviceDriverBaseNameA
122 #define GetDeviceDriverFileName GetDeviceDriverFileNameA
123 #define GetProcessImageFileName GetProcessImageFileNameA
130 #endif /* _PSAPI_H */