2
* This file has no copyright assigned and is placed in the Public Domain.
3
* This file is part of the w64 mingw-runtime package.
4
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
17
typedef enum EVENTSECURITYOPERATION {
23
} EVENTSECURITYOPERATION;
25
typedef struct _EVENT_EXTENDED_ITEM_INSTANCE {
27
ULONG ParentInstanceId;
29
} EVENT_EXTENDED_ITEM_INSTANCE, *PEVENT_EXTENDED_ITEM_INSTANCE;
31
typedef struct _EVENT_EXTENDED_ITEM_TS_ID {
33
} EVENT_EXTENDED_ITEM_TS_ID, *PEVENT_EXTENDED_ITEM_TS_ID;
35
typedef struct _EVENT_EXTENDED_ITEM_RELATED_ACTIVITYID {
36
GUID RelatedActivityId;
37
} EVENT_EXTENDED_ITEM_RELATED_ACTIVITYID, *PEVENT_EXTENDED_ITEM_RELATED_ACTIVITYID;
39
typedef struct _EVENT_HEADER_EXTENDED_DATA_ITEM {
42
__MINGW_EXTENSION struct {
48
} EVENT_HEADER_EXTENDED_DATA_ITEM, *PEVENT_HEADER_EXTENDED_DATA_ITEM;
50
typedef struct _EVENT_HEADER {
57
LARGE_INTEGER TimeStamp;
59
EVENT_DESCRIPTOR EventDescriptor;
60
__MINGW_EXTENSION union {
61
__MINGW_EXTENSION struct {
65
ULONG64 ProcessorTime;
68
} EVENT_HEADER, *PEVENT_HEADER;
70
#define EVENT_HEADER_PROPERTY_XML 0x0001
71
#define EVENT_HEADER_PROPERTY_FORWARDED_XML 0x0002
72
#define EVENT_HEADER_PROPERTY_LEGACY_EVENTLOG 0x0004
74
#define EVENT_HEADER_FLAG_EXTENDED_INFO 0x0001
75
#define EVENT_HEADER_FLAG_PRIVATE_SESSION 0x0002
76
#define EVENT_HEADER_FLAG_STRING_ONLY 0x0004
77
#define EVENT_HEADER_FLAG_TRACE_MESSAGE 0x0008
78
#define EVENT_HEADER_FLAG_NO_CPUTIME 0x0010
79
#define EVENT_HEADER_FLAG_32_BIT_HEADER 0x0020
80
#define EVENT_HEADER_FLAG_64_BIT_HEADER 0x0040
81
#define EVENT_HEADER_FLAG_CLASSIC_HEADER 0x0100
83
#define EVENT_HEADER_EXT_TYPE_RELATED_ACTIVITYID 0x0001
84
#define EVENT_HEADER_EXT_TYPE_SID 0x0002
85
#define EVENT_HEADER_EXT_TYPE_TS_ID 0x0003
86
#define EVENT_HEADER_EXT_TYPE_INSTANCE_INFO 0x0004
87
#define EVENT_HEADER_EXT_TYPE_STACK_TRACE32 0x0005
88
#define EVENT_HEADER_EXT_TYPE_STACK_TRACE64 0x0006
90
struct _EVENT_RECORD {
91
EVENT_HEADER EventHeader;
92
ETW_BUFFER_CONTEXT BufferContext;
93
USHORT ExtendedDataCount;
94
USHORT UserDataLength;
95
PEVENT_HEADER_EXTENDED_DATA_ITEM ExtendedData;
99
#ifndef DEFINED_PEVENT_RECORD
100
typedef struct _EVENT_RECORD EVENT_RECORD, *PEVENT_RECORD;
101
#define DEFINED_PEVENT_RECORD 1
102
#endif /* for evntrace.h */
104
#if (_WIN32_WINNT >= 0x0601)
105
typedef struct _EVENT_EXTENDED_ITEM_STACK_TRACE32 {
107
ULONG Address[ANYSIZE_ARRAY];
108
} EVENT_EXTENDED_ITEM_STACK_TRACE32, *PEVENT_EXTENDED_ITEM_STACK_TRACE32;
110
typedef struct _EVENT_EXTENDED_ITEM_STACK_TRACE64 {
112
ULONG64 Address[ANYSIZE_ARRAY];
113
} EVENT_EXTENDED_ITEM_STACK_TRACE64, *PEVENT_EXTENDED_ITEM_STACK_TRACE64;
114
#endif /*(_WIN32_WINNT >= 0x0601)*/
116
#define EVENT_ENABLE_PROPERTY_SID 0x00000001
117
#define EVENT_ENABLE_PROPERTY_TS_ID 0x00000002
118
#define EVENT_ENABLE_PROPERTY_STACK_TRACE 0x00000004
120
#define PROCESS_TRACE_MODE_REAL_TIME 0x00000100
121
#define PROCESS_TRACE_MODE_RAW_TIMESTAMP 0x00001000
122
#define PROCESS_TRACE_MODE_EVENT_RECORD 0x10000000
124
#if (_WIN32_WINNT >= 0x0600)
125
ULONG EVNTAPI EventAccessControl(
133
ULONG EVNTAPI EventAccessQuery(
135
PSECURITY_DESCRIPTOR Buffer,
139
ULONG EVNTAPI EventAccessRemove(
142
#endif /*(_WIN32_WINNT >= 0x0600)*/
148
#endif /* _EVNTCONS_H_ */