activprof.h 49 KB

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