//0x390 bytes (sizeof)
struct _WMI_LOGGER_CONTEXT
{
    ULONG LoggerId;                                                         //0x0
    ULONG BufferSize;                                                       //0x4
    ULONG MaximumEventSize;                                                 //0x8
    ULONG LoggerMode;                                                       //0xc
    LONG AcceptNewEvents;                                                   //0x10
    ULONG EventMarker[1];                                                   //0x14
    ULONG ErrorMarker;                                                      //0x18
    ULONG SizeMask;                                                         //0x1c
    LONGLONG (*GetCpuClock)();                                              //0x20
    struct _ETHREAD* LoggerThread;                                          //0x24
    LONG LoggerStatus;                                                      //0x28
    ULONG FailureReason;                                                    //0x2c
    struct _ETW_BUFFER_QUEUE BufferQueue;                                   //0x30
    struct _ETW_BUFFER_QUEUE OverflowQueue;                                 //0x38
    struct _LIST_ENTRY GlobalList;                                          //0x40
    struct _LIST_ENTRY DebugIdTrackingList;                                 //0x48
    struct _ETW_DECODE_CONTROL_ENTRY* DecodeControlList;                    //0x50
    ULONG DecodeControlCount;                                               //0x54
    union
    {
        struct _WMI_BUFFER_HEADER* BatchedBufferList;                       //0x58
        struct _EX_FAST_REF CurrentBuffer;                                  //0x58
    };
    struct _UNICODE_STRING LoggerName;                                      //0x5c
    struct _UNICODE_STRING LogFileName;                                     //0x64
    struct _UNICODE_STRING LogFilePattern;                                  //0x6c
    struct _UNICODE_STRING NewLogFileName;                                  //0x74
    ULONG ClockType;                                                        //0x7c
    ULONG LastFlushedBuffer;                                                //0x80
    ULONG FlushTimer;                                                       //0x84
    ULONG FlushThreshold;                                                   //0x88
    union _LARGE_INTEGER ByteOffset;                                        //0x90
    ULONG MinimumBuffers;                                                   //0x98
    volatile LONG BuffersAvailable;                                         //0x9c
    volatile LONG NumberOfBuffers;                                          //0xa0
    ULONG MaximumBuffers;                                                   //0xa4
    volatile ULONG EventsLost;                                              //0xa8
    volatile LONG PeakBuffersCount;                                         //0xac
    ULONG BuffersWritten;                                                   //0xb0
    ULONG LogBuffersLost;                                                   //0xb4
    ULONG RealTimeBuffersDelivered;                                         //0xb8
    ULONG RealTimeBuffersLost;                                              //0xbc
    LONG* SequencePtr;                                                      //0xc0
    ULONG LocalSequence;                                                    //0xc4
    struct _GUID InstanceGuid;                                              //0xc8
    ULONG MaximumFileSize;                                                  //0xd8
    LONG FileCounter;                                                       //0xdc
    enum _POOL_TYPE PoolType;                                               //0xe0
    struct _ETW_REF_CLOCK ReferenceTime;                                    //0xe8
    LONG CollectionOn;                                                      //0xf8
    ULONG ProviderInfoSize;                                                 //0xfc
    struct _LIST_ENTRY Consumers;                                           //0x100
    ULONG NumConsumers;                                                     //0x108
    struct _ETW_REALTIME_CONSUMER* TransitionConsumer;                      //0x10c
    VOID* RealtimeLogfileHandle;                                            //0x110
    struct _UNICODE_STRING RealtimeLogfileName;                             //0x114
    union _LARGE_INTEGER RealtimeWriteOffset;                               //0x120
    union _LARGE_INTEGER RealtimeReadOffset;                                //0x128
    union _LARGE_INTEGER RealtimeLogfileSize;                               //0x130
    ULONGLONG RealtimeLogfileUsage;                                         //0x138
    ULONGLONG RealtimeMaximumFileSize;                                      //0x140
    ULONG RealtimeBuffersSaved;                                             //0x148
    struct _ETW_REF_CLOCK RealtimeReferenceTime;                            //0x150
    enum _ETW_RT_EVENT_LOSS NewRTEventsLost;                                //0x160
    struct _KEVENT LoggerEvent;                                             //0x164
    struct _KEVENT FlushEvent;                                              //0x174
    struct _KTIMER FlushTimeOutTimer;                                       //0x188
    struct _KDPC LoggerDpc;                                                 //0x1b0
    struct _KMUTANT LoggerMutex;                                            //0x1d0
    struct _EX_PUSH_LOCK LoggerLock;                                        //0x1f0
    union
    {
        ULONG BufferListSpinLock;                                           //0x1f4
        struct _EX_PUSH_LOCK BufferListPushLock;                            //0x1f4
    };
    struct _SECURITY_CLIENT_CONTEXT ClientSecurityContext;                  //0x1f8
    struct _TOKEN_ACCESS_INFORMATION* TokenAccessInformation;               //0x234
    struct _EX_FAST_REF SecurityDescriptor;                                 //0x238
    union _LARGE_INTEGER StartTime;                                         //0x240
    VOID* LogFileHandle;                                                    //0x248
    LONGLONG BufferSequenceNumber;                                          //0x250
    union
    {
        ULONG Flags;                                                        //0x258
        struct
        {
            ULONG Persistent:1;                                             //0x258
            ULONG AutoLogger:1;                                             //0x258
            ULONG FsReady:1;                                                //0x258
            ULONG RealTime:1;                                               //0x258
            ULONG Wow:1;                                                    //0x258
            ULONG KernelTrace:1;                                            //0x258
            ULONG NoMoreEnable:1;                                           //0x258
            ULONG StackTracing:1;                                           //0x258
            ULONG ErrorLogged:1;                                            //0x258
            ULONG RealtimeLoggerContextFreed:1;                             //0x258
            ULONG PebsTracing:1;                                            //0x258
            ULONG PmcCounters:1;                                            //0x258
            ULONG PageAlignBuffers:1;                                       //0x258
            ULONG StackLookasideListAllocated:1;                            //0x258
            ULONG SecurityTrace:1;                                          //0x258
            ULONG LastBranchTracing:1;                                      //0x258
            ULONG SystemLoggerIndex:8;                                      //0x258
            ULONG StackCaching:1;                                           //0x258
            ULONG ProviderTracking:1;                                       //0x258
            ULONG ProcessorTrace:1;                                         //0x258
            ULONG QpcDeltaTracking:1;                                       //0x258
            ULONG MarkerBufferSaved:1;                                      //0x258
            ULONG SpareFlags2:3;                                            //0x258
        };
    };
    union
    {
        volatile ULONG RequestFlag;                                         //0x25c
        struct
        {
            ULONG DbgRequestNewFile:1;                                      //0x25c
            ULONG DbgRequestUpdateFile:1;                                   //0x25c
            ULONG DbgRequestFlush:1;                                        //0x25c
            ULONG DbgRequestDisableRealtime:1;                              //0x25c
            ULONG DbgRequestDisconnectConsumer:1;                           //0x25c
            ULONG DbgRequestConnectConsumer:1;                              //0x25c
            ULONG DbgRequestNotifyConsumer:1;                               //0x25c
            ULONG DbgRequestUpdateHeader:1;                                 //0x25c
            ULONG DbgRequestDeferredFlush:1;                                //0x25c
            ULONG DbgRequestDeferredFlushTimer:1;                           //0x25c
            ULONG DbgRequestFlushTimer:1;                                   //0x25c
            ULONG DbgRequestUpdateDebugger:1;                               //0x25c
            ULONG DbgSpareRequestFlags:20;                                  //0x25c
        };
    };
    struct _ETW_STACK_TRACE_BLOCK StackTraceBlock;                          //0x260
    struct _RTL_BITMAP HookIdMap;                                           //0x2b0
    struct _ETW_STACK_CACHE* StackCache;                                    //0x2b8
    struct _ETW_PMC_SUPPORT* PmcData;                                       //0x2bc
    struct _ETW_LBR_SUPPORT* LbrData;                                       //0x2c0
    struct _ETW_IPT_SUPPORT* IptData;                                       //0x2c4
    struct _LIST_ENTRY BinaryTrackingList;                                  //0x2c8
    struct _WMI_BUFFER_HEADER** ScratchArray;                               //0x2d0
    struct _DISALLOWED_GUIDS DisallowedGuids;                               //0x2d4
    LONGLONG RelativeTimerDueTime;                                          //0x2e0
    struct _PERIODIC_CAPTURE_STATE_GUIDS PeriodicCaptureStateGuids;         //0x2e8
    struct _EX_TIMER* PeriodicCaptureStateTimer;                            //0x2f0
    enum _ETW_PERIODIC_TIMER_STATE PeriodicCaptureStateTimerState;          //0x2f4
    struct _ETW_SOFT_RESTART_CONTEXT* SoftRestartContext;                   //0x2f8
    struct _ETW_SILODRIVERSTATE* SiloState;                                 //0x2fc
    struct _WORK_QUEUE_ITEM CompressionWorkItem;                            //0x300
    LONG CompressionWorkItemState;                                          //0x310
    struct _EX_PUSH_LOCK CompressionLock;                                   //0x314
    struct _WMI_BUFFER_HEADER* CompressionTarget;                           //0x318
    VOID* CompressionWorkspace;                                             //0x31c
    LONG CompressionOn;                                                     //0x320
    ULONG CompressionRatioGuess;                                            //0x324
    ULONG PartialBufferCompressionLevel;                                    //0x328
    enum ETW_COMPRESSION_RESUMPTION_MODE CompressionResumptionMode;         //0x32c
    struct _SINGLE_LIST_ENTRY PlaceholderList;                              //0x330
    struct _KDPC CompressionDpc;                                            //0x334
    union _LARGE_INTEGER LastBufferSwitchTime;                              //0x358
    union _LARGE_INTEGER BufferWriteDuration;                               //0x360
    union _LARGE_INTEGER BufferCompressDuration;                            //0x368
    LONGLONG ReferenceQpcDelta;                                             //0x370
    struct _ETW_EVENT_CALLBACK_CONTEXT* CallbackContext;                    //0x378
    union _LARGE_INTEGER* LastDroppedTime;                                  //0x37c
    union _LARGE_INTEGER* FlushingLastDroppedTime;                          //0x380
    LONGLONG FlushingSequenceNumber;                                        //0x388
};