Process Hacker
Main Page
Namespaces
Data Structures
Files
File List
Globals
etwmon.h
Go to the documentation of this file.
1
#ifndef ETWMON_H
2
#define ETWMON_H
3
4
#include <evntcons.h>
5
6
typedef
struct
7
{
8
ULONG
DiskNumber
;
9
ULONG
IrpFlags
;
10
ULONG
TransferSize
;
11
ULONG
ResponseTime
;
12
ULONG64
ByteOffset
;
13
ULONG_PTR
FileObject
;
14
ULONG_PTR
Irp
;
15
ULONG64
HighResResponseTime
;
16
ULONG
IssuingThreadId
;
// since WIN8 (ETW_DISKIO_READWRITE_V3)
17
}
DiskIo_TypeGroup1
;
18
19
typedef
struct
20
{
21
ULONG_PTR
FileObject
;
22
WCHAR FileName[1];
23
}
FileIo_Name
;
24
25
typedef
struct
26
{
27
ULONG
PID
;
28
ULONG
size
;
29
ULONG
daddr
;
30
ULONG
saddr
;
31
USHORT
dport
;
32
USHORT
sport
;
33
}
TcpIpOrUdpIp_IPV4_Header
;
34
35
typedef
struct
36
{
37
ULONG
PID
;
38
ULONG
size
;
39
IN6_ADDR
daddr
;
40
IN6_ADDR
saddr
;
41
USHORT
dport
;
42
USHORT
sport
;
43
}
TcpIpOrUdpIp_IPV6_Header
;
44
45
// etwmon
46
47
VOID
EtEtwMonitorInitialization
(
48
VOID
49
);
50
51
VOID
EtEtwMonitorUninitialization
(
52
VOID
53
);
54
55
VOID
EtStartEtwSession
(
56
VOID
57
);
58
59
VOID
EtStopEtwSession
(
60
VOID
61
);
62
63
VOID
EtFlushEtwSession
(
64
VOID
65
);
66
67
ULONG
EtStartEtwRundown
(
68
VOID
69
);
70
71
// etwstat
72
73
typedef
enum
_ET_ETW_EVENT_TYPE
74
{
75
EtEtwDiskReadType
= 1,
76
EtEtwDiskWriteType
,
77
EtEtwFileNameType
,
78
EtEtwFileCreateType
,
79
EtEtwFileDeleteType
,
80
EtEtwFileRundownType
,
81
EtEtwNetworkReceiveType
,
82
EtEtwNetworkSendType
83
}
ET_ETW_EVENT_TYPE
;
84
85
typedef
struct
_ET_ETW_DISK_EVENT
86
{
87
ET_ETW_EVENT_TYPE
Type
;
88
CLIENT_ID
ClientId
;
89
ULONG
IrpFlags
;
90
ULONG
TransferSize
;
91
PVOID
FileObject
;
92
ULONG64
HighResResponseTime
;
93
}
ET_ETW_DISK_EVENT
, *
PET_ETW_DISK_EVENT
;
94
95
typedef
struct
_ET_ETW_FILE_EVENT
96
{
97
ET_ETW_EVENT_TYPE
Type
;
98
PVOID
FileObject
;
99
PH_STRINGREF
FileName
;
100
}
ET_ETW_FILE_EVENT
, *
PET_ETW_FILE_EVENT
;
101
102
typedef
struct
_ET_ETW_NETWORK_EVENT
103
{
104
ET_ETW_EVENT_TYPE
Type
;
105
CLIENT_ID
ClientId
;
106
ULONG
ProtocolType
;
107
ULONG
TransferSize
;
108
PH_IP_ENDPOINT
LocalEndpoint
;
109
PH_IP_ENDPOINT
RemoteEndpoint
;
110
}
ET_ETW_NETWORK_EVENT
, *
PET_ETW_NETWORK_EVENT
;
111
112
// etwstat
113
114
VOID
EtProcessDiskEvent
(
115
_In_ PET_ETW_DISK_EVENT Event
116
);
117
118
VOID
EtProcessNetworkEvent
(
119
_In_ PET_ETW_NETWORK_EVENT Event
120
);
121
122
HANDLE
EtThreadIdToProcessId
(
123
_In_ HANDLE ThreadId
124
);
125
126
// etwdisk
127
128
VOID
EtDiskProcessDiskEvent
(
129
_In_ PET_ETW_DISK_EVENT Event
130
);
131
132
VOID
EtDiskProcessFileEvent
(
133
_In_ PET_ETW_FILE_EVENT Event
134
);
135
136
#endif
plugins
ExtendedTools
etwmon.h
Generated by
1.8.2