zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

relogger.h (21790B) - Raw


      1 /*** Autogenerated by WIDL 10.4 from include/relogger.idl - Do not edit ***/
      2 
      3 #ifdef _WIN32
      4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      6 #endif
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 #endif
     10 
     11 #ifndef COM_NO_WINDOWS_H
     12 #include <windows.h>
     13 #include <ole2.h>
     14 #endif
     15 
     16 #ifndef __relogger_h__
     17 #define __relogger_h__
     18 
     19 /* Forward declarations */
     20 
     21 #ifndef __ITraceEvent_FWD_DEFINED__
     22 #define __ITraceEvent_FWD_DEFINED__
     23 typedef interface ITraceEvent ITraceEvent;
     24 #ifdef __cplusplus
     25 interface ITraceEvent;
     26 #endif /* __cplusplus */
     27 #endif
     28 
     29 #ifndef __ITraceEventCallback_FWD_DEFINED__
     30 #define __ITraceEventCallback_FWD_DEFINED__
     31 typedef interface ITraceEventCallback ITraceEventCallback;
     32 #ifdef __cplusplus
     33 interface ITraceEventCallback;
     34 #endif /* __cplusplus */
     35 #endif
     36 
     37 #ifndef __ITraceRelogger_FWD_DEFINED__
     38 #define __ITraceRelogger_FWD_DEFINED__
     39 typedef interface ITraceRelogger ITraceRelogger;
     40 #ifdef __cplusplus
     41 interface ITraceRelogger;
     42 #endif /* __cplusplus */
     43 #endif
     44 
     45 #ifndef __CTraceRelogger_FWD_DEFINED__
     46 #define __CTraceRelogger_FWD_DEFINED__
     47 #ifdef __cplusplus
     48 typedef class CTraceRelogger CTraceRelogger;
     49 #else
     50 typedef struct CTraceRelogger CTraceRelogger;
     51 #endif /* defined __cplusplus */
     52 #endif /* defined __CTraceRelogger_FWD_DEFINED__ */
     53 
     54 /* Headers for imported files */
     55 
     56 #include <unknwn.h>
     57 #include <oaidl.h>
     58 #include <ocidl.h>
     59 
     60 #ifdef __cplusplus
     61 extern "C" {
     62 #endif
     63 
     64 typedef struct _EVENT_DESCRIPTOR {
     65     USHORT Id;
     66     UCHAR Version;
     67     UCHAR Channel;
     68     UCHAR Level;
     69     UCHAR Opcode;
     70     USHORT Task;
     71     ULONGLONG Keyword;
     72 } EVENT_DESCRIPTOR;
     73 typedef struct _EVENT_DESCRIPTOR *PEVENT_DESCRIPTOR;
     74 typedef const EVENT_DESCRIPTOR *PCEVENT_DESCRIPTOR;
     75 typedef struct _EVENT_HEADER {
     76     USHORT Size;
     77     USHORT HeaderType;
     78     USHORT Flags;
     79     USHORT EventProperty;
     80     ULONG ThreadId;
     81     ULONG ProcessId;
     82     LARGE_INTEGER TimeStamp;
     83     GUID ProviderId;
     84     EVENT_DESCRIPTOR EventDescriptor;
     85     union {
     86         struct {
     87             ULONG KernelTime;
     88             ULONG UserTime;
     89         } DUMMYSTRUCTNAME;
     90         ULONG64 ProcessorTime;
     91     } DUMMYUNIONNAME;
     92     GUID ActivityId;
     93 } EVENT_HEADER;
     94 typedef struct _EVENT_HEADER *PEVENT_HEADER;
     95 typedef struct _ETW_BUFFER_CONTEXT {
     96     union {
     97         struct {
     98             UCHAR ProcessorNumber;
     99             UCHAR Alignment;
    100         } DUMMYSTRUCTNAME;
    101         USHORT ProcessorIndex;
    102     } DUMMYUNIONNAME;
    103     USHORT LoggerId;
    104 } ETW_BUFFER_CONTEXT;
    105 typedef struct _ETW_BUFFER_CONTEXT *PETW_BUFFER_CONTEXT;
    106 typedef struct _EVENT_HEADER_EXTENDED_DATA_ITEM {
    107     USHORT Reserved1;
    108     USHORT ExtType;
    109     USHORT Linkage;
    110     USHORT DataSize;
    111     ULONGLONG DataPtr;
    112 } EVENT_HEADER_EXTENDED_DATA_ITEM;
    113 typedef struct _EVENT_HEADER_EXTENDED_DATA_ITEM *PEVENT_HEADER_EXTENDED_DATA_ITEM;
    114 typedef struct _EVENT_RECORD {
    115     EVENT_HEADER EventHeader;
    116     ETW_BUFFER_CONTEXT BufferContext;
    117     USHORT ExtendedDataCount;
    118     USHORT UserDataLength;
    119     EVENT_HEADER_EXTENDED_DATA_ITEM *ExtendedData;
    120     void *UserData;
    121     void *UserContext;
    122 } EVENT_RECORD;
    123 typedef struct _EVENT_RECORD *PEVENT_RECORD;
    124 typedef ULONG64 TRACEHANDLE;
    125 typedef ULONG64 *PTRACEHANDLE;
    126 /*****************************************************************************
    127  * ITraceEvent interface
    128  */
    129 #ifndef __ITraceEvent_INTERFACE_DEFINED__
    130 #define __ITraceEvent_INTERFACE_DEFINED__
    131 
    132 DEFINE_GUID(IID_ITraceEvent, 0x8cc97f40, 0x9028, 0x4ff3, 0x9b,0x62, 0x7d,0x1f,0x79,0xca,0x7b,0xcb);
    133 #if defined(__cplusplus) && !defined(CINTERFACE)
    134 MIDL_INTERFACE("8cc97f40-9028-4ff3-9b62-7d1f79ca7bcb")
    135 ITraceEvent : public IUnknown
    136 {
    137     virtual HRESULT STDMETHODCALLTYPE Clone(
    138         ITraceEvent **NewEvent) = 0;
    139 
    140     virtual HRESULT STDMETHODCALLTYPE GetUserContext(
    141         void **UserContext) = 0;
    142 
    143     virtual HRESULT STDMETHODCALLTYPE GetEventRecord(
    144         PEVENT_RECORD *EventRecord) = 0;
    145 
    146     virtual HRESULT STDMETHODCALLTYPE SetPayload(
    147         BYTE *Payload,
    148         ULONG PayloadSize) = 0;
    149 
    150     virtual HRESULT STDMETHODCALLTYPE SetEventDescriptor(
    151         PCEVENT_DESCRIPTOR EventDescriptor) = 0;
    152 
    153     virtual HRESULT STDMETHODCALLTYPE SetProcessId(
    154         ULONG ProcessId) = 0;
    155 
    156     virtual HRESULT STDMETHODCALLTYPE SetProcessorIndex(
    157         ULONG ProcessorIndex) = 0;
    158 
    159     virtual HRESULT STDMETHODCALLTYPE SetThreadId(
    160         ULONG ThreadId) = 0;
    161 
    162     virtual HRESULT STDMETHODCALLTYPE SetThreadTimes(
    163         ULONG KernelTime,
    164         ULONG UserTime) = 0;
    165 
    166     virtual HRESULT STDMETHODCALLTYPE SetActivityId(
    167         LPCGUID ActivityId) = 0;
    168 
    169     virtual HRESULT STDMETHODCALLTYPE SetTimeStamp(
    170         LARGE_INTEGER *TimeStamp) = 0;
    171 
    172     virtual HRESULT STDMETHODCALLTYPE SetProviderId(
    173         LPCGUID ProviderId) = 0;
    174 
    175 };
    176 #ifdef __CRT_UUID_DECL
    177 __CRT_UUID_DECL(ITraceEvent, 0x8cc97f40, 0x9028, 0x4ff3, 0x9b,0x62, 0x7d,0x1f,0x79,0xca,0x7b,0xcb)
    178 #endif
    179 #else
    180 typedef struct ITraceEventVtbl {
    181     BEGIN_INTERFACE
    182 
    183     /*** IUnknown methods ***/
    184     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    185         ITraceEvent *This,
    186         REFIID riid,
    187         void **ppvObject);
    188 
    189     ULONG (STDMETHODCALLTYPE *AddRef)(
    190         ITraceEvent *This);
    191 
    192     ULONG (STDMETHODCALLTYPE *Release)(
    193         ITraceEvent *This);
    194 
    195     /*** ITraceEvent methods ***/
    196     HRESULT (STDMETHODCALLTYPE *Clone)(
    197         ITraceEvent *This,
    198         ITraceEvent **NewEvent);
    199 
    200     HRESULT (STDMETHODCALLTYPE *GetUserContext)(
    201         ITraceEvent *This,
    202         void **UserContext);
    203 
    204     HRESULT (STDMETHODCALLTYPE *GetEventRecord)(
    205         ITraceEvent *This,
    206         PEVENT_RECORD *EventRecord);
    207 
    208     HRESULT (STDMETHODCALLTYPE *SetPayload)(
    209         ITraceEvent *This,
    210         BYTE *Payload,
    211         ULONG PayloadSize);
    212 
    213     HRESULT (STDMETHODCALLTYPE *SetEventDescriptor)(
    214         ITraceEvent *This,
    215         PCEVENT_DESCRIPTOR EventDescriptor);
    216 
    217     HRESULT (STDMETHODCALLTYPE *SetProcessId)(
    218         ITraceEvent *This,
    219         ULONG ProcessId);
    220 
    221     HRESULT (STDMETHODCALLTYPE *SetProcessorIndex)(
    222         ITraceEvent *This,
    223         ULONG ProcessorIndex);
    224 
    225     HRESULT (STDMETHODCALLTYPE *SetThreadId)(
    226         ITraceEvent *This,
    227         ULONG ThreadId);
    228 
    229     HRESULT (STDMETHODCALLTYPE *SetThreadTimes)(
    230         ITraceEvent *This,
    231         ULONG KernelTime,
    232         ULONG UserTime);
    233 
    234     HRESULT (STDMETHODCALLTYPE *SetActivityId)(
    235         ITraceEvent *This,
    236         LPCGUID ActivityId);
    237 
    238     HRESULT (STDMETHODCALLTYPE *SetTimeStamp)(
    239         ITraceEvent *This,
    240         LARGE_INTEGER *TimeStamp);
    241 
    242     HRESULT (STDMETHODCALLTYPE *SetProviderId)(
    243         ITraceEvent *This,
    244         LPCGUID ProviderId);
    245 
    246     END_INTERFACE
    247 } ITraceEventVtbl;
    248 
    249 interface ITraceEvent {
    250     CONST_VTBL ITraceEventVtbl* lpVtbl;
    251 };
    252 
    253 #ifdef COBJMACROS
    254 #ifndef WIDL_C_INLINE_WRAPPERS
    255 /*** IUnknown methods ***/
    256 #define ITraceEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    257 #define ITraceEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
    258 #define ITraceEvent_Release(This) (This)->lpVtbl->Release(This)
    259 /*** ITraceEvent methods ***/
    260 #define ITraceEvent_Clone(This,NewEvent) (This)->lpVtbl->Clone(This,NewEvent)
    261 #define ITraceEvent_GetUserContext(This,UserContext) (This)->lpVtbl->GetUserContext(This,UserContext)
    262 #define ITraceEvent_GetEventRecord(This,EventRecord) (This)->lpVtbl->GetEventRecord(This,EventRecord)
    263 #define ITraceEvent_SetPayload(This,Payload,PayloadSize) (This)->lpVtbl->SetPayload(This,Payload,PayloadSize)
    264 #define ITraceEvent_SetEventDescriptor(This,EventDescriptor) (This)->lpVtbl->SetEventDescriptor(This,EventDescriptor)
    265 #define ITraceEvent_SetProcessId(This,ProcessId) (This)->lpVtbl->SetProcessId(This,ProcessId)
    266 #define ITraceEvent_SetProcessorIndex(This,ProcessorIndex) (This)->lpVtbl->SetProcessorIndex(This,ProcessorIndex)
    267 #define ITraceEvent_SetThreadId(This,ThreadId) (This)->lpVtbl->SetThreadId(This,ThreadId)
    268 #define ITraceEvent_SetThreadTimes(This,KernelTime,UserTime) (This)->lpVtbl->SetThreadTimes(This,KernelTime,UserTime)
    269 #define ITraceEvent_SetActivityId(This,ActivityId) (This)->lpVtbl->SetActivityId(This,ActivityId)
    270 #define ITraceEvent_SetTimeStamp(This,TimeStamp) (This)->lpVtbl->SetTimeStamp(This,TimeStamp)
    271 #define ITraceEvent_SetProviderId(This,ProviderId) (This)->lpVtbl->SetProviderId(This,ProviderId)
    272 #else
    273 /*** IUnknown methods ***/
    274 static inline HRESULT ITraceEvent_QueryInterface(ITraceEvent* This,REFIID riid,void **ppvObject) {
    275     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    276 }
    277 static inline ULONG ITraceEvent_AddRef(ITraceEvent* This) {
    278     return This->lpVtbl->AddRef(This);
    279 }
    280 static inline ULONG ITraceEvent_Release(ITraceEvent* This) {
    281     return This->lpVtbl->Release(This);
    282 }
    283 /*** ITraceEvent methods ***/
    284 static inline HRESULT ITraceEvent_Clone(ITraceEvent* This,ITraceEvent **NewEvent) {
    285     return This->lpVtbl->Clone(This,NewEvent);
    286 }
    287 static inline HRESULT ITraceEvent_GetUserContext(ITraceEvent* This,void **UserContext) {
    288     return This->lpVtbl->GetUserContext(This,UserContext);
    289 }
    290 static inline HRESULT ITraceEvent_GetEventRecord(ITraceEvent* This,PEVENT_RECORD *EventRecord) {
    291     return This->lpVtbl->GetEventRecord(This,EventRecord);
    292 }
    293 static inline HRESULT ITraceEvent_SetPayload(ITraceEvent* This,BYTE *Payload,ULONG PayloadSize) {
    294     return This->lpVtbl->SetPayload(This,Payload,PayloadSize);
    295 }
    296 static inline HRESULT ITraceEvent_SetEventDescriptor(ITraceEvent* This,PCEVENT_DESCRIPTOR EventDescriptor) {
    297     return This->lpVtbl->SetEventDescriptor(This,EventDescriptor);
    298 }
    299 static inline HRESULT ITraceEvent_SetProcessId(ITraceEvent* This,ULONG ProcessId) {
    300     return This->lpVtbl->SetProcessId(This,ProcessId);
    301 }
    302 static inline HRESULT ITraceEvent_SetProcessorIndex(ITraceEvent* This,ULONG ProcessorIndex) {
    303     return This->lpVtbl->SetProcessorIndex(This,ProcessorIndex);
    304 }
    305 static inline HRESULT ITraceEvent_SetThreadId(ITraceEvent* This,ULONG ThreadId) {
    306     return This->lpVtbl->SetThreadId(This,ThreadId);
    307 }
    308 static inline HRESULT ITraceEvent_SetThreadTimes(ITraceEvent* This,ULONG KernelTime,ULONG UserTime) {
    309     return This->lpVtbl->SetThreadTimes(This,KernelTime,UserTime);
    310 }
    311 static inline HRESULT ITraceEvent_SetActivityId(ITraceEvent* This,LPCGUID ActivityId) {
    312     return This->lpVtbl->SetActivityId(This,ActivityId);
    313 }
    314 static inline HRESULT ITraceEvent_SetTimeStamp(ITraceEvent* This,LARGE_INTEGER *TimeStamp) {
    315     return This->lpVtbl->SetTimeStamp(This,TimeStamp);
    316 }
    317 static inline HRESULT ITraceEvent_SetProviderId(ITraceEvent* This,LPCGUID ProviderId) {
    318     return This->lpVtbl->SetProviderId(This,ProviderId);
    319 }
    320 #endif
    321 #endif
    322 
    323 #endif
    324 
    325 
    326 #endif  /* __ITraceEvent_INTERFACE_DEFINED__ */
    327 
    328 #ifndef __ITraceRelogger_FWD_DEFINED__
    329 #define __ITraceRelogger_FWD_DEFINED__
    330 typedef interface ITraceRelogger ITraceRelogger;
    331 #ifdef __cplusplus
    332 interface ITraceRelogger;
    333 #endif /* __cplusplus */
    334 #endif
    335 
    336 /*****************************************************************************
    337  * ITraceEventCallback interface
    338  */
    339 #ifndef __ITraceEventCallback_INTERFACE_DEFINED__
    340 #define __ITraceEventCallback_INTERFACE_DEFINED__
    341 
    342 DEFINE_GUID(IID_ITraceEventCallback, 0x3ed25501, 0x593f, 0x43e9, 0x8f,0x38, 0x3a,0xb4,0x6f,0x5a,0x4a,0x52);
    343 #if defined(__cplusplus) && !defined(CINTERFACE)
    344 MIDL_INTERFACE("3ed25501-593f-43e9-8f38-3ab46f5a4a52")
    345 ITraceEventCallback : public IUnknown
    346 {
    347     virtual HRESULT STDMETHODCALLTYPE OnBeginProcessTrace(
    348         ITraceEvent *HeaderEvent,
    349         ITraceRelogger *Relogger) = 0;
    350 
    351     virtual HRESULT STDMETHODCALLTYPE OnFinalizeProcessTrace(
    352         ITraceRelogger *Relogger) = 0;
    353 
    354     virtual HRESULT STDMETHODCALLTYPE OnEvent(
    355         ITraceEvent *Event,
    356         ITraceRelogger *Relogger) = 0;
    357 
    358 };
    359 #ifdef __CRT_UUID_DECL
    360 __CRT_UUID_DECL(ITraceEventCallback, 0x3ed25501, 0x593f, 0x43e9, 0x8f,0x38, 0x3a,0xb4,0x6f,0x5a,0x4a,0x52)
    361 #endif
    362 #else
    363 typedef struct ITraceEventCallbackVtbl {
    364     BEGIN_INTERFACE
    365 
    366     /*** IUnknown methods ***/
    367     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    368         ITraceEventCallback *This,
    369         REFIID riid,
    370         void **ppvObject);
    371 
    372     ULONG (STDMETHODCALLTYPE *AddRef)(
    373         ITraceEventCallback *This);
    374 
    375     ULONG (STDMETHODCALLTYPE *Release)(
    376         ITraceEventCallback *This);
    377 
    378     /*** ITraceEventCallback methods ***/
    379     HRESULT (STDMETHODCALLTYPE *OnBeginProcessTrace)(
    380         ITraceEventCallback *This,
    381         ITraceEvent *HeaderEvent,
    382         ITraceRelogger *Relogger);
    383 
    384     HRESULT (STDMETHODCALLTYPE *OnFinalizeProcessTrace)(
    385         ITraceEventCallback *This,
    386         ITraceRelogger *Relogger);
    387 
    388     HRESULT (STDMETHODCALLTYPE *OnEvent)(
    389         ITraceEventCallback *This,
    390         ITraceEvent *Event,
    391         ITraceRelogger *Relogger);
    392 
    393     END_INTERFACE
    394 } ITraceEventCallbackVtbl;
    395 
    396 interface ITraceEventCallback {
    397     CONST_VTBL ITraceEventCallbackVtbl* lpVtbl;
    398 };
    399 
    400 #ifdef COBJMACROS
    401 #ifndef WIDL_C_INLINE_WRAPPERS
    402 /*** IUnknown methods ***/
    403 #define ITraceEventCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    404 #define ITraceEventCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
    405 #define ITraceEventCallback_Release(This) (This)->lpVtbl->Release(This)
    406 /*** ITraceEventCallback methods ***/
    407 #define ITraceEventCallback_OnBeginProcessTrace(This,HeaderEvent,Relogger) (This)->lpVtbl->OnBeginProcessTrace(This,HeaderEvent,Relogger)
    408 #define ITraceEventCallback_OnFinalizeProcessTrace(This,Relogger) (This)->lpVtbl->OnFinalizeProcessTrace(This,Relogger)
    409 #define ITraceEventCallback_OnEvent(This,Event,Relogger) (This)->lpVtbl->OnEvent(This,Event,Relogger)
    410 #else
    411 /*** IUnknown methods ***/
    412 static inline HRESULT ITraceEventCallback_QueryInterface(ITraceEventCallback* This,REFIID riid,void **ppvObject) {
    413     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    414 }
    415 static inline ULONG ITraceEventCallback_AddRef(ITraceEventCallback* This) {
    416     return This->lpVtbl->AddRef(This);
    417 }
    418 static inline ULONG ITraceEventCallback_Release(ITraceEventCallback* This) {
    419     return This->lpVtbl->Release(This);
    420 }
    421 /*** ITraceEventCallback methods ***/
    422 static inline HRESULT ITraceEventCallback_OnBeginProcessTrace(ITraceEventCallback* This,ITraceEvent *HeaderEvent,ITraceRelogger *Relogger) {
    423     return This->lpVtbl->OnBeginProcessTrace(This,HeaderEvent,Relogger);
    424 }
    425 static inline HRESULT ITraceEventCallback_OnFinalizeProcessTrace(ITraceEventCallback* This,ITraceRelogger *Relogger) {
    426     return This->lpVtbl->OnFinalizeProcessTrace(This,Relogger);
    427 }
    428 static inline HRESULT ITraceEventCallback_OnEvent(ITraceEventCallback* This,ITraceEvent *Event,ITraceRelogger *Relogger) {
    429     return This->lpVtbl->OnEvent(This,Event,Relogger);
    430 }
    431 #endif
    432 #endif
    433 
    434 #endif
    435 
    436 
    437 #endif  /* __ITraceEventCallback_INTERFACE_DEFINED__ */
    438 
    439 /*****************************************************************************
    440  * ITraceRelogger interface
    441  */
    442 #ifndef __ITraceRelogger_INTERFACE_DEFINED__
    443 #define __ITraceRelogger_INTERFACE_DEFINED__
    444 
    445 DEFINE_GUID(IID_ITraceRelogger, 0xf754ad43, 0x3bcc, 0x4286, 0x80,0x09, 0x9c,0x5d,0xa2,0x14,0xe8,0x4e);
    446 #if defined(__cplusplus) && !defined(CINTERFACE)
    447 MIDL_INTERFACE("f754ad43-3bcc-4286-8009-9c5da214e84e")
    448 ITraceRelogger : public IUnknown
    449 {
    450     virtual HRESULT STDMETHODCALLTYPE AddLogfileTraceStream(
    451         BSTR LogfileName,
    452         void *UserContext,
    453         TRACEHANDLE *TraceHandle) = 0;
    454 
    455     virtual HRESULT STDMETHODCALLTYPE AddRealtimeTraceStream(
    456         BSTR LoggerName,
    457         void *UserContext,
    458         TRACEHANDLE *TraceHandle) = 0;
    459 
    460     virtual HRESULT STDMETHODCALLTYPE RegisterCallback(
    461         ITraceEventCallback *Callback) = 0;
    462 
    463     virtual HRESULT STDMETHODCALLTYPE Inject(
    464         ITraceEvent *Event) = 0;
    465 
    466     virtual HRESULT STDMETHODCALLTYPE CreateEventInstance(
    467         TRACEHANDLE TraceHandle,
    468         ULONG Flags,
    469         ITraceEvent **Event) = 0;
    470 
    471     virtual HRESULT STDMETHODCALLTYPE ProcessTrace(
    472         ) = 0;
    473 
    474     virtual HRESULT STDMETHODCALLTYPE SetOutputFilename(
    475         BSTR LogfileName) = 0;
    476 
    477     virtual HRESULT STDMETHODCALLTYPE SetCompressionMode(
    478         BOOLEAN CompressionMode) = 0;
    479 
    480     virtual HRESULT STDMETHODCALLTYPE Cancel(
    481         ) = 0;
    482 
    483 };
    484 #ifdef __CRT_UUID_DECL
    485 __CRT_UUID_DECL(ITraceRelogger, 0xf754ad43, 0x3bcc, 0x4286, 0x80,0x09, 0x9c,0x5d,0xa2,0x14,0xe8,0x4e)
    486 #endif
    487 #else
    488 typedef struct ITraceReloggerVtbl {
    489     BEGIN_INTERFACE
    490 
    491     /*** IUnknown methods ***/
    492     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    493         ITraceRelogger *This,
    494         REFIID riid,
    495         void **ppvObject);
    496 
    497     ULONG (STDMETHODCALLTYPE *AddRef)(
    498         ITraceRelogger *This);
    499 
    500     ULONG (STDMETHODCALLTYPE *Release)(
    501         ITraceRelogger *This);
    502 
    503     /*** ITraceRelogger methods ***/
    504     HRESULT (STDMETHODCALLTYPE *AddLogfileTraceStream)(
    505         ITraceRelogger *This,
    506         BSTR LogfileName,
    507         void *UserContext,
    508         TRACEHANDLE *TraceHandle);
    509 
    510     HRESULT (STDMETHODCALLTYPE *AddRealtimeTraceStream)(
    511         ITraceRelogger *This,
    512         BSTR LoggerName,
    513         void *UserContext,
    514         TRACEHANDLE *TraceHandle);
    515 
    516     HRESULT (STDMETHODCALLTYPE *RegisterCallback)(
    517         ITraceRelogger *This,
    518         ITraceEventCallback *Callback);
    519 
    520     HRESULT (STDMETHODCALLTYPE *Inject)(
    521         ITraceRelogger *This,
    522         ITraceEvent *Event);
    523 
    524     HRESULT (STDMETHODCALLTYPE *CreateEventInstance)(
    525         ITraceRelogger *This,
    526         TRACEHANDLE TraceHandle,
    527         ULONG Flags,
    528         ITraceEvent **Event);
    529 
    530     HRESULT (STDMETHODCALLTYPE *ProcessTrace)(
    531         ITraceRelogger *This);
    532 
    533     HRESULT (STDMETHODCALLTYPE *SetOutputFilename)(
    534         ITraceRelogger *This,
    535         BSTR LogfileName);
    536 
    537     HRESULT (STDMETHODCALLTYPE *SetCompressionMode)(
    538         ITraceRelogger *This,
    539         BOOLEAN CompressionMode);
    540 
    541     HRESULT (STDMETHODCALLTYPE *Cancel)(
    542         ITraceRelogger *This);
    543 
    544     END_INTERFACE
    545 } ITraceReloggerVtbl;
    546 
    547 interface ITraceRelogger {
    548     CONST_VTBL ITraceReloggerVtbl* lpVtbl;
    549 };
    550 
    551 #ifdef COBJMACROS
    552 #ifndef WIDL_C_INLINE_WRAPPERS
    553 /*** IUnknown methods ***/
    554 #define ITraceRelogger_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    555 #define ITraceRelogger_AddRef(This) (This)->lpVtbl->AddRef(This)
    556 #define ITraceRelogger_Release(This) (This)->lpVtbl->Release(This)
    557 /*** ITraceRelogger methods ***/
    558 #define ITraceRelogger_AddLogfileTraceStream(This,LogfileName,UserContext,TraceHandle) (This)->lpVtbl->AddLogfileTraceStream(This,LogfileName,UserContext,TraceHandle)
    559 #define ITraceRelogger_AddRealtimeTraceStream(This,LoggerName,UserContext,TraceHandle) (This)->lpVtbl->AddRealtimeTraceStream(This,LoggerName,UserContext,TraceHandle)
    560 #define ITraceRelogger_RegisterCallback(This,Callback) (This)->lpVtbl->RegisterCallback(This,Callback)
    561 #define ITraceRelogger_Inject(This,Event) (This)->lpVtbl->Inject(This,Event)
    562 #define ITraceRelogger_CreateEventInstance(This,TraceHandle,Flags,Event) (This)->lpVtbl->CreateEventInstance(This,TraceHandle,Flags,Event)
    563 #define ITraceRelogger_ProcessTrace(This) (This)->lpVtbl->ProcessTrace(This)
    564 #define ITraceRelogger_SetOutputFilename(This,LogfileName) (This)->lpVtbl->SetOutputFilename(This,LogfileName)
    565 #define ITraceRelogger_SetCompressionMode(This,CompressionMode) (This)->lpVtbl->SetCompressionMode(This,CompressionMode)
    566 #define ITraceRelogger_Cancel(This) (This)->lpVtbl->Cancel(This)
    567 #else
    568 /*** IUnknown methods ***/
    569 static inline HRESULT ITraceRelogger_QueryInterface(ITraceRelogger* This,REFIID riid,void **ppvObject) {
    570     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    571 }
    572 static inline ULONG ITraceRelogger_AddRef(ITraceRelogger* This) {
    573     return This->lpVtbl->AddRef(This);
    574 }
    575 static inline ULONG ITraceRelogger_Release(ITraceRelogger* This) {
    576     return This->lpVtbl->Release(This);
    577 }
    578 /*** ITraceRelogger methods ***/
    579 static inline HRESULT ITraceRelogger_AddLogfileTraceStream(ITraceRelogger* This,BSTR LogfileName,void *UserContext,TRACEHANDLE *TraceHandle) {
    580     return This->lpVtbl->AddLogfileTraceStream(This,LogfileName,UserContext,TraceHandle);
    581 }
    582 static inline HRESULT ITraceRelogger_AddRealtimeTraceStream(ITraceRelogger* This,BSTR LoggerName,void *UserContext,TRACEHANDLE *TraceHandle) {
    583     return This->lpVtbl->AddRealtimeTraceStream(This,LoggerName,UserContext,TraceHandle);
    584 }
    585 static inline HRESULT ITraceRelogger_RegisterCallback(ITraceRelogger* This,ITraceEventCallback *Callback) {
    586     return This->lpVtbl->RegisterCallback(This,Callback);
    587 }
    588 static inline HRESULT ITraceRelogger_Inject(ITraceRelogger* This,ITraceEvent *Event) {
    589     return This->lpVtbl->Inject(This,Event);
    590 }
    591 static inline HRESULT ITraceRelogger_CreateEventInstance(ITraceRelogger* This,TRACEHANDLE TraceHandle,ULONG Flags,ITraceEvent **Event) {
    592     return This->lpVtbl->CreateEventInstance(This,TraceHandle,Flags,Event);
    593 }
    594 static inline HRESULT ITraceRelogger_ProcessTrace(ITraceRelogger* This) {
    595     return This->lpVtbl->ProcessTrace(This);
    596 }
    597 static inline HRESULT ITraceRelogger_SetOutputFilename(ITraceRelogger* This,BSTR LogfileName) {
    598     return This->lpVtbl->SetOutputFilename(This,LogfileName);
    599 }
    600 static inline HRESULT ITraceRelogger_SetCompressionMode(ITraceRelogger* This,BOOLEAN CompressionMode) {
    601     return This->lpVtbl->SetCompressionMode(This,CompressionMode);
    602 }
    603 static inline HRESULT ITraceRelogger_Cancel(ITraceRelogger* This) {
    604     return This->lpVtbl->Cancel(This);
    605 }
    606 #endif
    607 #endif
    608 
    609 #endif
    610 
    611 
    612 #endif  /* __ITraceRelogger_INTERFACE_DEFINED__ */
    613 
    614 /*****************************************************************************
    615  * CTraceRelogger coclass
    616  */
    617 
    618 DEFINE_GUID(CLSID_CTraceRelogger, 0x7b40792d, 0x05ff, 0x44c4, 0x90,0x58, 0xf4,0x40,0xc7,0x1f,0x17,0xd4);
    619 
    620 #ifdef __cplusplus
    621 class DECLSPEC_UUID("7b40792d-05ff-44c4-9058-f440c71f17d4") CTraceRelogger;
    622 #ifdef __CRT_UUID_DECL
    623 __CRT_UUID_DECL(CTraceRelogger, 0x7b40792d, 0x05ff, 0x44c4, 0x90,0x58, 0xf4,0x40,0xc7,0x1f,0x17,0xd4)
    624 #endif
    625 #endif
    626 
    627 /* Begin additional prototypes for all interfaces */
    628 
    629 
    630 /* End additional prototypes */
    631 
    632 #ifdef __cplusplus
    633 }
    634 #endif
    635 
    636 #endif /* __relogger_h__ */