27 _In_opt_ PVOID Parameter,
32 _In_opt_ PVOID Parameter,
37 _In_opt_ PVOID Parameter,
42 _In_opt_ PVOID Parameter,
47 _In_opt_ PVOID Parameter,
52 _In_opt_ PVOID Parameter,
57 _In_opt_ PVOID Parameter,
62 _In_opt_ PVOID Parameter,
67 _In_opt_ PVOID Parameter,
72 _In_opt_ PVOID Parameter,
77 _In_opt_ PVOID Parameter,
82 _In_opt_ PVOID Parameter,
87 _In_opt_ PVOID Parameter,
92 _In_opt_ PVOID Parameter,
97 _In_opt_ PVOID Parameter,
102 _In_opt_ PVOID Parameter,
107 _In_opt_ PVOID Parameter,
158 static HANDLE ModuleProcessId;
161 _In_ HINSTANCE Instance,
163 _Reserved_ PVOID Reserved
168 case DLL_PROCESS_ATTACH:
179 info->
Description = L
"Extended functionality for Windows Vista and above, including ETW monitoring, GPU monitoring and a Disk tab.";
180 info->
Url = L
"http://processhacker.sf.net/forums/viewtopic.php?t=1114";
187 &PluginLoadCallbackRegistration
193 &PluginUnloadCallbackRegistration
199 &PluginShowOptionsCallbackRegistration
205 &PluginMenuItemCallbackRegistration
211 &PluginTreeNewMessageCallbackRegistration
218 &MainWindowShowingCallbackRegistration
224 &ProcessPropertiesInitializingCallbackRegistration
230 &HandlePropertiesInitializingCallbackRegistration
236 &ProcessMenuInitializingCallbackRegistration
242 &ThreadMenuInitializingCallbackRegistration
248 &ModuleMenuInitializingCallbackRegistration
254 &ProcessTreeNewInitializingCallbackRegistration
260 &NetworkTreeNewInitializingCallbackRegistration
266 &SystemInformationInitializingCallbackRegistration
272 &MiniInformationInitializingCallbackRegistration
279 &ProcessesUpdatedCallbackRegistration
285 &NetworkItemsUpdatedCallbackRegistration
327 _In_opt_ PVOID Parameter,
338 _In_opt_ PVOID Parameter,
347 _In_opt_ PVOID Parameter,
355 _In_opt_ PVOID Parameter,
356 _In_opt_ PVOID Context
361 switch (menuItem->
Id)
391 _In_opt_ PVOID Parameter,
392 _In_opt_ PVOID Context
404 _In_opt_ PVOID Parameter,
405 _In_opt_ PVOID Context
412 _In_opt_ PVOID Parameter,
413 _In_opt_ PVOID Context
421 _In_opt_ PVOID Parameter,
422 _In_opt_ PVOID Context
429 _In_opt_ PVOID Parameter,
430 _In_opt_ PVOID Context
438 if (menuInfo->
u.
Process.NumberOfProcesses == 1)
439 processItem = menuInfo->
u.
Process.Processes[0];
458 _In_opt_ PVOID Parameter,
459 _In_opt_ PVOID Context
467 if (menuInfo->
u.
Thread.NumberOfThreads == 1)
468 threadItem = menuInfo->
u.
Thread.Threads[0];
478 L
"Cancel I/O", threadItem), insertIndex);
484 _In_opt_ PVOID Parameter,
485 _In_opt_ PVOID Context
508 if (menuInfo->
u.
Module.NumberOfModules == 1)
509 moduleItem = menuInfo->
u.
Module.Modules[0];
518 ModuleProcessId = menuInfo->
u.
Module.ProcessId;
521 L
"Services", moduleItem), insertIndex);
527 _In_opt_ PVOID Parameter,
528 _In_opt_ PVOID Context
538 _In_opt_ PVOID Parameter,
539 _In_opt_ PVOID Context
549 _In_opt_ PVOID Parameter,
550 _In_opt_ PVOID Context
560 _In_opt_ PVOID Parameter,
561 _In_opt_ PVOID Context
571 _In_opt_ PVOID Parameter,
572 _In_opt_ PVOID Context
575 PLIST_ENTRY listEntry;
595 listEntry = listEntry->Flink;
600 _In_opt_ PVOID Parameter,
601 _In_opt_ PVOID Context
604 PLIST_ENTRY listEntry;
622 listEntry = listEntry->Flink;
646 Block->ProcessItem = ProcessItem;
673 Block->NetworkItem = NetworkItem;