1 /*** Autogenerated by WIDL 6.4 from include/activprof.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 __activprof_h__ 17 #define __activprof_h__ 18 19 /* Forward declarations */ 20 21 #ifndef __IActiveScriptProfilerControl_FWD_DEFINED__ 22 #define __IActiveScriptProfilerControl_FWD_DEFINED__ 23 typedef interface IActiveScriptProfilerControl IActiveScriptProfilerControl; 24 #ifdef __cplusplus 25 interface IActiveScriptProfilerControl; 26 #endif /* __cplusplus */ 27 #endif 28 29 #ifndef __IActiveScriptProfilerControl2_FWD_DEFINED__ 30 #define __IActiveScriptProfilerControl2_FWD_DEFINED__ 31 typedef interface IActiveScriptProfilerControl2 IActiveScriptProfilerControl2; 32 #ifdef __cplusplus 33 interface IActiveScriptProfilerControl2; 34 #endif /* __cplusplus */ 35 #endif 36 37 #ifndef __IActiveScriptProfilerHeapEnum_FWD_DEFINED__ 38 #define __IActiveScriptProfilerHeapEnum_FWD_DEFINED__ 39 typedef interface IActiveScriptProfilerHeapEnum IActiveScriptProfilerHeapEnum; 40 #ifdef __cplusplus 41 interface IActiveScriptProfilerHeapEnum; 42 #endif /* __cplusplus */ 43 #endif 44 45 #ifndef __IActiveScriptProfilerControl3_FWD_DEFINED__ 46 #define __IActiveScriptProfilerControl3_FWD_DEFINED__ 47 typedef interface IActiveScriptProfilerControl3 IActiveScriptProfilerControl3; 48 #ifdef __cplusplus 49 interface IActiveScriptProfilerControl3; 50 #endif /* __cplusplus */ 51 #endif 52 53 #ifndef __IActiveScriptProfilerCallback_FWD_DEFINED__ 54 #define __IActiveScriptProfilerCallback_FWD_DEFINED__ 55 typedef interface IActiveScriptProfilerCallback IActiveScriptProfilerCallback; 56 #ifdef __cplusplus 57 interface IActiveScriptProfilerCallback; 58 #endif /* __cplusplus */ 59 #endif 60 61 #ifndef __IActiveScriptProfilerCallback2_FWD_DEFINED__ 62 #define __IActiveScriptProfilerCallback2_FWD_DEFINED__ 63 typedef interface IActiveScriptProfilerCallback2 IActiveScriptProfilerCallback2; 64 #ifdef __cplusplus 65 interface IActiveScriptProfilerCallback2; 66 #endif /* __cplusplus */ 67 #endif 68 69 #ifndef __IActiveScriptProfilerCallback3_FWD_DEFINED__ 70 #define __IActiveScriptProfilerCallback3_FWD_DEFINED__ 71 typedef interface IActiveScriptProfilerCallback3 IActiveScriptProfilerCallback3; 72 #ifdef __cplusplus 73 interface IActiveScriptProfilerCallback3; 74 #endif /* __cplusplus */ 75 #endif 76 77 /* Headers for imported files */ 78 79 #include <unknwn.h> 80 81 #ifdef __cplusplus 82 extern "C" { 83 #endif 84 85 /** 86 * This file is part of the mingw-w64 runtime package. 87 * No warranty is given; refer to the file DISCLAIMER within this package. 88 */ 89 90 #include <winapifamily.h> 91 92 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 93 94 const HRESULT ACTIVPROF_E_PROFILER_PRESENT = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0200); 95 const HRESULT ACTIVPROF_E_PROFILER_ABSENT = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0201); 96 const HRESULT ACTIVPROF_E_UNABLE_TO_APPLY_ACTION = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0202); 97 const ULONG PROFILER_HEAP_OBJECT_NAME_ID_UNAVAILABLE=(ULONG)-1; 98 99 #ifndef __ActivProf_h 100 #define __ActivProf_h 101 102 103 #ifndef _NO_SCRIPT_GUIDS 104 DEFINE_GUID(IID_IActiveScriptProfilerHeapEnum, 0x32e4694e, 0xd37, 0x419b, 0xb9, 0x3d, 0xfa, 0x20, 0xde, 0xd6, 0xe8, 0xea); 105 DEFINE_GUID(IID_IActiveScriptProfilerControl3, 0xb403015, 0xf381, 0x4023, 0xa5, 0xd0, 0x6f, 0xed, 0x7, 0x6d, 0xe7, 0x16); 106 #endif 107 108 typedef enum __WIDL_activprof_generated_name_0000000C { 109 PROFILER_SCRIPT_TYPE_USER = 0, 110 PROFILER_SCRIPT_TYPE_DYNAMIC = 1, 111 PROFILER_SCRIPT_TYPE_NATIVE = 2, 112 PROFILER_SCRIPT_TYPE_DOM = 3 113 } PROFILER_SCRIPT_TYPE; 114 115 typedef enum __WIDL_activprof_generated_name_0000000D { 116 PROFILER_EVENT_MASK_TRACE_SCRIPT_FUNCTION_CALL = 0x1, 117 PROFILER_EVENT_MASK_TRACE_NATIVE_FUNCTION_CALL = 0x2, 118 PROFILER_EVENT_MASK_TRACE_DOM_FUNCTION_CALL = 0x4, 119 PROFILER_EVENT_MASK_TRACE_ALL = PROFILER_EVENT_MASK_TRACE_SCRIPT_FUNCTION_CALL | PROFILER_EVENT_MASK_TRACE_NATIVE_FUNCTION_CALL, 120 PROFILER_EVENT_MASK_TRACE_ALL_WITH_DOM = PROFILER_EVENT_MASK_TRACE_ALL | PROFILER_EVENT_MASK_TRACE_DOM_FUNCTION_CALL 121 } PROFILER_EVENT_MASK; 122 123 typedef LONG PROFILER_TOKEN; 124 125 /***************************************************************************** 126 * IActiveScriptProfilerControl interface 127 */ 128 #ifndef __IActiveScriptProfilerControl_INTERFACE_DEFINED__ 129 #define __IActiveScriptProfilerControl_INTERFACE_DEFINED__ 130 131 DEFINE_GUID(IID_IActiveScriptProfilerControl, 0x784b5ff0, 0x69b0, 0x47d1, 0xa7,0xdc, 0x25,0x18,0xf4,0x23,0x0e,0x90); 132 #if defined(__cplusplus) && !defined(CINTERFACE) 133 MIDL_INTERFACE("784b5ff0-69b0-47d1-a7dc-2518f4230e90") 134 IActiveScriptProfilerControl : public IUnknown 135 { 136 virtual HRESULT STDMETHODCALLTYPE StartProfiling( 137 REFCLSID clsidProfilerObject, 138 DWORD dwEventMask, 139 DWORD dwContext) = 0; 140 141 virtual HRESULT STDMETHODCALLTYPE SetProfilerEventMask( 142 DWORD dwEventMask) = 0; 143 144 virtual HRESULT STDMETHODCALLTYPE StopProfiling( 145 HRESULT hrShutdownReason) = 0; 146 147 }; 148 #ifdef __CRT_UUID_DECL 149 __CRT_UUID_DECL(IActiveScriptProfilerControl, 0x784b5ff0, 0x69b0, 0x47d1, 0xa7,0xdc, 0x25,0x18,0xf4,0x23,0x0e,0x90) 150 #endif 151 #else 152 typedef struct IActiveScriptProfilerControlVtbl { 153 BEGIN_INTERFACE 154 155 /*** IUnknown methods ***/ 156 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 157 IActiveScriptProfilerControl *This, 158 REFIID riid, 159 void **ppvObject); 160 161 ULONG (STDMETHODCALLTYPE *AddRef)( 162 IActiveScriptProfilerControl *This); 163 164 ULONG (STDMETHODCALLTYPE *Release)( 165 IActiveScriptProfilerControl *This); 166 167 /*** IActiveScriptProfilerControl methods ***/ 168 HRESULT (STDMETHODCALLTYPE *StartProfiling)( 169 IActiveScriptProfilerControl *This, 170 REFCLSID clsidProfilerObject, 171 DWORD dwEventMask, 172 DWORD dwContext); 173 174 HRESULT (STDMETHODCALLTYPE *SetProfilerEventMask)( 175 IActiveScriptProfilerControl *This, 176 DWORD dwEventMask); 177 178 HRESULT (STDMETHODCALLTYPE *StopProfiling)( 179 IActiveScriptProfilerControl *This, 180 HRESULT hrShutdownReason); 181 182 END_INTERFACE 183 } IActiveScriptProfilerControlVtbl; 184 185 interface IActiveScriptProfilerControl { 186 CONST_VTBL IActiveScriptProfilerControlVtbl* lpVtbl; 187 }; 188 189 #ifdef COBJMACROS 190 #ifndef WIDL_C_INLINE_WRAPPERS 191 /*** IUnknown methods ***/ 192 #define IActiveScriptProfilerControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 193 #define IActiveScriptProfilerControl_AddRef(This) (This)->lpVtbl->AddRef(This) 194 #define IActiveScriptProfilerControl_Release(This) (This)->lpVtbl->Release(This) 195 /*** IActiveScriptProfilerControl methods ***/ 196 #define IActiveScriptProfilerControl_StartProfiling(This,clsidProfilerObject,dwEventMask,dwContext) (This)->lpVtbl->StartProfiling(This,clsidProfilerObject,dwEventMask,dwContext) 197 #define IActiveScriptProfilerControl_SetProfilerEventMask(This,dwEventMask) (This)->lpVtbl->SetProfilerEventMask(This,dwEventMask) 198 #define IActiveScriptProfilerControl_StopProfiling(This,hrShutdownReason) (This)->lpVtbl->StopProfiling(This,hrShutdownReason) 199 #else 200 /*** IUnknown methods ***/ 201 static FORCEINLINE HRESULT IActiveScriptProfilerControl_QueryInterface(IActiveScriptProfilerControl* This,REFIID riid,void **ppvObject) { 202 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 203 } 204 static FORCEINLINE ULONG IActiveScriptProfilerControl_AddRef(IActiveScriptProfilerControl* This) { 205 return This->lpVtbl->AddRef(This); 206 } 207 static FORCEINLINE ULONG IActiveScriptProfilerControl_Release(IActiveScriptProfilerControl* This) { 208 return This->lpVtbl->Release(This); 209 } 210 /*** IActiveScriptProfilerControl methods ***/ 211 static FORCEINLINE HRESULT IActiveScriptProfilerControl_StartProfiling(IActiveScriptProfilerControl* This,REFCLSID clsidProfilerObject,DWORD dwEventMask,DWORD dwContext) { 212 return This->lpVtbl->StartProfiling(This,clsidProfilerObject,dwEventMask,dwContext); 213 } 214 static FORCEINLINE HRESULT IActiveScriptProfilerControl_SetProfilerEventMask(IActiveScriptProfilerControl* This,DWORD dwEventMask) { 215 return This->lpVtbl->SetProfilerEventMask(This,dwEventMask); 216 } 217 static FORCEINLINE HRESULT IActiveScriptProfilerControl_StopProfiling(IActiveScriptProfilerControl* This,HRESULT hrShutdownReason) { 218 return This->lpVtbl->StopProfiling(This,hrShutdownReason); 219 } 220 #endif 221 #endif 222 223 #endif 224 225 226 #endif /* __IActiveScriptProfilerControl_INTERFACE_DEFINED__ */ 227 228 229 /***************************************************************************** 230 * IActiveScriptProfilerControl2 interface 231 */ 232 #ifndef __IActiveScriptProfilerControl2_INTERFACE_DEFINED__ 233 #define __IActiveScriptProfilerControl2_INTERFACE_DEFINED__ 234 235 DEFINE_GUID(IID_IActiveScriptProfilerControl2, 0x47810165, 0x498f, 0x40be, 0x94,0xf1, 0x65,0x35,0x57,0xe9,0xe7,0xda); 236 #if defined(__cplusplus) && !defined(CINTERFACE) 237 MIDL_INTERFACE("47810165-498f-40be-94f1-653557e9e7da") 238 IActiveScriptProfilerControl2 : public IActiveScriptProfilerControl 239 { 240 virtual HRESULT STDMETHODCALLTYPE CompleteProfilerStart( 241 ) = 0; 242 243 virtual HRESULT STDMETHODCALLTYPE PrepareProfilerStop( 244 ) = 0; 245 246 }; 247 #ifdef __CRT_UUID_DECL 248 __CRT_UUID_DECL(IActiveScriptProfilerControl2, 0x47810165, 0x498f, 0x40be, 0x94,0xf1, 0x65,0x35,0x57,0xe9,0xe7,0xda) 249 #endif 250 #else 251 typedef struct IActiveScriptProfilerControl2Vtbl { 252 BEGIN_INTERFACE 253 254 /*** IUnknown methods ***/ 255 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 256 IActiveScriptProfilerControl2 *This, 257 REFIID riid, 258 void **ppvObject); 259 260 ULONG (STDMETHODCALLTYPE *AddRef)( 261 IActiveScriptProfilerControl2 *This); 262 263 ULONG (STDMETHODCALLTYPE *Release)( 264 IActiveScriptProfilerControl2 *This); 265 266 /*** IActiveScriptProfilerControl methods ***/ 267 HRESULT (STDMETHODCALLTYPE *StartProfiling)( 268 IActiveScriptProfilerControl2 *This, 269 REFCLSID clsidProfilerObject, 270 DWORD dwEventMask, 271 DWORD dwContext); 272 273 HRESULT (STDMETHODCALLTYPE *SetProfilerEventMask)( 274 IActiveScriptProfilerControl2 *This, 275 DWORD dwEventMask); 276 277 HRESULT (STDMETHODCALLTYPE *StopProfiling)( 278 IActiveScriptProfilerControl2 *This, 279 HRESULT hrShutdownReason); 280 281 /*** IActiveScriptProfilerControl2 methods ***/ 282 HRESULT (STDMETHODCALLTYPE *CompleteProfilerStart)( 283 IActiveScriptProfilerControl2 *This); 284 285 HRESULT (STDMETHODCALLTYPE *PrepareProfilerStop)( 286 IActiveScriptProfilerControl2 *This); 287 288 END_INTERFACE 289 } IActiveScriptProfilerControl2Vtbl; 290 291 interface IActiveScriptProfilerControl2 { 292 CONST_VTBL IActiveScriptProfilerControl2Vtbl* lpVtbl; 293 }; 294 295 #ifdef COBJMACROS 296 #ifndef WIDL_C_INLINE_WRAPPERS 297 /*** IUnknown methods ***/ 298 #define IActiveScriptProfilerControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 299 #define IActiveScriptProfilerControl2_AddRef(This) (This)->lpVtbl->AddRef(This) 300 #define IActiveScriptProfilerControl2_Release(This) (This)->lpVtbl->Release(This) 301 /*** IActiveScriptProfilerControl methods ***/ 302 #define IActiveScriptProfilerControl2_StartProfiling(This,clsidProfilerObject,dwEventMask,dwContext) (This)->lpVtbl->StartProfiling(This,clsidProfilerObject,dwEventMask,dwContext) 303 #define IActiveScriptProfilerControl2_SetProfilerEventMask(This,dwEventMask) (This)->lpVtbl->SetProfilerEventMask(This,dwEventMask) 304 #define IActiveScriptProfilerControl2_StopProfiling(This,hrShutdownReason) (This)->lpVtbl->StopProfiling(This,hrShutdownReason) 305 /*** IActiveScriptProfilerControl2 methods ***/ 306 #define IActiveScriptProfilerControl2_CompleteProfilerStart(This) (This)->lpVtbl->CompleteProfilerStart(This) 307 #define IActiveScriptProfilerControl2_PrepareProfilerStop(This) (This)->lpVtbl->PrepareProfilerStop(This) 308 #else 309 /*** IUnknown methods ***/ 310 static FORCEINLINE HRESULT IActiveScriptProfilerControl2_QueryInterface(IActiveScriptProfilerControl2* This,REFIID riid,void **ppvObject) { 311 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 312 } 313 static FORCEINLINE ULONG IActiveScriptProfilerControl2_AddRef(IActiveScriptProfilerControl2* This) { 314 return This->lpVtbl->AddRef(This); 315 } 316 static FORCEINLINE ULONG IActiveScriptProfilerControl2_Release(IActiveScriptProfilerControl2* This) { 317 return This->lpVtbl->Release(This); 318 } 319 /*** IActiveScriptProfilerControl methods ***/ 320 static FORCEINLINE HRESULT IActiveScriptProfilerControl2_StartProfiling(IActiveScriptProfilerControl2* This,REFCLSID clsidProfilerObject,DWORD dwEventMask,DWORD dwContext) { 321 return This->lpVtbl->StartProfiling(This,clsidProfilerObject,dwEventMask,dwContext); 322 } 323 static FORCEINLINE HRESULT IActiveScriptProfilerControl2_SetProfilerEventMask(IActiveScriptProfilerControl2* This,DWORD dwEventMask) { 324 return This->lpVtbl->SetProfilerEventMask(This,dwEventMask); 325 } 326 static FORCEINLINE HRESULT IActiveScriptProfilerControl2_StopProfiling(IActiveScriptProfilerControl2* This,HRESULT hrShutdownReason) { 327 return This->lpVtbl->StopProfiling(This,hrShutdownReason); 328 } 329 /*** IActiveScriptProfilerControl2 methods ***/ 330 static FORCEINLINE HRESULT IActiveScriptProfilerControl2_CompleteProfilerStart(IActiveScriptProfilerControl2* This) { 331 return This->lpVtbl->CompleteProfilerStart(This); 332 } 333 static FORCEINLINE HRESULT IActiveScriptProfilerControl2_PrepareProfilerStop(IActiveScriptProfilerControl2* This) { 334 return This->lpVtbl->PrepareProfilerStop(This); 335 } 336 #endif 337 #endif 338 339 #endif 340 341 342 #endif /* __IActiveScriptProfilerControl2_INTERFACE_DEFINED__ */ 343 344 345 typedef DWORD_PTR PROFILER_HEAP_OBJECT_ID; 346 typedef UINT PROFILER_HEAP_OBJECT_NAME_ID; 347 typedef void *PROFILER_EXTERNAL_OBJECT_ADDRESS; 348 349 typedef enum __WIDL_activprof_generated_name_0000000E { 350 PROFILER_HEAP_OBJECT_FLAGS_NEW_OBJECT = 0x1, 351 PROFILER_HEAP_OBJECT_FLAGS_IS_ROOT = 0x2, 352 PROFILER_HEAP_OBJECT_FLAGS_SITE_CLOSED = 0x4, 353 PROFILER_HEAP_OBJECT_FLAGS_EXTERNAL = 0x8, 354 PROFILER_HEAP_OBJECT_FLAGS_EXTERNAL_UNKNOWN = 0x10, 355 PROFILER_HEAP_OBJECT_FLAGS_EXTERNAL_DISPATCH = 0x20, 356 PROFILER_HEAP_OBJECT_FLAGS_SIZE_APPROXIMATE = 0x40, 357 PROFILER_HEAP_OBJECT_FLAGS_SIZE_UNAVAILABLE = 0x80, 358 PROFILER_HEAP_OBJECT_FLAGS_NEW_STATE_UNAVAILABLE = 0x100, 359 PROFILER_HEAP_OBJECT_FLAGS_WINRT_INSTANCE = 0x200, 360 PROFILER_HEAP_OBJECT_FLAGS_WINRT_RUNTIMECLASS = 0x400, 361 PROFILER_HEAP_OBJECT_FLAGS_WINRT_DELEGATE = 0x800, 362 PROFILER_HEAP_OBJECT_FLAGS_WINRT_NAMESPACE = 0x1000 363 } PROFILER_HEAP_OBJECT_FLAGS; 364 365 typedef enum __WIDL_activprof_generated_name_0000000F { 366 PROFILER_HEAP_OBJECT_OPTIONAL_INFO_PROTOTYPE = 0x1, 367 PROFILER_HEAP_OBJECT_OPTIONAL_INFO_FUNCTION_NAME = 0x2, 368 PROFILER_HEAP_OBJECT_OPTIONAL_INFO_SCOPE_LIST = 0x3, 369 PROFILER_HEAP_OBJECT_OPTIONAL_INFO_INTERNAL_PROPERTY = 0x4, 370 PROFILER_HEAP_OBJECT_OPTIONAL_INFO_NAME_PROPERTIES = 0x5, 371 PROFILER_HEAP_OBJECT_OPTIONAL_INFO_INDEX_PROPERTIES = 0x6, 372 PROFILER_HEAP_OBJECT_OPTIONAL_INFO_ELEMENT_ATTRIBUTES_SIZE = 0x7, 373 PROFILER_HEAP_OBJECT_OPTIONAL_INFO_ELEMENT_TEXT_CHILDREN_SIZE = 0x8, 374 PROFILER_HEAP_OBJECT_OPTIONAL_INFO_RELATIONSHIPS = 0x9, 375 PROFILER_HEAP_OBJECT_OPTIONAL_INFO_WINRTEVENTS = 0xa, 376 PROFILER_HEAP_OBJECT_OPTIONAL_INFO_MAX_VALUE = PROFILER_HEAP_OBJECT_OPTIONAL_INFO_WINRTEVENTS 377 } PROFILER_HEAP_OBJECT_OPTIONAL_INFO_TYPE; 378 379 typedef struct _PROFILER_HEAP_OBJECT_SCOPE_LIST { 380 UINT count; 381 PROFILER_HEAP_OBJECT_ID scopes[1]; 382 } PROFILER_HEAP_OBJECT_SCOPE_LIST; 383 384 typedef enum __WIDL_activprof_generated_name_00000010 { 385 PROFILER_PROPERTY_TYPE_NUMBER = 0x1, 386 PROFILER_PROPERTY_TYPE_STRING = 0x2, 387 PROFILER_PROPERTY_TYPE_HEAP_OBJECT = 0x3, 388 PROFILER_PROPERTY_TYPE_EXTERNAL_OBJECT = 0x4, 389 PROFILER_PROPERTY_TYPE_BSTR = 0x5 390 } PROFILER_RELATIONSHIP_INFO; 391 392 typedef struct _PROFILER_HEAP_OBJECT_RELATIONSHIP { 393 PROFILER_HEAP_OBJECT_NAME_ID relationshipId; 394 PROFILER_RELATIONSHIP_INFO relationshipInfo; 395 __C89_NAMELESS union { 396 double numberValue; 397 LPCWSTR stringValue; 398 BSTR bstrValue; 399 PROFILER_HEAP_OBJECT_ID objectId; 400 PROFILER_EXTERNAL_OBJECT_ADDRESS externalObjectAddress; 401 } __C89_NAMELESSUNIONNAME; 402 } PROFILER_HEAP_OBJECT_RELATIONSHIP; 403 404 typedef struct _PROFILER_HEAP_OBJECT_RELATIONSHIP_LIST { 405 UINT count; 406 PROFILER_HEAP_OBJECT_RELATIONSHIP elements[1]; 407 } PROFILER_HEAP_OBJECT_RELATIONSHIP_LIST; 408 409 typedef struct _PROFILER_HEAP_OBJECT_OPTIONAL_INFO { 410 PROFILER_HEAP_OBJECT_OPTIONAL_INFO_TYPE infoType; 411 __C89_NAMELESS union { 412 PROFILER_HEAP_OBJECT_ID prototype; 413 LPCWSTR functionName; 414 UINT elementAttributesSize; 415 UINT elementTextChildrenSize; 416 PROFILER_HEAP_OBJECT_SCOPE_LIST *scopeList; 417 PROFILER_HEAP_OBJECT_RELATIONSHIP *internalProperty; 418 PROFILER_HEAP_OBJECT_RELATIONSHIP_LIST *namePropertyList; 419 PROFILER_HEAP_OBJECT_RELATIONSHIP_LIST *indexPropertyList; 420 PROFILER_HEAP_OBJECT_RELATIONSHIP_LIST *relationshipList; 421 PROFILER_HEAP_OBJECT_RELATIONSHIP_LIST *eventList; 422 } __C89_NAMELESSUNIONNAME; 423 } PROFILER_HEAP_OBJECT_OPTIONAL_INFO; 424 425 typedef struct _PROFILER_HEAP_OBJECT { 426 UINT size; 427 __C89_NAMELESS union { 428 PROFILER_HEAP_OBJECT_ID objectId; 429 PROFILER_EXTERNAL_OBJECT_ADDRESS externalObjectAddress; 430 } __C89_NAMELESSUNIONNAME; 431 PROFILER_HEAP_OBJECT_NAME_ID typeNameId; 432 ULONG flags; 433 USHORT unused; 434 USHORT optionalInfoCount; 435 } PROFILER_HEAP_OBJECT; 436 437 /***************************************************************************** 438 * IActiveScriptProfilerHeapEnum interface 439 */ 440 #ifndef __IActiveScriptProfilerHeapEnum_INTERFACE_DEFINED__ 441 #define __IActiveScriptProfilerHeapEnum_INTERFACE_DEFINED__ 442 443 DEFINE_GUID(IID_IActiveScriptProfilerHeapEnum, 0x32e4694e, 0x0d37, 0x419b, 0xb9,0x3d, 0xfa,0x20,0xde,0xd6,0xe8,0xea); 444 #if defined(__cplusplus) && !defined(CINTERFACE) 445 MIDL_INTERFACE("32e4694e-0d37-419b-b93d-fa20ded6e8ea") 446 IActiveScriptProfilerHeapEnum : public IUnknown 447 { 448 virtual HRESULT STDMETHODCALLTYPE Next( 449 ULONG celt, 450 PROFILER_HEAP_OBJECT **heapObjects, 451 ULONG *pceltFetched) = 0; 452 453 virtual HRESULT STDMETHODCALLTYPE GetOptionalInfo( 454 PROFILER_HEAP_OBJECT *heapObject, 455 ULONG celt, 456 PROFILER_HEAP_OBJECT_OPTIONAL_INFO *optionalInfo) = 0; 457 458 virtual HRESULT STDMETHODCALLTYPE FreeObjectAndOptionalInfo( 459 ULONG celt, 460 PROFILER_HEAP_OBJECT **heapObjects) = 0; 461 462 virtual HRESULT STDMETHODCALLTYPE GetNameIdMap( 463 LPCWSTR * pNameList[], 464 UINT *pcelt) = 0; 465 466 }; 467 #ifdef __CRT_UUID_DECL 468 __CRT_UUID_DECL(IActiveScriptProfilerHeapEnum, 0x32e4694e, 0x0d37, 0x419b, 0xb9,0x3d, 0xfa,0x20,0xde,0xd6,0xe8,0xea) 469 #endif 470 #else 471 typedef struct IActiveScriptProfilerHeapEnumVtbl { 472 BEGIN_INTERFACE 473 474 /*** IUnknown methods ***/ 475 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 476 IActiveScriptProfilerHeapEnum *This, 477 REFIID riid, 478 void **ppvObject); 479 480 ULONG (STDMETHODCALLTYPE *AddRef)( 481 IActiveScriptProfilerHeapEnum *This); 482 483 ULONG (STDMETHODCALLTYPE *Release)( 484 IActiveScriptProfilerHeapEnum *This); 485 486 /*** IActiveScriptProfilerHeapEnum methods ***/ 487 HRESULT (STDMETHODCALLTYPE *Next)( 488 IActiveScriptProfilerHeapEnum *This, 489 ULONG celt, 490 PROFILER_HEAP_OBJECT **heapObjects, 491 ULONG *pceltFetched); 492 493 HRESULT (STDMETHODCALLTYPE *GetOptionalInfo)( 494 IActiveScriptProfilerHeapEnum *This, 495 PROFILER_HEAP_OBJECT *heapObject, 496 ULONG celt, 497 PROFILER_HEAP_OBJECT_OPTIONAL_INFO *optionalInfo); 498 499 HRESULT (STDMETHODCALLTYPE *FreeObjectAndOptionalInfo)( 500 IActiveScriptProfilerHeapEnum *This, 501 ULONG celt, 502 PROFILER_HEAP_OBJECT **heapObjects); 503 504 HRESULT (STDMETHODCALLTYPE *GetNameIdMap)( 505 IActiveScriptProfilerHeapEnum *This, 506 LPCWSTR * pNameList[], 507 UINT *pcelt); 508 509 END_INTERFACE 510 } IActiveScriptProfilerHeapEnumVtbl; 511 512 interface IActiveScriptProfilerHeapEnum { 513 CONST_VTBL IActiveScriptProfilerHeapEnumVtbl* lpVtbl; 514 }; 515 516 #ifdef COBJMACROS 517 #ifndef WIDL_C_INLINE_WRAPPERS 518 /*** IUnknown methods ***/ 519 #define IActiveScriptProfilerHeapEnum_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 520 #define IActiveScriptProfilerHeapEnum_AddRef(This) (This)->lpVtbl->AddRef(This) 521 #define IActiveScriptProfilerHeapEnum_Release(This) (This)->lpVtbl->Release(This) 522 /*** IActiveScriptProfilerHeapEnum methods ***/ 523 #define IActiveScriptProfilerHeapEnum_Next(This,celt,heapObjects,pceltFetched) (This)->lpVtbl->Next(This,celt,heapObjects,pceltFetched) 524 #define IActiveScriptProfilerHeapEnum_GetOptionalInfo(This,heapObject,celt,optionalInfo) (This)->lpVtbl->GetOptionalInfo(This,heapObject,celt,optionalInfo) 525 #define IActiveScriptProfilerHeapEnum_FreeObjectAndOptionalInfo(This,celt,heapObjects) (This)->lpVtbl->FreeObjectAndOptionalInfo(This,celt,heapObjects) 526 #define IActiveScriptProfilerHeapEnum_GetNameIdMap(This,pNameList,pcelt) (This)->lpVtbl->GetNameIdMap(This,pNameList,pcelt) 527 #else 528 /*** IUnknown methods ***/ 529 static FORCEINLINE HRESULT IActiveScriptProfilerHeapEnum_QueryInterface(IActiveScriptProfilerHeapEnum* This,REFIID riid,void **ppvObject) { 530 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 531 } 532 static FORCEINLINE ULONG IActiveScriptProfilerHeapEnum_AddRef(IActiveScriptProfilerHeapEnum* This) { 533 return This->lpVtbl->AddRef(This); 534 } 535 static FORCEINLINE ULONG IActiveScriptProfilerHeapEnum_Release(IActiveScriptProfilerHeapEnum* This) { 536 return This->lpVtbl->Release(This); 537 } 538 /*** IActiveScriptProfilerHeapEnum methods ***/ 539 static FORCEINLINE HRESULT IActiveScriptProfilerHeapEnum_Next(IActiveScriptProfilerHeapEnum* This,ULONG celt,PROFILER_HEAP_OBJECT **heapObjects,ULONG *pceltFetched) { 540 return This->lpVtbl->Next(This,celt,heapObjects,pceltFetched); 541 } 542 static FORCEINLINE HRESULT IActiveScriptProfilerHeapEnum_GetOptionalInfo(IActiveScriptProfilerHeapEnum* This,PROFILER_HEAP_OBJECT *heapObject,ULONG celt,PROFILER_HEAP_OBJECT_OPTIONAL_INFO *optionalInfo) { 543 return This->lpVtbl->GetOptionalInfo(This,heapObject,celt,optionalInfo); 544 } 545 static FORCEINLINE HRESULT IActiveScriptProfilerHeapEnum_FreeObjectAndOptionalInfo(IActiveScriptProfilerHeapEnum* This,ULONG celt,PROFILER_HEAP_OBJECT **heapObjects) { 546 return This->lpVtbl->FreeObjectAndOptionalInfo(This,celt,heapObjects); 547 } 548 static FORCEINLINE HRESULT IActiveScriptProfilerHeapEnum_GetNameIdMap(IActiveScriptProfilerHeapEnum* This,LPCWSTR * pNameList[],UINT *pcelt) { 549 return This->lpVtbl->GetNameIdMap(This,pNameList,pcelt); 550 } 551 #endif 552 #endif 553 554 #endif 555 556 557 #endif /* __IActiveScriptProfilerHeapEnum_INTERFACE_DEFINED__ */ 558 559 560 /***************************************************************************** 561 * IActiveScriptProfilerControl3 interface 562 */ 563 #ifndef __IActiveScriptProfilerControl3_INTERFACE_DEFINED__ 564 #define __IActiveScriptProfilerControl3_INTERFACE_DEFINED__ 565 566 DEFINE_GUID(IID_IActiveScriptProfilerControl3, 0x0b403015, 0xf381, 0x4023, 0xa5,0xd0, 0x6f,0xed,0x07,0x6d,0xe7,0x16); 567 #if defined(__cplusplus) && !defined(CINTERFACE) 568 MIDL_INTERFACE("0b403015-f381-4023-a5d0-6fed076de716") 569 IActiveScriptProfilerControl3 : public IActiveScriptProfilerControl2 570 { 571 virtual HRESULT STDMETHODCALLTYPE EnumHeap( 572 IActiveScriptProfilerHeapEnum **ppEnum) = 0; 573 574 }; 575 #ifdef __CRT_UUID_DECL 576 __CRT_UUID_DECL(IActiveScriptProfilerControl3, 0x0b403015, 0xf381, 0x4023, 0xa5,0xd0, 0x6f,0xed,0x07,0x6d,0xe7,0x16) 577 #endif 578 #else 579 typedef struct IActiveScriptProfilerControl3Vtbl { 580 BEGIN_INTERFACE 581 582 /*** IUnknown methods ***/ 583 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 584 IActiveScriptProfilerControl3 *This, 585 REFIID riid, 586 void **ppvObject); 587 588 ULONG (STDMETHODCALLTYPE *AddRef)( 589 IActiveScriptProfilerControl3 *This); 590 591 ULONG (STDMETHODCALLTYPE *Release)( 592 IActiveScriptProfilerControl3 *This); 593 594 /*** IActiveScriptProfilerControl methods ***/ 595 HRESULT (STDMETHODCALLTYPE *StartProfiling)( 596 IActiveScriptProfilerControl3 *This, 597 REFCLSID clsidProfilerObject, 598 DWORD dwEventMask, 599 DWORD dwContext); 600 601 HRESULT (STDMETHODCALLTYPE *SetProfilerEventMask)( 602 IActiveScriptProfilerControl3 *This, 603 DWORD dwEventMask); 604 605 HRESULT (STDMETHODCALLTYPE *StopProfiling)( 606 IActiveScriptProfilerControl3 *This, 607 HRESULT hrShutdownReason); 608 609 /*** IActiveScriptProfilerControl2 methods ***/ 610 HRESULT (STDMETHODCALLTYPE *CompleteProfilerStart)( 611 IActiveScriptProfilerControl3 *This); 612 613 HRESULT (STDMETHODCALLTYPE *PrepareProfilerStop)( 614 IActiveScriptProfilerControl3 *This); 615 616 /*** IActiveScriptProfilerControl3 methods ***/ 617 HRESULT (STDMETHODCALLTYPE *EnumHeap)( 618 IActiveScriptProfilerControl3 *This, 619 IActiveScriptProfilerHeapEnum **ppEnum); 620 621 END_INTERFACE 622 } IActiveScriptProfilerControl3Vtbl; 623 624 interface IActiveScriptProfilerControl3 { 625 CONST_VTBL IActiveScriptProfilerControl3Vtbl* lpVtbl; 626 }; 627 628 #ifdef COBJMACROS 629 #ifndef WIDL_C_INLINE_WRAPPERS 630 /*** IUnknown methods ***/ 631 #define IActiveScriptProfilerControl3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 632 #define IActiveScriptProfilerControl3_AddRef(This) (This)->lpVtbl->AddRef(This) 633 #define IActiveScriptProfilerControl3_Release(This) (This)->lpVtbl->Release(This) 634 /*** IActiveScriptProfilerControl methods ***/ 635 #define IActiveScriptProfilerControl3_StartProfiling(This,clsidProfilerObject,dwEventMask,dwContext) (This)->lpVtbl->StartProfiling(This,clsidProfilerObject,dwEventMask,dwContext) 636 #define IActiveScriptProfilerControl3_SetProfilerEventMask(This,dwEventMask) (This)->lpVtbl->SetProfilerEventMask(This,dwEventMask) 637 #define IActiveScriptProfilerControl3_StopProfiling(This,hrShutdownReason) (This)->lpVtbl->StopProfiling(This,hrShutdownReason) 638 /*** IActiveScriptProfilerControl2 methods ***/ 639 #define IActiveScriptProfilerControl3_CompleteProfilerStart(This) (This)->lpVtbl->CompleteProfilerStart(This) 640 #define IActiveScriptProfilerControl3_PrepareProfilerStop(This) (This)->lpVtbl->PrepareProfilerStop(This) 641 /*** IActiveScriptProfilerControl3 methods ***/ 642 #define IActiveScriptProfilerControl3_EnumHeap(This,ppEnum) (This)->lpVtbl->EnumHeap(This,ppEnum) 643 #else 644 /*** IUnknown methods ***/ 645 static FORCEINLINE HRESULT IActiveScriptProfilerControl3_QueryInterface(IActiveScriptProfilerControl3* This,REFIID riid,void **ppvObject) { 646 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 647 } 648 static FORCEINLINE ULONG IActiveScriptProfilerControl3_AddRef(IActiveScriptProfilerControl3* This) { 649 return This->lpVtbl->AddRef(This); 650 } 651 static FORCEINLINE ULONG IActiveScriptProfilerControl3_Release(IActiveScriptProfilerControl3* This) { 652 return This->lpVtbl->Release(This); 653 } 654 /*** IActiveScriptProfilerControl methods ***/ 655 static FORCEINLINE HRESULT IActiveScriptProfilerControl3_StartProfiling(IActiveScriptProfilerControl3* This,REFCLSID clsidProfilerObject,DWORD dwEventMask,DWORD dwContext) { 656 return This->lpVtbl->StartProfiling(This,clsidProfilerObject,dwEventMask,dwContext); 657 } 658 static FORCEINLINE HRESULT IActiveScriptProfilerControl3_SetProfilerEventMask(IActiveScriptProfilerControl3* This,DWORD dwEventMask) { 659 return This->lpVtbl->SetProfilerEventMask(This,dwEventMask); 660 } 661 static FORCEINLINE HRESULT IActiveScriptProfilerControl3_StopProfiling(IActiveScriptProfilerControl3* This,HRESULT hrShutdownReason) { 662 return This->lpVtbl->StopProfiling(This,hrShutdownReason); 663 } 664 /*** IActiveScriptProfilerControl2 methods ***/ 665 static FORCEINLINE HRESULT IActiveScriptProfilerControl3_CompleteProfilerStart(IActiveScriptProfilerControl3* This) { 666 return This->lpVtbl->CompleteProfilerStart(This); 667 } 668 static FORCEINLINE HRESULT IActiveScriptProfilerControl3_PrepareProfilerStop(IActiveScriptProfilerControl3* This) { 669 return This->lpVtbl->PrepareProfilerStop(This); 670 } 671 /*** IActiveScriptProfilerControl3 methods ***/ 672 static FORCEINLINE HRESULT IActiveScriptProfilerControl3_EnumHeap(IActiveScriptProfilerControl3* This,IActiveScriptProfilerHeapEnum **ppEnum) { 673 return This->lpVtbl->EnumHeap(This,ppEnum); 674 } 675 #endif 676 #endif 677 678 #endif 679 680 681 #endif /* __IActiveScriptProfilerControl3_INTERFACE_DEFINED__ */ 682 683 684 /***************************************************************************** 685 * IActiveScriptProfilerCallback interface 686 */ 687 #ifndef __IActiveScriptProfilerCallback_INTERFACE_DEFINED__ 688 #define __IActiveScriptProfilerCallback_INTERFACE_DEFINED__ 689 690 DEFINE_GUID(IID_IActiveScriptProfilerCallback, 0x740eca23, 0x7d9d, 0x42e5, 0xba,0x9d, 0xf8,0xb2,0x4b,0x1c,0x7a,0x9b); 691 #if defined(__cplusplus) && !defined(CINTERFACE) 692 MIDL_INTERFACE("740eca23-7d9d-42e5-ba9d-f8b24b1c7a9b") 693 IActiveScriptProfilerCallback : public IUnknown 694 { 695 virtual HRESULT STDMETHODCALLTYPE Initialize( 696 DWORD dwContext) = 0; 697 698 virtual HRESULT STDMETHODCALLTYPE Shutdown( 699 HRESULT hrReason) = 0; 700 701 virtual HRESULT STDMETHODCALLTYPE ScriptCompiled( 702 PROFILER_TOKEN scriptId, 703 PROFILER_SCRIPT_TYPE type, 704 IUnknown *pIDebugDocumentContext) = 0; 705 706 virtual HRESULT STDMETHODCALLTYPE FunctionCompiled( 707 PROFILER_TOKEN functionId, 708 PROFILER_TOKEN scriptId, 709 const WCHAR *pwszFunctionName, 710 const WCHAR *pwszFunctionNameHint, 711 IUnknown *pIDebugDocumentContext) = 0; 712 713 virtual HRESULT STDMETHODCALLTYPE OnFunctionEnter( 714 PROFILER_TOKEN scriptId, 715 PROFILER_TOKEN functionId) = 0; 716 717 virtual HRESULT STDMETHODCALLTYPE OnFunctionExit( 718 PROFILER_TOKEN scriptId, 719 PROFILER_TOKEN functionId) = 0; 720 721 }; 722 #ifdef __CRT_UUID_DECL 723 __CRT_UUID_DECL(IActiveScriptProfilerCallback, 0x740eca23, 0x7d9d, 0x42e5, 0xba,0x9d, 0xf8,0xb2,0x4b,0x1c,0x7a,0x9b) 724 #endif 725 #else 726 typedef struct IActiveScriptProfilerCallbackVtbl { 727 BEGIN_INTERFACE 728 729 /*** IUnknown methods ***/ 730 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 731 IActiveScriptProfilerCallback *This, 732 REFIID riid, 733 void **ppvObject); 734 735 ULONG (STDMETHODCALLTYPE *AddRef)( 736 IActiveScriptProfilerCallback *This); 737 738 ULONG (STDMETHODCALLTYPE *Release)( 739 IActiveScriptProfilerCallback *This); 740 741 /*** IActiveScriptProfilerCallback methods ***/ 742 HRESULT (STDMETHODCALLTYPE *Initialize)( 743 IActiveScriptProfilerCallback *This, 744 DWORD dwContext); 745 746 HRESULT (STDMETHODCALLTYPE *Shutdown)( 747 IActiveScriptProfilerCallback *This, 748 HRESULT hrReason); 749 750 HRESULT (STDMETHODCALLTYPE *ScriptCompiled)( 751 IActiveScriptProfilerCallback *This, 752 PROFILER_TOKEN scriptId, 753 PROFILER_SCRIPT_TYPE type, 754 IUnknown *pIDebugDocumentContext); 755 756 HRESULT (STDMETHODCALLTYPE *FunctionCompiled)( 757 IActiveScriptProfilerCallback *This, 758 PROFILER_TOKEN functionId, 759 PROFILER_TOKEN scriptId, 760 const WCHAR *pwszFunctionName, 761 const WCHAR *pwszFunctionNameHint, 762 IUnknown *pIDebugDocumentContext); 763 764 HRESULT (STDMETHODCALLTYPE *OnFunctionEnter)( 765 IActiveScriptProfilerCallback *This, 766 PROFILER_TOKEN scriptId, 767 PROFILER_TOKEN functionId); 768 769 HRESULT (STDMETHODCALLTYPE *OnFunctionExit)( 770 IActiveScriptProfilerCallback *This, 771 PROFILER_TOKEN scriptId, 772 PROFILER_TOKEN functionId); 773 774 END_INTERFACE 775 } IActiveScriptProfilerCallbackVtbl; 776 777 interface IActiveScriptProfilerCallback { 778 CONST_VTBL IActiveScriptProfilerCallbackVtbl* lpVtbl; 779 }; 780 781 #ifdef COBJMACROS 782 #ifndef WIDL_C_INLINE_WRAPPERS 783 /*** IUnknown methods ***/ 784 #define IActiveScriptProfilerCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 785 #define IActiveScriptProfilerCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 786 #define IActiveScriptProfilerCallback_Release(This) (This)->lpVtbl->Release(This) 787 /*** IActiveScriptProfilerCallback methods ***/ 788 #define IActiveScriptProfilerCallback_Initialize(This,dwContext) (This)->lpVtbl->Initialize(This,dwContext) 789 #define IActiveScriptProfilerCallback_Shutdown(This,hrReason) (This)->lpVtbl->Shutdown(This,hrReason) 790 #define IActiveScriptProfilerCallback_ScriptCompiled(This,scriptId,type,pIDebugDocumentContext) (This)->lpVtbl->ScriptCompiled(This,scriptId,type,pIDebugDocumentContext) 791 #define IActiveScriptProfilerCallback_FunctionCompiled(This,functionId,scriptId,pwszFunctionName,pwszFunctionNameHint,pIDebugDocumentContext) (This)->lpVtbl->FunctionCompiled(This,functionId,scriptId,pwszFunctionName,pwszFunctionNameHint,pIDebugDocumentContext) 792 #define IActiveScriptProfilerCallback_OnFunctionEnter(This,scriptId,functionId) (This)->lpVtbl->OnFunctionEnter(This,scriptId,functionId) 793 #define IActiveScriptProfilerCallback_OnFunctionExit(This,scriptId,functionId) (This)->lpVtbl->OnFunctionExit(This,scriptId,functionId) 794 #else 795 /*** IUnknown methods ***/ 796 static FORCEINLINE HRESULT IActiveScriptProfilerCallback_QueryInterface(IActiveScriptProfilerCallback* This,REFIID riid,void **ppvObject) { 797 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 798 } 799 static FORCEINLINE ULONG IActiveScriptProfilerCallback_AddRef(IActiveScriptProfilerCallback* This) { 800 return This->lpVtbl->AddRef(This); 801 } 802 static FORCEINLINE ULONG IActiveScriptProfilerCallback_Release(IActiveScriptProfilerCallback* This) { 803 return This->lpVtbl->Release(This); 804 } 805 /*** IActiveScriptProfilerCallback methods ***/ 806 static FORCEINLINE HRESULT IActiveScriptProfilerCallback_Initialize(IActiveScriptProfilerCallback* This,DWORD dwContext) { 807 return This->lpVtbl->Initialize(This,dwContext); 808 } 809 static FORCEINLINE HRESULT IActiveScriptProfilerCallback_Shutdown(IActiveScriptProfilerCallback* This,HRESULT hrReason) { 810 return This->lpVtbl->Shutdown(This,hrReason); 811 } 812 static FORCEINLINE HRESULT IActiveScriptProfilerCallback_ScriptCompiled(IActiveScriptProfilerCallback* This,PROFILER_TOKEN scriptId,PROFILER_SCRIPT_TYPE type,IUnknown *pIDebugDocumentContext) { 813 return This->lpVtbl->ScriptCompiled(This,scriptId,type,pIDebugDocumentContext); 814 } 815 static FORCEINLINE HRESULT IActiveScriptProfilerCallback_FunctionCompiled(IActiveScriptProfilerCallback* This,PROFILER_TOKEN functionId,PROFILER_TOKEN scriptId,const WCHAR *pwszFunctionName,const WCHAR *pwszFunctionNameHint,IUnknown *pIDebugDocumentContext) { 816 return This->lpVtbl->FunctionCompiled(This,functionId,scriptId,pwszFunctionName,pwszFunctionNameHint,pIDebugDocumentContext); 817 } 818 static FORCEINLINE HRESULT IActiveScriptProfilerCallback_OnFunctionEnter(IActiveScriptProfilerCallback* This,PROFILER_TOKEN scriptId,PROFILER_TOKEN functionId) { 819 return This->lpVtbl->OnFunctionEnter(This,scriptId,functionId); 820 } 821 static FORCEINLINE HRESULT IActiveScriptProfilerCallback_OnFunctionExit(IActiveScriptProfilerCallback* This,PROFILER_TOKEN scriptId,PROFILER_TOKEN functionId) { 822 return This->lpVtbl->OnFunctionExit(This,scriptId,functionId); 823 } 824 #endif 825 #endif 826 827 #endif 828 829 830 #endif /* __IActiveScriptProfilerCallback_INTERFACE_DEFINED__ */ 831 832 833 /***************************************************************************** 834 * IActiveScriptProfilerCallback2 interface 835 */ 836 #ifndef __IActiveScriptProfilerCallback2_INTERFACE_DEFINED__ 837 #define __IActiveScriptProfilerCallback2_INTERFACE_DEFINED__ 838 839 DEFINE_GUID(IID_IActiveScriptProfilerCallback2, 0x31b7f8ad, 0xa637, 0x409c, 0xb2,0x2f, 0x04,0x09,0x95,0xb6,0x10,0x3d); 840 #if defined(__cplusplus) && !defined(CINTERFACE) 841 MIDL_INTERFACE("31b7f8ad-a637-409c-b22f-040995b6103d") 842 IActiveScriptProfilerCallback2 : public IActiveScriptProfilerCallback 843 { 844 virtual HRESULT STDMETHODCALLTYPE OnFunctionEnterByName( 845 const WCHAR *pwszFunctionName, 846 PROFILER_SCRIPT_TYPE type) = 0; 847 848 virtual HRESULT STDMETHODCALLTYPE OnFunctionExitByName( 849 const WCHAR *pwszFunctionName, 850 PROFILER_SCRIPT_TYPE type) = 0; 851 852 }; 853 #ifdef __CRT_UUID_DECL 854 __CRT_UUID_DECL(IActiveScriptProfilerCallback2, 0x31b7f8ad, 0xa637, 0x409c, 0xb2,0x2f, 0x04,0x09,0x95,0xb6,0x10,0x3d) 855 #endif 856 #else 857 typedef struct IActiveScriptProfilerCallback2Vtbl { 858 BEGIN_INTERFACE 859 860 /*** IUnknown methods ***/ 861 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 862 IActiveScriptProfilerCallback2 *This, 863 REFIID riid, 864 void **ppvObject); 865 866 ULONG (STDMETHODCALLTYPE *AddRef)( 867 IActiveScriptProfilerCallback2 *This); 868 869 ULONG (STDMETHODCALLTYPE *Release)( 870 IActiveScriptProfilerCallback2 *This); 871 872 /*** IActiveScriptProfilerCallback methods ***/ 873 HRESULT (STDMETHODCALLTYPE *Initialize)( 874 IActiveScriptProfilerCallback2 *This, 875 DWORD dwContext); 876 877 HRESULT (STDMETHODCALLTYPE *Shutdown)( 878 IActiveScriptProfilerCallback2 *This, 879 HRESULT hrReason); 880 881 HRESULT (STDMETHODCALLTYPE *ScriptCompiled)( 882 IActiveScriptProfilerCallback2 *This, 883 PROFILER_TOKEN scriptId, 884 PROFILER_SCRIPT_TYPE type, 885 IUnknown *pIDebugDocumentContext); 886 887 HRESULT (STDMETHODCALLTYPE *FunctionCompiled)( 888 IActiveScriptProfilerCallback2 *This, 889 PROFILER_TOKEN functionId, 890 PROFILER_TOKEN scriptId, 891 const WCHAR *pwszFunctionName, 892 const WCHAR *pwszFunctionNameHint, 893 IUnknown *pIDebugDocumentContext); 894 895 HRESULT (STDMETHODCALLTYPE *OnFunctionEnter)( 896 IActiveScriptProfilerCallback2 *This, 897 PROFILER_TOKEN scriptId, 898 PROFILER_TOKEN functionId); 899 900 HRESULT (STDMETHODCALLTYPE *OnFunctionExit)( 901 IActiveScriptProfilerCallback2 *This, 902 PROFILER_TOKEN scriptId, 903 PROFILER_TOKEN functionId); 904 905 /*** IActiveScriptProfilerCallback2 methods ***/ 906 HRESULT (STDMETHODCALLTYPE *OnFunctionEnterByName)( 907 IActiveScriptProfilerCallback2 *This, 908 const WCHAR *pwszFunctionName, 909 PROFILER_SCRIPT_TYPE type); 910 911 HRESULT (STDMETHODCALLTYPE *OnFunctionExitByName)( 912 IActiveScriptProfilerCallback2 *This, 913 const WCHAR *pwszFunctionName, 914 PROFILER_SCRIPT_TYPE type); 915 916 END_INTERFACE 917 } IActiveScriptProfilerCallback2Vtbl; 918 919 interface IActiveScriptProfilerCallback2 { 920 CONST_VTBL IActiveScriptProfilerCallback2Vtbl* lpVtbl; 921 }; 922 923 #ifdef COBJMACROS 924 #ifndef WIDL_C_INLINE_WRAPPERS 925 /*** IUnknown methods ***/ 926 #define IActiveScriptProfilerCallback2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 927 #define IActiveScriptProfilerCallback2_AddRef(This) (This)->lpVtbl->AddRef(This) 928 #define IActiveScriptProfilerCallback2_Release(This) (This)->lpVtbl->Release(This) 929 /*** IActiveScriptProfilerCallback methods ***/ 930 #define IActiveScriptProfilerCallback2_Initialize(This,dwContext) (This)->lpVtbl->Initialize(This,dwContext) 931 #define IActiveScriptProfilerCallback2_Shutdown(This,hrReason) (This)->lpVtbl->Shutdown(This,hrReason) 932 #define IActiveScriptProfilerCallback2_ScriptCompiled(This,scriptId,type,pIDebugDocumentContext) (This)->lpVtbl->ScriptCompiled(This,scriptId,type,pIDebugDocumentContext) 933 #define IActiveScriptProfilerCallback2_FunctionCompiled(This,functionId,scriptId,pwszFunctionName,pwszFunctionNameHint,pIDebugDocumentContext) (This)->lpVtbl->FunctionCompiled(This,functionId,scriptId,pwszFunctionName,pwszFunctionNameHint,pIDebugDocumentContext) 934 #define IActiveScriptProfilerCallback2_OnFunctionEnter(This,scriptId,functionId) (This)->lpVtbl->OnFunctionEnter(This,scriptId,functionId) 935 #define IActiveScriptProfilerCallback2_OnFunctionExit(This,scriptId,functionId) (This)->lpVtbl->OnFunctionExit(This,scriptId,functionId) 936 /*** IActiveScriptProfilerCallback2 methods ***/ 937 #define IActiveScriptProfilerCallback2_OnFunctionEnterByName(This,pwszFunctionName,type) (This)->lpVtbl->OnFunctionEnterByName(This,pwszFunctionName,type) 938 #define IActiveScriptProfilerCallback2_OnFunctionExitByName(This,pwszFunctionName,type) (This)->lpVtbl->OnFunctionExitByName(This,pwszFunctionName,type) 939 #else 940 /*** IUnknown methods ***/ 941 static FORCEINLINE HRESULT IActiveScriptProfilerCallback2_QueryInterface(IActiveScriptProfilerCallback2* This,REFIID riid,void **ppvObject) { 942 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 943 } 944 static FORCEINLINE ULONG IActiveScriptProfilerCallback2_AddRef(IActiveScriptProfilerCallback2* This) { 945 return This->lpVtbl->AddRef(This); 946 } 947 static FORCEINLINE ULONG IActiveScriptProfilerCallback2_Release(IActiveScriptProfilerCallback2* This) { 948 return This->lpVtbl->Release(This); 949 } 950 /*** IActiveScriptProfilerCallback methods ***/ 951 static FORCEINLINE HRESULT IActiveScriptProfilerCallback2_Initialize(IActiveScriptProfilerCallback2* This,DWORD dwContext) { 952 return This->lpVtbl->Initialize(This,dwContext); 953 } 954 static FORCEINLINE HRESULT IActiveScriptProfilerCallback2_Shutdown(IActiveScriptProfilerCallback2* This,HRESULT hrReason) { 955 return This->lpVtbl->Shutdown(This,hrReason); 956 } 957 static FORCEINLINE HRESULT IActiveScriptProfilerCallback2_ScriptCompiled(IActiveScriptProfilerCallback2* This,PROFILER_TOKEN scriptId,PROFILER_SCRIPT_TYPE type,IUnknown *pIDebugDocumentContext) { 958 return This->lpVtbl->ScriptCompiled(This,scriptId,type,pIDebugDocumentContext); 959 } 960 static FORCEINLINE HRESULT IActiveScriptProfilerCallback2_FunctionCompiled(IActiveScriptProfilerCallback2* This,PROFILER_TOKEN functionId,PROFILER_TOKEN scriptId,const WCHAR *pwszFunctionName,const WCHAR *pwszFunctionNameHint,IUnknown *pIDebugDocumentContext) { 961 return This->lpVtbl->FunctionCompiled(This,functionId,scriptId,pwszFunctionName,pwszFunctionNameHint,pIDebugDocumentContext); 962 } 963 static FORCEINLINE HRESULT IActiveScriptProfilerCallback2_OnFunctionEnter(IActiveScriptProfilerCallback2* This,PROFILER_TOKEN scriptId,PROFILER_TOKEN functionId) { 964 return This->lpVtbl->OnFunctionEnter(This,scriptId,functionId); 965 } 966 static FORCEINLINE HRESULT IActiveScriptProfilerCallback2_OnFunctionExit(IActiveScriptProfilerCallback2* This,PROFILER_TOKEN scriptId,PROFILER_TOKEN functionId) { 967 return This->lpVtbl->OnFunctionExit(This,scriptId,functionId); 968 } 969 /*** IActiveScriptProfilerCallback2 methods ***/ 970 static FORCEINLINE HRESULT IActiveScriptProfilerCallback2_OnFunctionEnterByName(IActiveScriptProfilerCallback2* This,const WCHAR *pwszFunctionName,PROFILER_SCRIPT_TYPE type) { 971 return This->lpVtbl->OnFunctionEnterByName(This,pwszFunctionName,type); 972 } 973 static FORCEINLINE HRESULT IActiveScriptProfilerCallback2_OnFunctionExitByName(IActiveScriptProfilerCallback2* This,const WCHAR *pwszFunctionName,PROFILER_SCRIPT_TYPE type) { 974 return This->lpVtbl->OnFunctionExitByName(This,pwszFunctionName,type); 975 } 976 #endif 977 #endif 978 979 #endif 980 981 982 #endif /* __IActiveScriptProfilerCallback2_INTERFACE_DEFINED__ */ 983 984 985 /***************************************************************************** 986 * IActiveScriptProfilerCallback3 interface 987 */ 988 #ifndef __IActiveScriptProfilerCallback3_INTERFACE_DEFINED__ 989 #define __IActiveScriptProfilerCallback3_INTERFACE_DEFINED__ 990 991 DEFINE_GUID(IID_IActiveScriptProfilerCallback3, 0x6ac5ad25, 0x2037, 0x4687, 0x91,0xdf, 0xb5,0x99,0x79,0xd9,0x3d,0x73); 992 #if defined(__cplusplus) && !defined(CINTERFACE) 993 MIDL_INTERFACE("6ac5ad25-2037-4687-91df-b59979d93d73") 994 IActiveScriptProfilerCallback3 : public IActiveScriptProfilerCallback2 995 { 996 virtual HRESULT STDMETHODCALLTYPE SetWebWorkerId( 997 DWORD webWorkerId) = 0; 998 999 }; 1000 #ifdef __CRT_UUID_DECL 1001 __CRT_UUID_DECL(IActiveScriptProfilerCallback3, 0x6ac5ad25, 0x2037, 0x4687, 0x91,0xdf, 0xb5,0x99,0x79,0xd9,0x3d,0x73) 1002 #endif 1003 #else 1004 typedef struct IActiveScriptProfilerCallback3Vtbl { 1005 BEGIN_INTERFACE 1006 1007 /*** IUnknown methods ***/ 1008 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1009 IActiveScriptProfilerCallback3 *This, 1010 REFIID riid, 1011 void **ppvObject); 1012 1013 ULONG (STDMETHODCALLTYPE *AddRef)( 1014 IActiveScriptProfilerCallback3 *This); 1015 1016 ULONG (STDMETHODCALLTYPE *Release)( 1017 IActiveScriptProfilerCallback3 *This); 1018 1019 /*** IActiveScriptProfilerCallback methods ***/ 1020 HRESULT (STDMETHODCALLTYPE *Initialize)( 1021 IActiveScriptProfilerCallback3 *This, 1022 DWORD dwContext); 1023 1024 HRESULT (STDMETHODCALLTYPE *Shutdown)( 1025 IActiveScriptProfilerCallback3 *This, 1026 HRESULT hrReason); 1027 1028 HRESULT (STDMETHODCALLTYPE *ScriptCompiled)( 1029 IActiveScriptProfilerCallback3 *This, 1030 PROFILER_TOKEN scriptId, 1031 PROFILER_SCRIPT_TYPE type, 1032 IUnknown *pIDebugDocumentContext); 1033 1034 HRESULT (STDMETHODCALLTYPE *FunctionCompiled)( 1035 IActiveScriptProfilerCallback3 *This, 1036 PROFILER_TOKEN functionId, 1037 PROFILER_TOKEN scriptId, 1038 const WCHAR *pwszFunctionName, 1039 const WCHAR *pwszFunctionNameHint, 1040 IUnknown *pIDebugDocumentContext); 1041 1042 HRESULT (STDMETHODCALLTYPE *OnFunctionEnter)( 1043 IActiveScriptProfilerCallback3 *This, 1044 PROFILER_TOKEN scriptId, 1045 PROFILER_TOKEN functionId); 1046 1047 HRESULT (STDMETHODCALLTYPE *OnFunctionExit)( 1048 IActiveScriptProfilerCallback3 *This, 1049 PROFILER_TOKEN scriptId, 1050 PROFILER_TOKEN functionId); 1051 1052 /*** IActiveScriptProfilerCallback2 methods ***/ 1053 HRESULT (STDMETHODCALLTYPE *OnFunctionEnterByName)( 1054 IActiveScriptProfilerCallback3 *This, 1055 const WCHAR *pwszFunctionName, 1056 PROFILER_SCRIPT_TYPE type); 1057 1058 HRESULT (STDMETHODCALLTYPE *OnFunctionExitByName)( 1059 IActiveScriptProfilerCallback3 *This, 1060 const WCHAR *pwszFunctionName, 1061 PROFILER_SCRIPT_TYPE type); 1062 1063 /*** IActiveScriptProfilerCallback3 methods ***/ 1064 HRESULT (STDMETHODCALLTYPE *SetWebWorkerId)( 1065 IActiveScriptProfilerCallback3 *This, 1066 DWORD webWorkerId); 1067 1068 END_INTERFACE 1069 } IActiveScriptProfilerCallback3Vtbl; 1070 1071 interface IActiveScriptProfilerCallback3 { 1072 CONST_VTBL IActiveScriptProfilerCallback3Vtbl* lpVtbl; 1073 }; 1074 1075 #ifdef COBJMACROS 1076 #ifndef WIDL_C_INLINE_WRAPPERS 1077 /*** IUnknown methods ***/ 1078 #define IActiveScriptProfilerCallback3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1079 #define IActiveScriptProfilerCallback3_AddRef(This) (This)->lpVtbl->AddRef(This) 1080 #define IActiveScriptProfilerCallback3_Release(This) (This)->lpVtbl->Release(This) 1081 /*** IActiveScriptProfilerCallback methods ***/ 1082 #define IActiveScriptProfilerCallback3_Initialize(This,dwContext) (This)->lpVtbl->Initialize(This,dwContext) 1083 #define IActiveScriptProfilerCallback3_Shutdown(This,hrReason) (This)->lpVtbl->Shutdown(This,hrReason) 1084 #define IActiveScriptProfilerCallback3_ScriptCompiled(This,scriptId,type,pIDebugDocumentContext) (This)->lpVtbl->ScriptCompiled(This,scriptId,type,pIDebugDocumentContext) 1085 #define IActiveScriptProfilerCallback3_FunctionCompiled(This,functionId,scriptId,pwszFunctionName,pwszFunctionNameHint,pIDebugDocumentContext) (This)->lpVtbl->FunctionCompiled(This,functionId,scriptId,pwszFunctionName,pwszFunctionNameHint,pIDebugDocumentContext) 1086 #define IActiveScriptProfilerCallback3_OnFunctionEnter(This,scriptId,functionId) (This)->lpVtbl->OnFunctionEnter(This,scriptId,functionId) 1087 #define IActiveScriptProfilerCallback3_OnFunctionExit(This,scriptId,functionId) (This)->lpVtbl->OnFunctionExit(This,scriptId,functionId) 1088 /*** IActiveScriptProfilerCallback2 methods ***/ 1089 #define IActiveScriptProfilerCallback3_OnFunctionEnterByName(This,pwszFunctionName,type) (This)->lpVtbl->OnFunctionEnterByName(This,pwszFunctionName,type) 1090 #define IActiveScriptProfilerCallback3_OnFunctionExitByName(This,pwszFunctionName,type) (This)->lpVtbl->OnFunctionExitByName(This,pwszFunctionName,type) 1091 /*** IActiveScriptProfilerCallback3 methods ***/ 1092 #define IActiveScriptProfilerCallback3_SetWebWorkerId(This,webWorkerId) (This)->lpVtbl->SetWebWorkerId(This,webWorkerId) 1093 #else 1094 /*** IUnknown methods ***/ 1095 static FORCEINLINE HRESULT IActiveScriptProfilerCallback3_QueryInterface(IActiveScriptProfilerCallback3* This,REFIID riid,void **ppvObject) { 1096 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1097 } 1098 static FORCEINLINE ULONG IActiveScriptProfilerCallback3_AddRef(IActiveScriptProfilerCallback3* This) { 1099 return This->lpVtbl->AddRef(This); 1100 } 1101 static FORCEINLINE ULONG IActiveScriptProfilerCallback3_Release(IActiveScriptProfilerCallback3* This) { 1102 return This->lpVtbl->Release(This); 1103 } 1104 /*** IActiveScriptProfilerCallback methods ***/ 1105 static FORCEINLINE HRESULT IActiveScriptProfilerCallback3_Initialize(IActiveScriptProfilerCallback3* This,DWORD dwContext) { 1106 return This->lpVtbl->Initialize(This,dwContext); 1107 } 1108 static FORCEINLINE HRESULT IActiveScriptProfilerCallback3_Shutdown(IActiveScriptProfilerCallback3* This,HRESULT hrReason) { 1109 return This->lpVtbl->Shutdown(This,hrReason); 1110 } 1111 static FORCEINLINE HRESULT IActiveScriptProfilerCallback3_ScriptCompiled(IActiveScriptProfilerCallback3* This,PROFILER_TOKEN scriptId,PROFILER_SCRIPT_TYPE type,IUnknown *pIDebugDocumentContext) { 1112 return This->lpVtbl->ScriptCompiled(This,scriptId,type,pIDebugDocumentContext); 1113 } 1114 static FORCEINLINE HRESULT IActiveScriptProfilerCallback3_FunctionCompiled(IActiveScriptProfilerCallback3* This,PROFILER_TOKEN functionId,PROFILER_TOKEN scriptId,const WCHAR *pwszFunctionName,const WCHAR *pwszFunctionNameHint,IUnknown *pIDebugDocumentContext) { 1115 return This->lpVtbl->FunctionCompiled(This,functionId,scriptId,pwszFunctionName,pwszFunctionNameHint,pIDebugDocumentContext); 1116 } 1117 static FORCEINLINE HRESULT IActiveScriptProfilerCallback3_OnFunctionEnter(IActiveScriptProfilerCallback3* This,PROFILER_TOKEN scriptId,PROFILER_TOKEN functionId) { 1118 return This->lpVtbl->OnFunctionEnter(This,scriptId,functionId); 1119 } 1120 static FORCEINLINE HRESULT IActiveScriptProfilerCallback3_OnFunctionExit(IActiveScriptProfilerCallback3* This,PROFILER_TOKEN scriptId,PROFILER_TOKEN functionId) { 1121 return This->lpVtbl->OnFunctionExit(This,scriptId,functionId); 1122 } 1123 /*** IActiveScriptProfilerCallback2 methods ***/ 1124 static FORCEINLINE HRESULT IActiveScriptProfilerCallback3_OnFunctionEnterByName(IActiveScriptProfilerCallback3* This,const WCHAR *pwszFunctionName,PROFILER_SCRIPT_TYPE type) { 1125 return This->lpVtbl->OnFunctionEnterByName(This,pwszFunctionName,type); 1126 } 1127 static FORCEINLINE HRESULT IActiveScriptProfilerCallback3_OnFunctionExitByName(IActiveScriptProfilerCallback3* This,const WCHAR *pwszFunctionName,PROFILER_SCRIPT_TYPE type) { 1128 return This->lpVtbl->OnFunctionExitByName(This,pwszFunctionName,type); 1129 } 1130 /*** IActiveScriptProfilerCallback3 methods ***/ 1131 static FORCEINLINE HRESULT IActiveScriptProfilerCallback3_SetWebWorkerId(IActiveScriptProfilerCallback3* This,DWORD webWorkerId) { 1132 return This->lpVtbl->SetWebWorkerId(This,webWorkerId); 1133 } 1134 #endif 1135 #endif 1136 1137 #endif 1138 1139 1140 #endif /* __IActiveScriptProfilerCallback3_INTERFACE_DEFINED__ */ 1141 1142 #endif 1143 1144 #endif 1145 /* Begin additional prototypes for all interfaces */ 1146 1147 1148 /* End additional prototypes */ 1149 1150 #ifdef __cplusplus 1151 } 1152 #endif 1153 1154 #endif /* __activprof_h__ */ 1155