Process Hacker
mainwndp.h
Go to the documentation of this file.
1 #ifndef PH_MAINWNDP_H
2 #define PH_MAINWNDP_H
3 
4 #define PH_FLUSH_PROCESS_QUERY_DATA_INTERVAL_1 250
5 #define PH_FLUSH_PROCESS_QUERY_DATA_INTERVAL_2 750
6 #define PH_FLUSH_PROCESS_QUERY_DATA_INTERVAL_LONG_TERM 1000
7 
8 #define TIMER_FLUSH_PROCESS_QUERY_DATA 1
9 
10 LRESULT CALLBACK PhMwpWndProc(
11  _In_ HWND hWnd,
12  _In_ UINT uMsg,
13  _In_ WPARAM wParam,
14  _In_ LPARAM lParam
15  );
16 
17 // Initialization
18 
20  VOID
21  );
22 
24  VOID
25  );
26 
28  _In_ ULONG Interval
29  );
30 
32  VOID
33  );
34 
36  _In_ PVOID Parameter
37  );
38 
40  VOID
41  );
42 
43 // Event handlers
44 
46  VOID
47  );
48 
50  VOID
51  );
52 
54  VOID
55  );
56 
58  _In_ ULONG Id
59  );
60 
62  _In_ BOOLEAN Showing,
63  _In_ ULONG State
64  );
65 
66 BOOLEAN PhMwpOnSysCommand(
67  _In_ ULONG Type,
68  _In_ LONG CursorScreenX,
69  _In_ LONG CursorScreenY
70  );
71 
73  _In_ ULONG Index,
74  _In_ HMENU Menu
75  );
76 
78  _In_ HMENU Menu,
79  _In_ ULONG Index,
80  _In_ BOOLEAN IsWindowMenu
81  );
82 
84  VOID
85  );
86 
88  _In_ ULONG Edge,
89  _In_ PRECT DragRectangle
90  );
91 
93  VOID
94  );
95 
97  _In_ ULONG Id
98  );
99 
100 BOOLEAN PhMwpOnNotify(
101  _In_ NMHDR *Header,
102  _Out_ LRESULT *Result
103  );
104 
106  _In_ ULONG Reason,
107  _In_ ULONG SessionId
108  );
109 
110 ULONG_PTR PhMwpOnUserMessage(
111  _In_ ULONG Message,
112  _In_ ULONG_PTR WParam,
113  _In_ ULONG_PTR LParam
114  );
115 
116 // Callbacks
117 
119  _In_opt_ PVOID Parameter,
120  _In_opt_ PVOID Context
121  );
122 
124  _In_opt_ PVOID Parameter,
125  _In_opt_ PVOID Context
126  );
127 
129  _In_opt_ PVOID Parameter,
130  _In_opt_ PVOID Context
131  );
132 
134  _In_opt_ PVOID Parameter,
135  _In_opt_ PVOID Context
136  );
137 
139  _In_opt_ PVOID Parameter,
140  _In_opt_ PVOID Context
141  );
142 
144  _In_opt_ PVOID Parameter,
145  _In_opt_ PVOID Context
146  );
147 
149  _In_opt_ PVOID Parameter,
150  _In_opt_ PVOID Context
151  );
152 
154  _In_opt_ PVOID Parameter,
155  _In_opt_ PVOID Context
156  );
157 
159  _In_opt_ PVOID Parameter,
160  _In_opt_ PVOID Context
161  );
162 
164  _In_opt_ PVOID Parameter,
165  _In_opt_ PVOID Context
166  );
167 
169  _In_opt_ PVOID Parameter,
170  _In_opt_ PVOID Context
171  );
172 
174  _In_opt_ PVOID Parameter,
175  _In_opt_ PVOID Context
176  );
177 
178 // Settings
179 
181  VOID
182  );
183 
185  VOID
186  );
187 
189  VOID
190  );
191 
192 // Misc.
193 
195  _In_opt_ PVOID Parameter,
196  _In_opt_ PVOID Context
197  );
198 
200  VOID
201  );
202 
204  _Inout_ PRECT Rect,
205  _In_ PRECT Padding
206  );
207 
209  _Inout_ HDWP *DeferHandle
210  );
211 
213  _In_ BOOLEAN AssumeAllUnchecked,
214  _In_ ULONG Opacity
215  );
216 
218  _In_ PPH_EMENU_ITEM Root
219  );
220 
222  _In_ ULONG Id
223  );
224 
226  _In_ BOOLEAN Toggle
227  );
228 
229 // Main menu
230 
232  _In_ HMENU Menu
233  );
234 
236  _In_ HMENU MenuHandle,
237  _In_ ULONG ItemIndex,
238  _In_ ULONG ItemId,
239  _In_ ULONG_PTR ItemData
240  );
241 
243  _In_ PPH_ADDMENUITEM AddMenuItem
244  );
245 
246 HBITMAP PhMwpGetShieldBitmap(
247  VOID
248  );
249 
251  _In_ PPH_EMENU Menu,
252  _In_ ULONG Index
253  );
254 
256  _In_ PPH_EMENU Menu
257  );
258 
260  _In_ PPH_EMENU Menu,
261  _In_ ULONG StartIndex
262  );
263 
264 // Tab control
265 
267  _Inout_ HDWP *DeferHandle
268  );
269 
271  _In_ NMHDR *Header
272  );
273 
275  _In_ ULONG OldIndex
276  );
277 
279  _In_ PPH_ADDITIONAL_TAB_PAGE TabPage
280  );
281 
283  _In_ ULONG Index
284  );
285 
287  _In_ PWSTR Text
288  );
289 
290 // Notifications
291 
293  _In_ PPH_EMENU_ITEM Menu,
294  _In_ ULONG NumberOfProcesses
295  );
296 
298  _In_ POINT Location
299  );
300 
302  VOID
303  );
304 
305 BOOLEAN PhMwpPluginNotifyEvent(
306  _In_ ULONG Type,
307  _In_ PVOID Parameter
308  );
309 
310 // Processes
311 
313  _In_ PPH_PROCESS_ITEM ProcessItem
314  );
315 
317  _In_ PPH_TREENEW_NODE Node,
318  _In_opt_ PVOID Context
319  );
320 
322  _In_ PPH_TREENEW_NODE Node,
323  _In_opt_ PVOID Context
324  );
325 
327  _In_ ULONG Id,
328  _In_ PPH_PROCESS_ITEM *Processes,
329  _In_ ULONG NumberOfProcesses
330  );
331 
333  _In_ ULONG Id,
334  _In_ PPH_PROCESS_ITEM *Processes,
335  _In_ ULONG NumberOfProcesses
336  );
337 
339  _In_ PPH_EMENU Menu,
340  _In_ HANDLE ProcessId,
341  _In_ BOOLEAN SetPriority,
342  _In_ BOOLEAN SetIoPriority,
343  _In_ BOOLEAN SetPagePriority
344  );
345 
347  _In_ PPH_EMENU Menu,
348  _In_ PPH_PROCESS_ITEM *Processes,
349  _In_ ULONG NumberOfProcesses
350  );
351 
353  _In_ _Assume_refs_(1) PPH_PROCESS_ITEM ProcessItem,
354  _In_ ULONG RunId
355  );
356 
358  _In_ PPH_PROCESS_ITEM ProcessItem
359  );
360 
362  _In_ PPH_PROCESS_ITEM ProcessItem
363  );
364 
366  VOID
367  );
368 
369 // Services
370 
372  VOID
373  );
374 
376  _In_ PPH_TREENEW_NODE Node,
377  _In_opt_ PVOID Context
378  );
379 
381  _In_ PPH_EMENU Menu,
382  _In_ PPH_SERVICE_ITEM *Services,
383  _In_ ULONG NumberOfServices
384  );
385 
387  _In_ _Assume_refs_(1) PPH_SERVICE_ITEM ServiceItem,
388  _In_ ULONG RunId
389  );
390 
392  _In_ PPH_SERVICE_MODIFIED_DATA ServiceModifiedData
393  );
394 
396  _In_ PPH_SERVICE_ITEM ServiceItem
397  );
398 
400  VOID
401  );
402 
403 // Network
404 
406  VOID
407  );
408 
410  _In_ PPH_TREENEW_NODE Node,
411  _In_opt_ PVOID Context
412  );
413 
415  _In_ PPH_TREENEW_NODE Node,
416  _In_opt_ PVOID Context
417  );
418 
420  _In_ PPH_EMENU Menu,
421  _In_ PPH_NETWORK_ITEM *NetworkItems,
422  _In_ ULONG NumberOfNetworkItems
423  );
424 
426  _In_ ULONG RunId,
427  _In_ _Assume_refs_(1) PPH_NETWORK_ITEM NetworkItem
428  );
429 
431  _In_ PPH_NETWORK_ITEM NetworkItem
432  );
433 
435  _In_ PPH_NETWORK_ITEM NetworkItem
436  );
437 
439  VOID
440  );
441 
442 // Users
443 
445  VOID
446  );
447 
448 #endif