Process Hacker
procprp.c File Reference
#include <phapp.h>
#include <secedit.h>
#include <kphuser.h>
#include <settings.h>
#include <cpysave.h>
#include <emenu.h>
#include <phplug.h>
#include <extmgri.h>
#include <verify.h>
#include <procprpp.h>
#include <windowsx.h>

Go to the source code of this file.

Macros

#define SET_BUTTON_BITMAP(Id, Bitmap)   SendMessage(GetDlgItem(hwndDlg, (Id)), BM_SETIMAGE, IMAGE_BITMAP, (LPARAM)(Bitmap))
 
#define PROPSHEET_ADD_STYLE   (WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_THICKFRAME);
 
#define ADD_BL_ITEM(Id)   PhAddPropPageLayoutItem(hwndDlg, GetDlgItem(hwndDlg, Id), dialogItem, PH_ANCHOR_LEFT | PH_ANCHOR_BOTTOM)
 

Functions

BOOLEAN PhProcessPropInitialization (VOID)
 
PPH_PROCESS_PROPCONTEXT PhCreateProcessPropContext (_In_ HWND ParentWindowHandle, _In_ PPH_PROCESS_ITEM ProcessItem)
 
VOID NTAPI PhpProcessPropContextDeleteProcedure (_In_ PVOID Object, _In_ ULONG Flags)
 
VOID PhRefreshProcessPropContext (_Inout_ PPH_PROCESS_PROPCONTEXT PropContext)
 
VOID PhSetSelectThreadIdProcessPropContext (_Inout_ PPH_PROCESS_PROPCONTEXT PropContext, _In_ HANDLE ThreadId)
 
INT CALLBACK PhpPropSheetProc (_In_ HWND hwndDlg, _In_ UINT uMsg, _In_ LPARAM lParam)
 
PPH_PROCESS_PROPSHEETCONTEXT PhpGetPropSheetContext (_In_ HWND hwnd)
 
LRESULT CALLBACK PhpPropSheetWndProc (_In_ HWND hwnd, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam)
 
BOOLEAN PhpInitializePropSheetLayoutStage1 (_In_ HWND hwnd)
 
VOID PhpInitializePropSheetLayoutStage2 (_In_ HWND hwnd)
 
BOOLEAN PhAddProcessPropPage (_Inout_ PPH_PROCESS_PROPCONTEXT PropContext, _In_ _Assume_refs_(1) PPH_PROCESS_PROPPAGECONTEXT PropPageContext)
 
BOOLEAN PhAddProcessPropPage2 (_Inout_ PPH_PROCESS_PROPCONTEXT PropContext, _In_ HPROPSHEETPAGE PropSheetPageHandle)
 
PPH_PROCESS_PROPPAGECONTEXT PhCreateProcessPropPageContext (_In_ LPCWSTR Template, _In_ DLGPROC DlgProc, _In_opt_ PVOID Context)
 
PPH_PROCESS_PROPPAGECONTEXT PhCreateProcessPropPageContextEx (_In_opt_ PVOID InstanceHandle, _In_ LPCWSTR Template, _In_ DLGPROC DlgProc, _In_opt_ PVOID Context)
 
VOID NTAPI PhpProcessPropPageContextDeleteProcedure (_In_ PVOID Object, _In_ ULONG Flags)
 
INT CALLBACK PhpStandardPropPageProc (_In_ HWND hwnd, _In_ UINT uMsg, _In_ LPPROPSHEETPAGE ppsp)
 
FORCEINLINE BOOLEAN PhpPropPageDlgProcHeader (_In_ HWND hwndDlg, _In_ UINT uMsg, _In_ LPARAM lParam, _Out_ LPPROPSHEETPAGE *PropSheetPage, _Out_ PPH_PROCESS_PROPPAGECONTEXT *PropPageContext, _Out_ PPH_PROCESS_ITEM *ProcessItem)
 
BOOLEAN PhPropPageDlgProcHeader (_In_ HWND hwndDlg, _In_ UINT uMsg, _In_ LPARAM lParam, _Out_ LPPROPSHEETPAGE *PropSheetPage, _Out_ PPH_PROCESS_PROPPAGECONTEXT *PropPageContext, _Out_ PPH_PROCESS_ITEM *ProcessItem)
 
VOID PhpPropPageDlgProcDestroy (_In_ HWND hwndDlg)
 
VOID PhPropPageDlgProcDestroy (_In_ HWND hwndDlg)
 
PPH_LAYOUT_ITEM PhAddPropPageLayoutItem (_In_ HWND hwnd, _In_ HWND Handle, _In_ PPH_LAYOUT_ITEM ParentItem, _In_ ULONG Anchor)
 
VOID PhDoPropPageLayout (_In_ HWND hwnd)
 
NTSTATUS PhpProcessGeneralOpenProcess (_Out_ PHANDLE Handle, _In_ ACCESS_MASK DesiredAccess, _In_opt_ PVOID Context)
 
FORCEINLINE PWSTR PhpGetStringOrNa (_In_ PPH_STRING String)
 
VOID PhpUpdateProcessDep (_In_ HWND hwndDlg, _In_ PPH_PROCESS_ITEM ProcessItem)
 
INT_PTR CALLBACK PhpProcessGeneralDlgProc (_In_ HWND hwndDlg, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam)
 
VOID PhpUpdateProcessStatistics (_In_ HWND hwndDlg, _In_ PPH_PROCESS_ITEM ProcessItem, _In_ PPH_STATISTICS_CONTEXT Context)
 
INT_PTR CALLBACK PhpProcessStatisticsDlgProc (_In_ HWND hwndDlg, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam)
 
INT_PTR CALLBACK PhpProcessPerformanceDlgProc (_In_ HWND hwndDlg, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam)
 
VOID PhpInitializeThreadMenu (_In_ PPH_EMENU Menu, _In_ HANDLE ProcessId, _In_ PPH_THREAD_ITEM *Threads, _In_ ULONG NumberOfThreads)
 
VOID PhpUpdateThreadDetails (_In_ HWND hwndDlg, _In_ PPH_THREADS_CONTEXT Context, _In_ BOOLEAN Force)
 
VOID PhShowThreadContextMenu (_In_ HWND hwndDlg, _In_ PPH_PROCESS_ITEM ProcessItem, _In_ PPH_THREADS_CONTEXT Context, _In_ PPH_TREENEW_CONTEXT_MENU ContextMenu)
 
INT_PTR CALLBACK PhpProcessThreadsDlgProc (_In_ HWND hwndDlg, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam)
 
INT_PTR CALLBACK PhpProcessTokenHookProc (_In_ HWND hwndDlg, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam)
 
VOID PhpInitializeModuleMenu (_In_ PPH_EMENU Menu, _In_ HANDLE ProcessId, _In_ PPH_MODULE_ITEM *Modules, _In_ ULONG NumberOfModules)
 
VOID PhShowModuleContextMenu (_In_ HWND hwndDlg, _In_ PPH_PROCESS_ITEM ProcessItem, _In_ PPH_MODULES_CONTEXT Context, _In_ PPH_TREENEW_CONTEXT_MENU ContextMenu)
 
INT_PTR CALLBACK PhpProcessModulesDlgProc (_In_ HWND hwndDlg, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam)
 
VOID PhpRefreshProcessMemoryList (_In_ HWND hwndDlg, _In_ PPH_PROCESS_PROPPAGECONTEXT PropPageContext)
 
VOID PhpInitializeMemoryMenu (_In_ PPH_EMENU Menu, _In_ HANDLE ProcessId, _In_ PPH_MEMORY_NODE *MemoryNodes, _In_ ULONG NumberOfMemoryNodes)
 
VOID PhShowMemoryContextMenu (_In_ HWND hwndDlg, _In_ PPH_PROCESS_ITEM ProcessItem, _In_ PPH_MEMORY_CONTEXT Context, _In_ PPH_TREENEW_CONTEXT_MENU ContextMenu)
 
INT_PTR CALLBACK PhpProcessMemoryDlgProc (_In_ HWND hwndDlg, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam)
 
INT_PTR CALLBACK PhpProcessEnvironmentDlgProc (_In_ HWND hwndDlg, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam)
 
VOID PhInsertHandleObjectPropertiesEMenuItems (_In_ struct _PH_EMENU_ITEM *Menu, _In_ ULONG InsertBeforeId, _In_ BOOLEAN EnableShortcut, _In_ PPH_HANDLE_ITEM_INFO Info)
 
VOID PhShowHandleObjectProperties1 (_In_ HWND hWnd, _In_ PPH_HANDLE_ITEM_INFO Info)
 
VOID PhShowHandleObjectProperties2 (_In_ HWND hWnd, _In_ PPH_HANDLE_ITEM_INFO Info)
 
VOID PhpInitializeHandleMenu (_In_ PPH_EMENU Menu, _In_ HANDLE ProcessId, _In_ PPH_HANDLE_ITEM *Handles, _In_ ULONG NumberOfHandles, _Inout_ PPH_HANDLES_CONTEXT HandlesContext)
 
VOID PhShowHandleContextMenu (_In_ HWND hwndDlg, _In_ PPH_PROCESS_ITEM ProcessItem, _In_ PPH_HANDLES_CONTEXT Context, _In_ PPH_TREENEW_CONTEXT_MENU ContextMenu)
 
INT_PTR CALLBACK PhpProcessHandlesDlgProc (_In_ HWND hwndDlg, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam)
 
INT_PTR CALLBACK PhpProcessJobHookProc (_In_ HWND hwndDlg, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam)
 
INT_PTR CALLBACK PhpProcessServicesDlgProc (_In_ HWND hwndDlg, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam)
 
NTSTATUS PhpProcessPropertiesThreadStart (_In_ PVOID Parameter)
 
BOOLEAN PhShowProcessProperties (_In_ PPH_PROCESS_PROPCONTEXT Context)
 

Variables

PPH_OBJECT_TYPE PhpProcessPropContextType
 
PPH_OBJECT_TYPE PhpProcessPropPageContextType
 

Macro Definition Documentation

#define ADD_BL_ITEM (   Id)    PhAddPropPageLayoutItem(hwndDlg, GetDlgItem(hwndDlg, Id), dialogItem, PH_ANCHOR_LEFT | PH_ANCHOR_BOTTOM)
#define PROPSHEET_ADD_STYLE   (WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_THICKFRAME);
#define SET_BUTTON_BITMAP (   Id,
  Bitmap 
)    SendMessage(GetDlgItem(hwndDlg, (Id)), BM_SETIMAGE, IMAGE_BITMAP, (LPARAM)(Bitmap))

Definition at line 35 of file procprp.c.

Function Documentation

BOOLEAN PhAddProcessPropPage ( _Inout_ PPH_PROCESS_PROPCONTEXT  PropContext,
_In_ _Assume_refs_(1) PPH_PROCESS_PROPPAGECONTEXT  PropPageContext 
)

Definition at line 344 of file procprp.c.

BOOLEAN PhAddProcessPropPage2 ( _Inout_ PPH_PROCESS_PROPCONTEXT  PropContext,
_In_ HPROPSHEETPAGE  PropSheetPageHandle 
)

Definition at line 371 of file procprp.c.

PPH_LAYOUT_ITEM PhAddPropPageLayoutItem ( _In_ HWND  hwnd,
_In_ HWND  Handle,
_In_ PPH_LAYOUT_ITEM  ParentItem,
_In_ ULONG  Anchor 
)

Definition at line 506 of file procprp.c.

PPH_PROCESS_PROPCONTEXT PhCreateProcessPropContext ( _In_ HWND  ParentWindowHandle,
_In_ PPH_PROCESS_ITEM  ProcessItem 
)

Definition at line 60 of file procprp.c.

PPH_PROCESS_PROPPAGECONTEXT PhCreateProcessPropPageContext ( _In_ LPCWSTR  Template,
_In_ DLGPROC  DlgProc,
_In_opt_ PVOID  Context 
)

Definition at line 386 of file procprp.c.

PPH_PROCESS_PROPPAGECONTEXT PhCreateProcessPropPageContextEx ( _In_opt_ PVOID  InstanceHandle,
_In_ LPCWSTR  Template,
_In_ DLGPROC  DlgProc,
_In_opt_ PVOID  Context 
)

Definition at line 395 of file procprp.c.

VOID PhDoPropPageLayout ( _In_ HWND  hwnd)

Definition at line 570 of file procprp.c.

VOID PhInsertHandleObjectPropertiesEMenuItems ( _In_ struct _PH_EMENU_ITEM Menu,
_In_ ULONG  InsertBeforeId,
_In_ BOOLEAN  EnableShortcut,
_In_ PPH_HANDLE_ITEM_INFO  Info 
)

Definition at line 4418 of file procprp.c.

PPH_PROCESS_PROPSHEETCONTEXT PhpGetPropSheetContext ( _In_ HWND  hwnd)

Definition at line 200 of file procprp.c.

FORCEINLINE PWSTR PhpGetStringOrNa ( _In_ PPH_STRING  String)

Definition at line 591 of file procprp.c.

VOID PhpInitializeHandleMenu ( _In_ PPH_EMENU  Menu,
_In_ HANDLE  ProcessId,
_In_ PPH_HANDLE_ITEM Handles,
_In_ ULONG  NumberOfHandles,
_Inout_ PPH_HANDLES_CONTEXT  HandlesContext 
)

Definition at line 4728 of file procprp.c.

VOID PhpInitializeMemoryMenu ( _In_ PPH_EMENU  Menu,
_In_ HANDLE  ProcessId,
_In_ PPH_MEMORY_NODE MemoryNodes,
_In_ ULONG  NumberOfMemoryNodes 
)

Definition at line 3741 of file procprp.c.

VOID PhpInitializeModuleMenu ( _In_ PPH_EMENU  Menu,
_In_ HANDLE  ProcessId,
_In_ PPH_MODULE_ITEM Modules,
_In_ ULONG  NumberOfModules 
)

Definition at line 3260 of file procprp.c.

BOOLEAN PhpInitializePropSheetLayoutStage1 ( _In_ HWND  hwnd)

Definition at line 282 of file procprp.c.

VOID PhpInitializePropSheetLayoutStage2 ( _In_ HWND  hwnd)

Definition at line 318 of file procprp.c.

VOID PhpInitializeThreadMenu ( _In_ PPH_EMENU  Menu,
_In_ HANDLE  ProcessId,
_In_ PPH_THREAD_ITEM Threads,
_In_ ULONG  NumberOfThreads 
)

Definition at line 2036 of file procprp.c.

INT_PTR CALLBACK PhpProcessEnvironmentDlgProc ( _In_ HWND  hwndDlg,
_In_ UINT  uMsg,
_In_ WPARAM  wParam,
_In_ LPARAM  lParam 
)

Definition at line 4213 of file procprp.c.

INT_PTR CALLBACK PhpProcessGeneralDlgProc ( _In_ HWND  hwndDlg,
_In_ UINT  uMsg,
_In_ WPARAM  wParam,
_In_ LPARAM  lParam 
)

Definition at line 659 of file procprp.c.

NTSTATUS PhpProcessGeneralOpenProcess ( _Out_ PHANDLE  Handle,
_In_ ACCESS_MASK  DesiredAccess,
_In_opt_ PVOID  Context 
)

Definition at line 582 of file procprp.c.

INT_PTR CALLBACK PhpProcessHandlesDlgProc ( _In_ HWND  hwndDlg,
_In_ UINT  uMsg,
_In_ WPARAM  wParam,
_In_ LPARAM  lParam 
)

Definition at line 4853 of file procprp.c.

INT_PTR CALLBACK PhpProcessJobHookProc ( _In_ HWND  hwndDlg,
_In_ UINT  uMsg,
_In_ WPARAM  wParam,
_In_ LPARAM  lParam 
)

Definition at line 5247 of file procprp.c.

INT_PTR CALLBACK PhpProcessMemoryDlgProc ( _In_ HWND  hwndDlg,
_In_ UINT  uMsg,
_In_ WPARAM  wParam,
_In_ LPARAM  lParam 
)

Definition at line 3849 of file procprp.c.

INT_PTR CALLBACK PhpProcessModulesDlgProc ( _In_ HWND  hwndDlg,
_In_ UINT  uMsg,
_In_ WPARAM  wParam,
_In_ LPARAM  lParam 
)

Definition at line 3358 of file procprp.c.

INT_PTR CALLBACK PhpProcessPerformanceDlgProc ( _In_ HWND  hwndDlg,
_In_ UINT  uMsg,
_In_ WPARAM  wParam,
_In_ LPARAM  lParam 
)

Definition at line 1528 of file procprp.c.

VOID NTAPI PhpProcessPropContextDeleteProcedure ( _In_ PVOID  Object,
_In_ ULONG  Flags 
)

Definition at line 115 of file procprp.c.

NTSTATUS PhpProcessPropertiesThreadStart ( _In_ PVOID  Parameter)

Definition at line 5407 of file procprp.c.

VOID NTAPI PhpProcessPropPageContextDeleteProcedure ( _In_ PVOID  Object,
_In_ ULONG  Flags 
)

Definition at line 421 of file procprp.c.

INT_PTR CALLBACK PhpProcessServicesDlgProc ( _In_ HWND  hwndDlg,
_In_ UINT  uMsg,
_In_ WPARAM  wParam,
_In_ LPARAM  lParam 
)

Definition at line 5315 of file procprp.c.

INT_PTR CALLBACK PhpProcessStatisticsDlgProc ( _In_ HWND  hwndDlg,
_In_ UINT  uMsg,
_In_ WPARAM  wParam,
_In_ LPARAM  lParam 
)

Definition at line 1400 of file procprp.c.

INT_PTR CALLBACK PhpProcessThreadsDlgProc ( _In_ HWND  hwndDlg,
_In_ UINT  uMsg,
_In_ WPARAM  wParam,
_In_ LPARAM  lParam 
)

Definition at line 2477 of file procprp.c.

INT_PTR CALLBACK PhpProcessTokenHookProc ( _In_ HWND  hwndDlg,
_In_ UINT  uMsg,
_In_ WPARAM  wParam,
_In_ LPARAM  lParam 
)

Definition at line 3141 of file procprp.c.

VOID PhpPropPageDlgProcDestroy ( _In_ HWND  hwndDlg)

Definition at line 492 of file procprp.c.

FORCEINLINE BOOLEAN PhpPropPageDlgProcHeader ( _In_ HWND  hwndDlg,
_In_ UINT  uMsg,
_In_ LPARAM  lParam,
_Out_ LPPROPSHEETPAGE *  PropSheetPage,
_Out_ PPH_PROCESS_PROPPAGECONTEXT PropPageContext,
_Out_ PPH_PROCESS_ITEM ProcessItem 
)

Definition at line 450 of file procprp.c.

INT CALLBACK PhpPropSheetProc ( _In_ HWND  hwndDlg,
_In_ UINT  uMsg,
_In_ LPARAM  lParam 
)

Definition at line 142 of file procprp.c.

LRESULT CALLBACK PhpPropSheetWndProc ( _In_ HWND  hwnd,
_In_ UINT  uMsg,
_In_ WPARAM  wParam,
_In_ LPARAM  lParam 
)

Definition at line 207 of file procprp.c.

VOID PhpRefreshProcessMemoryList ( _In_ HWND  hwndDlg,
_In_ PPH_PROCESS_PROPPAGECONTEXT  PropPageContext 
)

Definition at line 3693 of file procprp.c.

BOOLEAN PhProcessPropInitialization ( VOID  )

Definition at line 50 of file procprp.c.

VOID PhPropPageDlgProcDestroy ( _In_ HWND  hwndDlg)

Definition at line 499 of file procprp.c.

BOOLEAN PhPropPageDlgProcHeader ( _In_ HWND  hwndDlg,
_In_ UINT  uMsg,
_In_ LPARAM  lParam,
_Out_ LPPROPSHEETPAGE *  PropSheetPage,
_Out_ PPH_PROCESS_PROPPAGECONTEXT PropPageContext,
_Out_ PPH_PROCESS_ITEM ProcessItem 
)

Definition at line 480 of file procprp.c.

INT CALLBACK PhpStandardPropPageProc ( _In_ HWND  hwnd,
_In_ UINT  uMsg,
_In_ LPPROPSHEETPAGE  ppsp 
)

Definition at line 432 of file procprp.c.

VOID PhpUpdateProcessDep ( _In_ HWND  hwndDlg,
_In_ PPH_PROCESS_ITEM  ProcessItem 
)

Definition at line 601 of file procprp.c.

VOID PhpUpdateProcessStatistics ( _In_ HWND  hwndDlg,
_In_ PPH_PROCESS_ITEM  ProcessItem,
_In_ PPH_STATISTICS_CONTEXT  Context 
)

Definition at line 1233 of file procprp.c.

VOID PhpUpdateThreadDetails ( _In_ HWND  hwndDlg,
_In_ PPH_THREADS_CONTEXT  Context,
_In_ BOOLEAN  Force 
)

Definition at line 2281 of file procprp.c.

VOID PhRefreshProcessPropContext ( _Inout_ PPH_PROCESS_PROPCONTEXT  PropContext)

Definition at line 127 of file procprp.c.

VOID PhSetSelectThreadIdProcessPropContext ( _Inout_ PPH_PROCESS_PROPCONTEXT  PropContext,
_In_ HANDLE  ThreadId 
)

Definition at line 134 of file procprp.c.

VOID PhShowHandleContextMenu ( _In_ HWND  hwndDlg,
_In_ PPH_PROCESS_ITEM  ProcessItem,
_In_ PPH_HANDLES_CONTEXT  Context,
_In_ PPH_TREENEW_CONTEXT_MENU  ContextMenu 
)

Definition at line 4790 of file procprp.c.

VOID PhShowHandleObjectProperties1 ( _In_ HWND  hWnd,
_In_ PPH_HANDLE_ITEM_INFO  Info 
)

Definition at line 4457 of file procprp.c.

VOID PhShowHandleObjectProperties2 ( _In_ HWND  hWnd,
_In_ PPH_HANDLE_ITEM_INFO  Info 
)

Definition at line 4713 of file procprp.c.

VOID PhShowMemoryContextMenu ( _In_ HWND  hwndDlg,
_In_ PPH_PROCESS_ITEM  ProcessItem,
_In_ PPH_MEMORY_CONTEXT  Context,
_In_ PPH_TREENEW_CONTEXT_MENU  ContextMenu 
)

Definition at line 3786 of file procprp.c.

VOID PhShowModuleContextMenu ( _In_ HWND  hwndDlg,
_In_ PPH_PROCESS_ITEM  ProcessItem,
_In_ PPH_MODULES_CONTEXT  Context,
_In_ PPH_TREENEW_CONTEXT_MENU  ContextMenu 
)

Definition at line 3295 of file procprp.c.

BOOLEAN PhShowProcessProperties ( _In_ PPH_PROCESS_PROPCONTEXT  Context)

Definition at line 5581 of file procprp.c.

VOID PhShowThreadContextMenu ( _In_ HWND  hwndDlg,
_In_ PPH_PROCESS_ITEM  ProcessItem,
_In_ PPH_THREADS_CONTEXT  Context,
_In_ PPH_TREENEW_CONTEXT_MENU  ContextMenu 
)

Definition at line 2414 of file procprp.c.

Variable Documentation

PPH_OBJECT_TYPE PhpProcessPropContextType

Definition at line 38 of file procprp.c.

PPH_OBJECT_TYPE PhpProcessPropPageContextType

Definition at line 39 of file procprp.c.