mirror of
https://github.com/mirror/processhacker
synced 2026-06-08 16:03:24 +00:00
806c39c644
* ExtendedTools: added ETW columns git-svn-id: svn://svn.code.sf.net/p/processhacker/code@4280 21ef857c-d57f-4fe0-8362-d861dc6d29cd
176 lines
4.3 KiB
C
176 lines
4.3 KiB
C
#ifndef EXTTOOLS_H
|
|
#define EXTTOOLS_H
|
|
|
|
#define PHNT_VERSION PHNT_VISTA
|
|
#include <phdk.h>
|
|
|
|
extern PPH_PLUGIN PluginInstance;
|
|
|
|
#define SETTING_PREFIX L"ProcessHacker.ExtendedTools."
|
|
#define SETTING_NAME_ENABLE_ETW_MONITOR (SETTING_PREFIX L"EnableEtwMonitor")
|
|
#define SETTING_NAME_ETWSYS_ALWAYS_ON_TOP (SETTING_PREFIX L"EtwSysAlwaysOnTop")
|
|
#define SETTING_NAME_ETWSYS_WINDOW_POSITION (SETTING_PREFIX L"EtwSysWindowPosition")
|
|
#define SETTING_NAME_ETWSYS_WINDOW_SIZE (SETTING_PREFIX L"EtwSysWindowSize")
|
|
#define SETTING_NAME_MEMORY_LISTS_WINDOW_POSITION (SETTING_PREFIX L"MemoryListsWindowPosition")
|
|
|
|
// etwmon
|
|
|
|
extern BOOLEAN EtEtwEnabled;
|
|
|
|
// etwprprp
|
|
|
|
VOID EtEtwProcessPropertiesInitializing(
|
|
__in PVOID Parameter
|
|
);
|
|
|
|
// etwptree
|
|
|
|
#define ETETWTNC_DISKREADS 1
|
|
#define ETETWTNC_DISKWRITES 2
|
|
#define ETETWTNC_DISKREADBYTES 3
|
|
#define ETETWTNC_DISKWRITEBYTES 4
|
|
#define ETETWTNC_DISKTOTALBYTES 5
|
|
#define ETETWTNC_DISKREADSDELTA 6
|
|
#define ETETWTNC_DISKWRITESDELTA 7
|
|
#define ETETWTNC_DISKREADBYTESDELTA 8
|
|
#define ETETWTNC_DISKWRITEBYTESDELTA 9
|
|
#define ETETWTNC_DISKTOTALBYTESDELTA 10
|
|
#define ETETWTNC_NETWORKRECEIVES 11
|
|
#define ETETWTNC_NETWORKSENDS 12
|
|
#define ETETWTNC_NETWORKRECEIVEBYTES 13
|
|
#define ETETWTNC_NETWORKSENDBYTES 14
|
|
#define ETETWTNC_NETWORKTOTALBYTES 15
|
|
#define ETETWTNC_NETWORKRECEIVESDELTA 16
|
|
#define ETETWTNC_NETWORKSENDSDELTA 17
|
|
#define ETETWTNC_NETWORKRECEIVEBYTESDELTA 18
|
|
#define ETETWTNC_NETWORKSENDBYTESDELTA 19
|
|
#define ETETWTNC_NETWORKTOTALBYTESDELTA 20
|
|
#define ETETWTNC_MAXIMUM 20
|
|
|
|
VOID EtEtwProcessTreeNewInitializing(
|
|
__in PVOID Parameter
|
|
);
|
|
|
|
VOID EtEtwProcessTreeNewMessage(
|
|
__in PVOID Parameter
|
|
);
|
|
|
|
// etwstat
|
|
|
|
extern ULONG EtDiskReadCount;
|
|
extern ULONG EtDiskWriteCount;
|
|
extern ULONG EtNetworkReceiveCount;
|
|
extern ULONG EtNetworkSendCount;
|
|
|
|
extern PH_UINT32_DELTA EtDiskReadDelta;
|
|
extern PH_UINT32_DELTA EtDiskWriteDelta;
|
|
extern PH_UINT32_DELTA EtNetworkReceiveDelta;
|
|
extern PH_UINT32_DELTA EtNetworkSendDelta;
|
|
|
|
extern PH_CIRCULAR_BUFFER_ULONG EtDiskReadHistory;
|
|
extern PH_CIRCULAR_BUFFER_ULONG EtDiskWriteHistory;
|
|
extern PH_CIRCULAR_BUFFER_ULONG EtNetworkReceiveHistory;
|
|
extern PH_CIRCULAR_BUFFER_ULONG EtNetworkSendHistory;
|
|
extern PH_CIRCULAR_BUFFER_ULONG EtMaxDiskHistory;
|
|
extern PH_CIRCULAR_BUFFER_ULONG EtMaxNetworkHistory;
|
|
|
|
typedef struct _ET_PROCESS_ETW_BLOCK
|
|
{
|
|
LONG RefCount;
|
|
PPH_PROCESS_ITEM ProcessItem;
|
|
|
|
ULONG DiskReadCount;
|
|
ULONG DiskWriteCount;
|
|
ULONG NetworkReceiveCount;
|
|
ULONG NetworkSendCount;
|
|
|
|
ULONG DiskReadRaw;
|
|
ULONG DiskWriteRaw;
|
|
ULONG NetworkReceiveRaw;
|
|
ULONG NetworkSendRaw;
|
|
|
|
PH_UINT32_DELTA DiskReadDelta;
|
|
PH_UINT32_DELTA DiskReadRawDelta;
|
|
PH_UINT32_DELTA DiskWriteDelta;
|
|
PH_UINT32_DELTA DiskWriteRawDelta;
|
|
PH_UINT32_DELTA NetworkReceiveDelta;
|
|
PH_UINT32_DELTA NetworkReceiveRawDelta;
|
|
PH_UINT32_DELTA NetworkSendDelta;
|
|
PH_UINT32_DELTA NetworkSendRawDelta;
|
|
|
|
PH_QUEUED_LOCK TextCacheLock;
|
|
PPH_STRING TextCache[ETETWTNC_MAXIMUM + 1];
|
|
BOOLEAN TextCacheValid[ETETWTNC_MAXIMUM + 1];
|
|
} ET_PROCESS_ETW_BLOCK, *PET_PROCESS_ETW_BLOCK;
|
|
|
|
VOID EtEtwStatisticsInitialization();
|
|
|
|
VOID EtEtwStatisticsUninitialization();
|
|
|
|
PET_PROCESS_ETW_BLOCK EtCreateProcessEtwBlock(
|
|
__in PPH_PROCESS_ITEM ProcessItem
|
|
);
|
|
|
|
VOID EtReferenceProcessEtwBlock(
|
|
__inout PET_PROCESS_ETW_BLOCK Block
|
|
);
|
|
|
|
VOID EtDereferenceProcessEtwBlock(
|
|
__inout PET_PROCESS_ETW_BLOCK Block
|
|
);
|
|
|
|
PET_PROCESS_ETW_BLOCK EtFindProcessEtwBlock(
|
|
__in PPH_PROCESS_ITEM ProcessItem
|
|
);
|
|
|
|
// etwsys
|
|
|
|
VOID EtEtwShowSystemDialog();
|
|
|
|
// memlists
|
|
|
|
VOID EtShowMemoryListsDialog();
|
|
|
|
// modsrv
|
|
|
|
VOID EtShowModuleServicesDialog(
|
|
__in HWND ParentWindowHandle,
|
|
__in HANDLE ProcessId,
|
|
__in PWSTR ModuleName
|
|
);
|
|
|
|
// objprp
|
|
|
|
VOID EtHandlePropertiesInitializing(
|
|
__in PVOID Parameter
|
|
);
|
|
|
|
// options
|
|
|
|
VOID EtShowOptionsDialog(
|
|
__in HWND ParentWindowHandle
|
|
);
|
|
|
|
// thrdact
|
|
|
|
BOOLEAN EtUiCancelIoThread(
|
|
__in HWND hWnd,
|
|
__in PPH_THREAD_ITEM Thread
|
|
);
|
|
|
|
// unldll
|
|
|
|
VOID EtShowUnloadedDllsDialog(
|
|
__in HWND ParentWindowHandle,
|
|
__in PPH_PROCESS_ITEM ProcessItem
|
|
);
|
|
|
|
// wswatch
|
|
|
|
VOID EtShowWsWatchDialog(
|
|
__in HWND ParentWindowHandle,
|
|
__in PPH_PROCESS_ITEM ProcessItem
|
|
);
|
|
|
|
#endif
|