Subversion Repositories DevTools

Rev

Rev 6914 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
6914 dpurdie 1
/*++ BUILD Version: 0001    // Increment this if a change has global effects
2
 
3
Copyright (c) 1994-1999  Microsoft Corporation
4
 
5
Module Name:
6
 
7
    psapi.h
8
 
9
Abstract:
10
 
11
    Include file for APIs provided by PSAPI.DLL
12
 
13
Author:
14
 
15
    Richard Shupak   [richards]  06-Jan-1994
16
 
17
Revision History:
18
 
19
--*/
20
 
21
#ifndef _PSAPI_H_
22
#define _PSAPI_H_
23
 
24
#if _MSC_VER > 1000
25
#pragma once
26
#endif
27
 
28
#ifdef __cplusplus
29
extern "C" {
30
#endif
31
 
32
BOOL
33
WINAPI
34
EnumProcesses(
35
    DWORD * lpidProcess,
36
    DWORD   cb,
37
    DWORD * cbNeeded
38
    );
39
 
40
BOOL
41
WINAPI
42
EnumProcessModules(
43
    HANDLE hProcess,
44
    HMODULE *lphModule,
45
    DWORD cb,
46
    LPDWORD lpcbNeeded
47
    );
48
 
49
DWORD
50
WINAPI
51
GetModuleBaseNameA(
52
    HANDLE hProcess,
53
    HMODULE hModule,
54
    LPSTR lpBaseName,
55
    DWORD nSize
56
    );
57
 
58
DWORD
59
WINAPI
60
GetModuleBaseNameW(
61
    HANDLE hProcess,
62
    HMODULE hModule,
63
    LPWSTR lpBaseName,
64
    DWORD nSize
65
    );
66
 
67
#ifdef UNICODE
68
#define GetModuleBaseName  GetModuleBaseNameW
69
#else
70
#define GetModuleBaseName  GetModuleBaseNameA
71
#endif // !UNICODE
72
 
73
 
74
DWORD
75
WINAPI
76
GetModuleFileNameExA(
77
    HANDLE hProcess,
78
    HMODULE hModule,
79
    LPSTR lpFilename,
80
    DWORD nSize
81
    );
82
 
83
DWORD
84
WINAPI
85
GetModuleFileNameExW(
86
    HANDLE hProcess,
87
    HMODULE hModule,
88
    LPWSTR lpFilename,
89
    DWORD nSize
90
    );
91
 
92
#ifdef UNICODE
93
#define GetModuleFileNameEx  GetModuleFileNameExW
94
#else
95
#define GetModuleFileNameEx  GetModuleFileNameExA
96
#endif // !UNICODE
97
 
98
 
99
typedef struct _MODULEINFO {
100
    LPVOID lpBaseOfDll;
101
    DWORD SizeOfImage;
102
    LPVOID EntryPoint;
103
} MODULEINFO, *LPMODULEINFO;
104
 
105
 
106
BOOL
107
WINAPI
108
GetModuleInformation(
109
    HANDLE hProcess,
110
    HMODULE hModule,
111
    LPMODULEINFO lpmodinfo,
112
    DWORD cb
113
    );
114
 
115
 
116
BOOL
117
WINAPI
118
EmptyWorkingSet(
119
    HANDLE hProcess
120
    );
121
 
122
 
123
BOOL
124
WINAPI
125
QueryWorkingSet(
126
    HANDLE hProcess,
127
    PVOID pv,
128
    DWORD cb
129
    );
130
 
131
BOOL
132
WINAPI
133
InitializeProcessForWsWatch(
134
    HANDLE hProcess
135
    );
136
 
137
 
138
typedef struct _PSAPI_WS_WATCH_INFORMATION {
139
    LPVOID FaultingPc;
140
    LPVOID FaultingVa;
141
} PSAPI_WS_WATCH_INFORMATION, *PPSAPI_WS_WATCH_INFORMATION;
142
 
143
BOOL
144
WINAPI
145
GetWsChanges(
146
    HANDLE hProcess,
147
    PPSAPI_WS_WATCH_INFORMATION lpWatchInfo,
148
    DWORD cb
149
    );
150
 
151
DWORD
152
WINAPI
153
GetMappedFileNameW(
154
    HANDLE hProcess,
155
    LPVOID lpv,
156
    LPWSTR lpFilename,
157
    DWORD nSize
158
    );
159
 
160
DWORD
161
WINAPI
162
GetMappedFileNameA(
163
    HANDLE hProcess,
164
    LPVOID lpv,
165
    LPSTR lpFilename,
166
    DWORD nSize
167
    );
168
 
169
#ifdef UNICODE
170
#define GetMappedFileName  GetMappedFileNameW
171
#else
172
#define GetMappedFileName  GetMappedFileNameA
173
#endif // !UNICODE
174
 
175
BOOL
176
WINAPI
177
EnumDeviceDrivers(
178
    LPVOID *lpImageBase,
179
    DWORD cb,
180
    LPDWORD lpcbNeeded
181
    );
182
 
183
 
184
DWORD
185
WINAPI
186
GetDeviceDriverBaseNameA(
187
    LPVOID ImageBase,
188
    LPSTR lpBaseName,
189
    DWORD nSize
190
    );
191
 
192
DWORD
193
WINAPI
194
GetDeviceDriverBaseNameW(
195
    LPVOID ImageBase,
196
    LPWSTR lpBaseName,
197
    DWORD nSize
198
    );
199
 
200
#ifdef UNICODE
201
#define GetDeviceDriverBaseName  GetDeviceDriverBaseNameW
202
#else
203
#define GetDeviceDriverBaseName  GetDeviceDriverBaseNameA
204
#endif // !UNICODE
205
 
206
 
207
DWORD
208
WINAPI
209
GetDeviceDriverFileNameA(
210
    LPVOID ImageBase,
211
    LPSTR lpFilename,
212
    DWORD nSize
213
    );
214
 
215
DWORD
216
WINAPI
217
GetDeviceDriverFileNameW(
218
    LPVOID ImageBase,
219
    LPWSTR lpFilename,
220
    DWORD nSize
221
    );
222
 
223
#ifdef UNICODE
224
#define GetDeviceDriverFileName  GetDeviceDriverFileNameW
225
#else
226
#define GetDeviceDriverFileName  GetDeviceDriverFileNameA
227
#endif // !UNICODE
228
 
229
// Structure for GetProcessMemoryInfo()
230
 
231
typedef struct _PROCESS_MEMORY_COUNTERS {
232
    DWORD cb;
233
    DWORD PageFaultCount;
234
    SIZE_T PeakWorkingSetSize;
235
    SIZE_T WorkingSetSize;
236
    SIZE_T QuotaPeakPagedPoolUsage;
237
    SIZE_T QuotaPagedPoolUsage;
238
    SIZE_T QuotaPeakNonPagedPoolUsage;
239
    SIZE_T QuotaNonPagedPoolUsage;
240
    SIZE_T PagefileUsage;
241
    SIZE_T PeakPagefileUsage;
242
} PROCESS_MEMORY_COUNTERS;
243
typedef PROCESS_MEMORY_COUNTERS *PPROCESS_MEMORY_COUNTERS;
244
 
245
BOOL
246
WINAPI
247
GetProcessMemoryInfo(
248
    HANDLE Process,
249
    PPROCESS_MEMORY_COUNTERS ppsmemCounters,
250
    DWORD cb
251
    );
252
 
253
#ifdef __cplusplus
254
}
255
#endif
256
 
257
#endif