Process Hacker
sysinfop.h
Go to the documentation of this file.
1 #ifndef PH_SYSINFOP_H
2 #define PH_SYSINFOP_H
3 
4 // Constants
5 
6 #define PH_SYSINFO_FADE_ADD 50
7 #define PH_SYSINFO_PANEL_PADDING 3
8 #define PH_SYSINFO_WINDOW_PADDING 13
9 #define PH_SYSINFO_GRAPH_PADDING 9
10 #define PH_SYSINFO_SMALL_GRAPH_WIDTH 48
11 #define PH_SYSINFO_SMALL_GRAPH_PADDING 5
12 #define PH_SYSINFO_SEPARATOR_WIDTH 2
13 
14 #define PH_SYSINFO_CPU_PADDING 5
15 #define PH_SYSINFO_MEMORY_PADDING 3
16 
17 #define SI_MSG_SYSINFO_FIRST (WM_APP + 150)
18 #define SI_MSG_SYSINFO_ACTIVATE (WM_APP + 150)
19 #define SI_MSG_SYSINFO_UPDATE (WM_APP + 151)
20 #define SI_MSG_SYSINFO_CHANGE_SETTINGS (WM_APP + 152)
21 #define SI_MSG_SYSINFO_LAST (WM_APP + 152)
22 
23 // Misc.
24 
25 typedef HRESULT (WINAPI *_EnableThemeDialogTexture)(
26  _In_ HWND hwnd,
27  _In_ DWORD dwFlags
28  );
29 
30 // Thread & window
31 
33  _In_ PVOID Parameter
34  );
35 
36 INT_PTR CALLBACK PhSipSysInfoDialogProc(
37  _In_ HWND hwndDlg,
38  _In_ UINT uMsg,
39  _In_ WPARAM wParam,
40  _In_ LPARAM lParam
41  );
42 
43 INT_PTR CALLBACK PhSipContainerDialogProc(
44  _In_ HWND hwndDlg,
45  _In_ UINT uMsg,
46  _In_ WPARAM wParam,
47  _In_ LPARAM lParam
48  );
49 
50 // Event handlers
51 
53  VOID
54  );
55 
57  VOID
58  );
59 
61  VOID
62  );
63 
65  _In_ BOOLEAN Showing,
66  _In_ ULONG State
67  );
68 
70  VOID
71  );
72 
74  _In_ ULONG Edge,
75  _In_ PRECT DragRectangle
76  );
77 
79  VOID
80  );
81 
83  _In_ ULONG Id,
84  _In_ ULONG Code
85  );
86 
87 BOOLEAN PhSipOnNotify(
88  _In_ NMHDR *Header,
89  _Out_ LRESULT *Result
90  );
91 
92 BOOLEAN PhSipOnDrawItem(
93  _In_ ULONG_PTR Id,
94  _In_ DRAWITEMSTRUCT *DrawItemStruct
95  );
96 
98  _In_ ULONG Message,
99  _In_ ULONG_PTR WParam,
100  _In_ ULONG_PTR LParam
101  );
102 
103 // Framework
104 
106  _In_ HWND DialogWindowHandle
107  );
108 
110  _In_ HWND DialogWindowHandle
111  );
112 
114  VOID
115  );
116 
118  VOID
119  );
120 
122  VOID
123  );
124 
126  _In_ PPH_SYSINFO_SECTION Template
127  );
128 
130  _In_ PPH_SYSINFO_SECTION Section
131  );
132 
134  _In_ PPH_STRINGREF Name
135  );
136 
138  _In_ PWSTR Name,
139  _In_ ULONG Flags,
140  _In_ PPH_SYSINFO_SECTION_CALLBACK Callback
141  );
142 
144  _In_ HDC hdc,
145  _In_ PRECT Rect
146  );
147 
149  _In_ HDC hdc,
150  _In_ PRECT Rect
151  );
152 
154  _In_ PPH_SYSINFO_SECTION Section,
155  _In_ HDC hdc,
156  _In_ PRECT Rect
157  );
158 
160  _In_ PPH_SYSINFO_SECTION Section,
161  _In_ PPH_SYSINFO_DRAW_PANEL DrawPanel
162  );
163 
165  VOID
166  );
167 
169  VOID
170  );
171 
173  _In_ PPH_SYSINFO_SECTION NewSection
174  );
175 
177  VOID
178  );
179 
181  _In_ PPH_SYSINFO_SECTION Section
182  );
183 
184 LRESULT CALLBACK PhSipGraphHookWndProc(
185  _In_ HWND hwnd,
186  _In_ UINT uMsg,
187  _In_ WPARAM wParam,
188  _In_ LPARAM lParam
189  );
190 
191 LRESULT CALLBACK PhSipPanelHookWndProc(
192  _In_ HWND hwnd,
193  _In_ UINT uMsg,
194  _In_ WPARAM wParam,
195  _In_ LPARAM lParam
196  );
197 
198 // Misc.
199 
201  VOID
202  );
203 
205  VOID
206  );
207 
209  _In_opt_ PVOID Parameter,
210  _In_opt_ PVOID Context
211  );
212 
214  _In_ ULONG64 Size,
215  _In_ USHORT Precision
216  );
217 
218 // CPU section
219 
221 {
222  ULONG Hits;
225 
227  _In_ PPH_SYSINFO_SECTION Section,
228  _In_ PH_SYSINFO_SECTION_MESSAGE Message,
229  _In_opt_ PVOID Parameter1,
230  _In_opt_ PVOID Parameter2
231  );
232 
234  VOID
235  );
236 
238  VOID
239  );
240 
242  VOID
243  );
244 
245 INT_PTR CALLBACK PhSipCpuDialogProc(
246  _In_ HWND hwndDlg,
247  _In_ UINT uMsg,
248  _In_ WPARAM wParam,
249  _In_ LPARAM lParam
250  );
251 
252 INT_PTR CALLBACK PhSipCpuPanelDialogProc(
253  _In_ HWND hwndDlg,
254  _In_ UINT uMsg,
255  _In_ WPARAM wParam,
256  _In_ LPARAM lParam
257  );
258 
260  VOID
261  );
262 
264  VOID
265  );
266 
268  VOID
269  );
270 
272  _In_ ULONG Index,
273  _In_ NMHDR *Header
274  );
275 
277  VOID
278  );
279 
281  VOID
282  );
283 
285  _In_ LONG Index
286  );
287 
289  _In_ LONG Index
290  );
291 
293  _Out_writes_(49) PWSTR BrandString
294  );
295 
297  _Out_ DOUBLE *Fraction
298  );
299 
301  _Out_ PVOID *Buffer
302  );
303 
304 // Memory section
305 
307  _In_ PPH_SYSINFO_SECTION Section,
308  _In_ PH_SYSINFO_SECTION_MESSAGE Message,
309  _In_opt_ PVOID Parameter1,
310  _In_opt_ PVOID Parameter2
311  );
312 
314  VOID
315  );
316 
318  VOID
319  );
320 
322  VOID
323  );
324 
325 INT_PTR CALLBACK PhSipMemoryDialogProc(
326  _In_ HWND hwndDlg,
327  _In_ UINT uMsg,
328  _In_ WPARAM wParam,
329  _In_ LPARAM lParam
330  );
331 
332 INT_PTR CALLBACK PhSipMemoryPanelDialogProc(
333  _In_ HWND hwndDlg,
334  _In_ UINT uMsg,
335  _In_ WPARAM wParam,
336  _In_ LPARAM lParam
337  );
338 
340  VOID
341  );
342 
344  _In_ NMHDR *Header
345  );
346 
348  _In_ NMHDR *Header
349  );
350 
352  VOID
353  );
354 
356  VOID
357  );
358 
359 NTSTATUS PhSipLoadMmAddresses(
360  _In_ PVOID Parameter
361  );
362 
364  _Out_ PSIZE_T Paged,
365  _Out_ PSIZE_T NonPaged
366  );
367 
368 // I/O section
369 
370 BOOLEAN PhSipIoSectionCallback(
371  _In_ PPH_SYSINFO_SECTION Section,
372  _In_ PH_SYSINFO_SECTION_MESSAGE Message,
373  _In_opt_ PVOID Parameter1,
374  _In_opt_ PVOID Parameter2
375  );
376 
378  VOID
379  );
380 
382  VOID
383  );
384 
386  VOID
387  );
388 
389 INT_PTR CALLBACK PhSipIoDialogProc(
390  _In_ HWND hwndDlg,
391  _In_ UINT uMsg,
392  _In_ WPARAM wParam,
393  _In_ LPARAM lParam
394  );
395 
396 INT_PTR CALLBACK PhSipIoPanelDialogProc(
397  _In_ HWND hwndDlg,
398  _In_ UINT uMsg,
399  _In_ WPARAM wParam,
400  _In_ LPARAM lParam
401  );
402 
404  _In_ NMHDR *Header
405  );
406 
408  VOID
409  );
410 
412  VOID
413  );
414 
416  _In_ LONG Index
417  );
418 
420  _In_ LONG Index
421  );
422 
423 #endif