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__ */