Process Hacker
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;
16  ULONG IssuingThreadId; // since WIN8 (ETW_DISKIO_READWRITE_V3)
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;
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;
44 
45 // etwmon
46 
48  VOID
49  );
50 
52  VOID
53  );
54 
56  VOID
57  );
58 
60  VOID
61  );
62 
64  VOID
65  );
66 
67 ULONG EtStartEtwRundown(
68  VOID
69  );
70 
71 // etwstat
72 
73 typedef enum _ET_ETW_EVENT_TYPE
74 {
84 
85 typedef struct _ET_ETW_DISK_EVENT
86 {
89  ULONG IrpFlags;
90  ULONG TransferSize;
91  PVOID FileObject;
94 
95 typedef struct _ET_ETW_FILE_EVENT
96 {
98  PVOID FileObject;
101 
102 typedef struct _ET_ETW_NETWORK_EVENT
103 {
111 
112 // etwstat
113 
115  _In_ PET_ETW_DISK_EVENT Event
116  );
117 
119  _In_ PET_ETW_NETWORK_EVENT Event
120  );
121 
122 HANDLE EtThreadIdToProcessId(
123  _In_ HANDLE ThreadId
124  );
125 
126 // etwdisk
127 
129  _In_ PET_ETW_DISK_EVENT Event
130  );
131 
133  _In_ PET_ETW_FILE_EVENT Event
134  );
135 
136 #endif