Files
wj32 1533dd503d Add tool to automatically generate plugin API header file
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@6092 21ef857c-d57f-4fe0-8362-d861dc6d29cd
2015-06-17 11:12:02 +00:00

301 lines
7.4 KiB
C

#ifndef PH_PROCPRPP_H
#define PH_PROCPRPP_H
typedef struct _PH_PROCESS_PROPSHEETCONTEXT
{
WNDPROC OldWndProc;
PH_LAYOUT_MANAGER LayoutManager;
PPH_LAYOUT_ITEM TabPageItem;
BOOLEAN LayoutInitialized;
} PH_PROCESS_PROPSHEETCONTEXT, *PPH_PROCESS_PROPSHEETCONTEXT;
VOID NTAPI PhpProcessPropContextDeleteProcedure(
_In_ PVOID Object,
_In_ ULONG Flags
);
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
);
VOID NTAPI PhpProcessPropPageContextDeleteProcedure(
_In_ PVOID Object,
_In_ ULONG Flags
);
INT CALLBACK PhpStandardPropPageProc(
_In_ HWND hwnd,
_In_ UINT uMsg,
_In_ LPPROPSHEETPAGE ppsp
);
INT_PTR CALLBACK PhpProcessGeneralDlgProc(
_In_ HWND hwndDlg,
_In_ UINT uMsg,
_In_ WPARAM wParam,
_In_ LPARAM lParam
);
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
);
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
);
INT_PTR CALLBACK PhpProcessModulesDlgProc(
_In_ HWND hwndDlg,
_In_ UINT uMsg,
_In_ WPARAM wParam,
_In_ LPARAM lParam
);
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
);
typedef struct _PH_HANDLE_ITEM_INFO
{
HANDLE ProcessId;
HANDLE Handle;
PPH_STRING TypeName;
PPH_STRING BestObjectName;
} PH_HANDLE_ITEM_INFO, *PPH_HANDLE_ITEM_INFO;
#define PhaAppendCtrlEnter(Text, Enable) ((Enable) ? PhaConcatStrings2((Text), L"\tCtrl+Enter")->Buffer : (Text))
VOID PhInsertHandleObjectPropertiesEMenuItems(
_In_ struct _PH_EMENU_ITEM *Menu,
_In_ ULONG InsertBeforeId,
_In_ BOOLEAN EnableShortcut,
_In_ PPH_HANDLE_ITEM_INFO Info
);
#define PH_MAX_SECTION_EDIT_SIZE (32 * 1024 * 1024) // 32 MB
VOID PhShowHandleObjectProperties1(
_In_ HWND hWnd,
_In_ PPH_HANDLE_ITEM_INFO Info
);
VOID PhShowHandleObjectProperties2(
_In_ HWND hWnd,
_In_ PPH_HANDLE_ITEM_INFO Info
);
INT_PTR CALLBACK PhpProcessHandlesDlgProc(
_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
);
#define WM_PH_THREAD_ADDED (WM_APP + 201)
#define WM_PH_THREAD_MODIFIED (WM_APP + 202)
#define WM_PH_THREAD_REMOVED (WM_APP + 203)
#define WM_PH_THREADS_UPDATED (WM_APP + 204)
#define WM_PH_THREAD_SELECTION_CHANGED (WM_APP + 205)
// begin_phapppub
typedef struct _PH_THREADS_CONTEXT
{
PPH_THREAD_PROVIDER Provider;
PH_CALLBACK_REGISTRATION ProviderRegistration;
PH_CALLBACK_REGISTRATION AddedEventRegistration;
PH_CALLBACK_REGISTRATION ModifiedEventRegistration;
PH_CALLBACK_REGISTRATION RemovedEventRegistration;
PH_CALLBACK_REGISTRATION UpdatedEventRegistration;
PH_CALLBACK_REGISTRATION LoadingStateChangedEventRegistration;
HWND WindowHandle;
// end_phapppub
union
{
PH_THREAD_LIST_CONTEXT ListContext;
struct
{
HWND Private; // phapppub
HWND TreeNewHandle; // phapppub
} PublicUse;
};
BOOLEAN NeedsRedraw;
// begin_phapppub
} PH_THREADS_CONTEXT, *PPH_THREADS_CONTEXT;
// end_phapppub
#define WM_PH_MODULE_ADDED (WM_APP + 211)
#define WM_PH_MODULE_MODIFIED (WM_APP + 212)
#define WM_PH_MODULE_REMOVED (WM_APP + 213)
#define WM_PH_MODULES_UPDATED (WM_APP + 214)
// begin_phapppub
typedef struct _PH_MODULES_CONTEXT
{
PPH_MODULE_PROVIDER Provider;
PH_PROVIDER_REGISTRATION ProviderRegistration;
PH_CALLBACK_REGISTRATION AddedEventRegistration;
PH_CALLBACK_REGISTRATION ModifiedEventRegistration;
PH_CALLBACK_REGISTRATION RemovedEventRegistration;
PH_CALLBACK_REGISTRATION UpdatedEventRegistration;
HWND WindowHandle;
// end_phapppub
union
{
PH_MODULE_LIST_CONTEXT ListContext;
struct
{
HWND Private; // phapppub
HWND TreeNewHandle; // phapppub
} PublicUse;
};
BOOLEAN NeedsRedraw;
NTSTATUS LastRunStatus;
PPH_STRING ErrorMessage;
// begin_phapppub
} PH_MODULES_CONTEXT, *PPH_MODULES_CONTEXT;
// end_phapppub
#define WM_PH_HANDLE_ADDED (WM_APP + 221)
#define WM_PH_HANDLE_MODIFIED (WM_APP + 222)
#define WM_PH_HANDLE_REMOVED (WM_APP + 223)
#define WM_PH_HANDLES_UPDATED (WM_APP + 224)
// begin_phapppub
typedef struct _PH_HANDLES_CONTEXT
{
PPH_HANDLE_PROVIDER Provider;
PH_PROVIDER_REGISTRATION ProviderRegistration;
PH_CALLBACK_REGISTRATION AddedEventRegistration;
PH_CALLBACK_REGISTRATION ModifiedEventRegistration;
PH_CALLBACK_REGISTRATION RemovedEventRegistration;
PH_CALLBACK_REGISTRATION UpdatedEventRegistration;
HWND WindowHandle;
// end_phapppub
union
{
PH_HANDLE_LIST_CONTEXT ListContext;
struct
{
HWND Private; // phapppub
HWND TreeNewHandle; // phapppub
} PublicUse;
};
BOOLEAN NeedsRedraw;
BOOLEAN SelectedHandleProtected;
BOOLEAN SelectedHandleInherit;
NTSTATUS LastRunStatus;
PPH_STRING ErrorMessage;
// begin_phapppub
} PH_HANDLES_CONTEXT, *PPH_HANDLES_CONTEXT;
// end_phapppub
// begin_phapppub
typedef struct _PH_MEMORY_CONTEXT
{
HANDLE ProcessId;
HWND WindowHandle;
// end_phapppub
union
{
PH_MEMORY_LIST_CONTEXT ListContext;
struct
{
HWND Private; // phapppub
HWND TreeNewHandle; // phapppub
} PublicUse;
};
PH_MEMORY_ITEM_LIST MemoryItemList;
BOOLEAN MemoryItemListValid;
NTSTATUS LastRunStatus;
PPH_STRING ErrorMessage;
// begin_phapppub
} PH_MEMORY_CONTEXT, *PPH_MEMORY_CONTEXT;
// end_phapppub
#define WM_PH_STATISTICS_UPDATE (WM_APP + 231)
typedef struct _PH_STATISTICS_CONTEXT
{
PH_CALLBACK_REGISTRATION ProcessesUpdatedRegistration;
HWND WindowHandle;
BOOLEAN Enabled;
HANDLE ProcessHandle;
} PH_STATISTICS_CONTEXT, *PPH_STATISTICS_CONTEXT;
#define WM_PH_PERFORMANCE_UPDATE (WM_APP + 241)
typedef struct _PH_PERFORMANCE_CONTEXT
{
PH_CALLBACK_REGISTRATION ProcessesUpdatedRegistration;
HWND WindowHandle;
PH_GRAPH_STATE CpuGraphState;
PH_GRAPH_STATE PrivateGraphState;
PH_GRAPH_STATE IoGraphState;
HWND CpuGraphHandle;
HWND PrivateGraphHandle;
HWND IoGraphHandle;
} PH_PERFORMANCE_CONTEXT, *PPH_PERFORMANCE_CONTEXT;
#endif