source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/activprof.h@ 1170

Last change on this file since 1170 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 49.0 KB
Line 
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__
23typedef interface IActiveScriptProfilerControl IActiveScriptProfilerControl;
24#ifdef __cplusplus
25interface IActiveScriptProfilerControl;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IActiveScriptProfilerControl2_FWD_DEFINED__
30#define __IActiveScriptProfilerControl2_FWD_DEFINED__
31typedef interface IActiveScriptProfilerControl2 IActiveScriptProfilerControl2;
32#ifdef __cplusplus
33interface IActiveScriptProfilerControl2;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IActiveScriptProfilerHeapEnum_FWD_DEFINED__
38#define __IActiveScriptProfilerHeapEnum_FWD_DEFINED__
39typedef interface IActiveScriptProfilerHeapEnum IActiveScriptProfilerHeapEnum;
40#ifdef __cplusplus
41interface IActiveScriptProfilerHeapEnum;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IActiveScriptProfilerControl3_FWD_DEFINED__
46#define __IActiveScriptProfilerControl3_FWD_DEFINED__
47typedef interface IActiveScriptProfilerControl3 IActiveScriptProfilerControl3;
48#ifdef __cplusplus
49interface IActiveScriptProfilerControl3;
50#endif /* __cplusplus */
51#endif
52
53#ifndef __IActiveScriptProfilerCallback_FWD_DEFINED__
54#define __IActiveScriptProfilerCallback_FWD_DEFINED__
55typedef interface IActiveScriptProfilerCallback IActiveScriptProfilerCallback;
56#ifdef __cplusplus
57interface IActiveScriptProfilerCallback;
58#endif /* __cplusplus */
59#endif
60
61#ifndef __IActiveScriptProfilerCallback2_FWD_DEFINED__
62#define __IActiveScriptProfilerCallback2_FWD_DEFINED__
63typedef interface IActiveScriptProfilerCallback2 IActiveScriptProfilerCallback2;
64#ifdef __cplusplus
65interface IActiveScriptProfilerCallback2;
66#endif /* __cplusplus */
67#endif
68
69#ifndef __IActiveScriptProfilerCallback3_FWD_DEFINED__
70#define __IActiveScriptProfilerCallback3_FWD_DEFINED__
71typedef interface IActiveScriptProfilerCallback3 IActiveScriptProfilerCallback3;
72#ifdef __cplusplus
73interface IActiveScriptProfilerCallback3;
74#endif /* __cplusplus */
75#endif
76
77/* Headers for imported files */
78
79#include <unknwn.h>
80
81#ifdef __cplusplus
82extern "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
94const HRESULT ACTIVPROF_E_PROFILER_PRESENT = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0200);
95const HRESULT ACTIVPROF_E_PROFILER_ABSENT = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0201);
96const HRESULT ACTIVPROF_E_UNABLE_TO_APPLY_ACTION = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0202);
97const 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
104DEFINE_GUID(IID_IActiveScriptProfilerHeapEnum, 0x32e4694e, 0xd37, 0x419b, 0xb9, 0x3d, 0xfa, 0x20, 0xde, 0xd6, 0xe8, 0xea);
105DEFINE_GUID(IID_IActiveScriptProfilerControl3, 0xb403015, 0xf381, 0x4023, 0xa5, 0xd0, 0x6f, 0xed, 0x7, 0x6d, 0xe7, 0x16);
106#endif
107
108typedef 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
115typedef 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
123typedef LONG PROFILER_TOKEN;
124
125/*****************************************************************************
126 * IActiveScriptProfilerControl interface
127 */
128#ifndef __IActiveScriptProfilerControl_INTERFACE_DEFINED__
129#define __IActiveScriptProfilerControl_INTERFACE_DEFINED__
130
131DEFINE_GUID(IID_IActiveScriptProfilerControl, 0x784b5ff0, 0x69b0, 0x47d1, 0xa7,0xdc, 0x25,0x18,0xf4,0x23,0x0e,0x90);
132#if defined(__cplusplus) && !defined(CINTERFACE)
133MIDL_INTERFACE("784b5ff0-69b0-47d1-a7dc-2518f4230e90")
134IActiveScriptProfilerControl : 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
152typedef 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
185interface 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 ***/
201static FORCEINLINE HRESULT IActiveScriptProfilerControl_QueryInterface(IActiveScriptProfilerControl* This,REFIID riid,void **ppvObject) {
202 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
203}
204static FORCEINLINE ULONG IActiveScriptProfilerControl_AddRef(IActiveScriptProfilerControl* This) {
205 return This->lpVtbl->AddRef(This);
206}
207static FORCEINLINE ULONG IActiveScriptProfilerControl_Release(IActiveScriptProfilerControl* This) {
208 return This->lpVtbl->Release(This);
209}
210/*** IActiveScriptProfilerControl methods ***/
211static FORCEINLINE HRESULT IActiveScriptProfilerControl_StartProfiling(IActiveScriptProfilerControl* This,REFCLSID clsidProfilerObject,DWORD dwEventMask,DWORD dwContext) {
212 return This->lpVtbl->StartProfiling(This,clsidProfilerObject,dwEventMask,dwContext);
213}
214static FORCEINLINE HRESULT IActiveScriptProfilerControl_SetProfilerEventMask(IActiveScriptProfilerControl* This,DWORD dwEventMask) {
215 return This->lpVtbl->SetProfilerEventMask(This,dwEventMask);
216}
217static 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
235DEFINE_GUID(IID_IActiveScriptProfilerControl2, 0x47810165, 0x498f, 0x40be, 0x94,0xf1, 0x65,0x35,0x57,0xe9,0xe7,0xda);
236#if defined(__cplusplus) && !defined(CINTERFACE)
237MIDL_INTERFACE("47810165-498f-40be-94f1-653557e9e7da")
238IActiveScriptProfilerControl2 : 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
251typedef 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
291interface 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 ***/
310static FORCEINLINE HRESULT IActiveScriptProfilerControl2_QueryInterface(IActiveScriptProfilerControl2* This,REFIID riid,void **ppvObject) {
311 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
312}
313static FORCEINLINE ULONG IActiveScriptProfilerControl2_AddRef(IActiveScriptProfilerControl2* This) {
314 return This->lpVtbl->AddRef(This);
315}
316static FORCEINLINE ULONG IActiveScriptProfilerControl2_Release(IActiveScriptProfilerControl2* This) {
317 return This->lpVtbl->Release(This);
318}
319/*** IActiveScriptProfilerControl methods ***/
320static FORCEINLINE HRESULT IActiveScriptProfilerControl2_StartProfiling(IActiveScriptProfilerControl2* This,REFCLSID clsidProfilerObject,DWORD dwEventMask,DWORD dwContext) {
321 return This->lpVtbl->StartProfiling(This,clsidProfilerObject,dwEventMask,dwContext);
322}
323static FORCEINLINE HRESULT IActiveScriptProfilerControl2_SetProfilerEventMask(IActiveScriptProfilerControl2* This,DWORD dwEventMask) {
324 return This->lpVtbl->SetProfilerEventMask(This,dwEventMask);
325}
326static FORCEINLINE HRESULT IActiveScriptProfilerControl2_StopProfiling(IActiveScriptProfilerControl2* This,HRESULT hrShutdownReason) {
327 return This->lpVtbl->StopProfiling(This,hrShutdownReason);
328}
329/*** IActiveScriptProfilerControl2 methods ***/
330static FORCEINLINE HRESULT IActiveScriptProfilerControl2_CompleteProfilerStart(IActiveScriptProfilerControl2* This) {
331 return This->lpVtbl->CompleteProfilerStart(This);
332}
333static 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
345typedef DWORD_PTR PROFILER_HEAP_OBJECT_ID;
346typedef UINT PROFILER_HEAP_OBJECT_NAME_ID;
347typedef void *PROFILER_EXTERNAL_OBJECT_ADDRESS;
348
349typedef 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
365typedef 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
379typedef struct _PROFILER_HEAP_OBJECT_SCOPE_LIST {
380 UINT count;
381 PROFILER_HEAP_OBJECT_ID scopes[1];
382} PROFILER_HEAP_OBJECT_SCOPE_LIST;
383
384typedef 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
392typedef 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
404typedef struct _PROFILER_HEAP_OBJECT_RELATIONSHIP_LIST {
405 UINT count;
406 PROFILER_HEAP_OBJECT_RELATIONSHIP elements[1];
407} PROFILER_HEAP_OBJECT_RELATIONSHIP_LIST;
408
409typedef 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
425typedef 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
443DEFINE_GUID(IID_IActiveScriptProfilerHeapEnum, 0x32e4694e, 0x0d37, 0x419b, 0xb9,0x3d, 0xfa,0x20,0xde,0xd6,0xe8,0xea);
444#if defined(__cplusplus) && !defined(CINTERFACE)
445MIDL_INTERFACE("32e4694e-0d37-419b-b93d-fa20ded6e8ea")
446IActiveScriptProfilerHeapEnum : 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
471typedef 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
512interface 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 ***/
529static FORCEINLINE HRESULT IActiveScriptProfilerHeapEnum_QueryInterface(IActiveScriptProfilerHeapEnum* This,REFIID riid,void **ppvObject) {
530 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
531}
532static FORCEINLINE ULONG IActiveScriptProfilerHeapEnum_AddRef(IActiveScriptProfilerHeapEnum* This) {
533 return This->lpVtbl->AddRef(This);
534}
535static FORCEINLINE ULONG IActiveScriptProfilerHeapEnum_Release(IActiveScriptProfilerHeapEnum* This) {
536 return This->lpVtbl->Release(This);
537}
538/*** IActiveScriptProfilerHeapEnum methods ***/
539static FORCEINLINE HRESULT IActiveScriptProfilerHeapEnum_Next(IActiveScriptProfilerHeapEnum* This,ULONG celt,PROFILER_HEAP_OBJECT **heapObjects,ULONG *pceltFetched) {
540 return This->lpVtbl->Next(This,celt,heapObjects,pceltFetched);
541}
542static 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}
545static FORCEINLINE HRESULT IActiveScriptProfilerHeapEnum_FreeObjectAndOptionalInfo(IActiveScriptProfilerHeapEnum* This,ULONG celt,PROFILER_HEAP_OBJECT **heapObjects) {
546 return This->lpVtbl->FreeObjectAndOptionalInfo(This,celt,heapObjects);
547}
548static 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
566DEFINE_GUID(IID_IActiveScriptProfilerControl3, 0x0b403015, 0xf381, 0x4023, 0xa5,0xd0, 0x6f,0xed,0x07,0x6d,0xe7,0x16);
567#if defined(__cplusplus) && !defined(CINTERFACE)
568MIDL_INTERFACE("0b403015-f381-4023-a5d0-6fed076de716")
569IActiveScriptProfilerControl3 : 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
579typedef 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
624interface 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 ***/
645static FORCEINLINE HRESULT IActiveScriptProfilerControl3_QueryInterface(IActiveScriptProfilerControl3* This,REFIID riid,void **ppvObject) {
646 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
647}
648static FORCEINLINE ULONG IActiveScriptProfilerControl3_AddRef(IActiveScriptProfilerControl3* This) {
649 return This->lpVtbl->AddRef(This);
650}
651static FORCEINLINE ULONG IActiveScriptProfilerControl3_Release(IActiveScriptProfilerControl3* This) {
652 return This->lpVtbl->Release(This);
653}
654/*** IActiveScriptProfilerControl methods ***/
655static FORCEINLINE HRESULT IActiveScriptProfilerControl3_StartProfiling(IActiveScriptProfilerControl3* This,REFCLSID clsidProfilerObject,DWORD dwEventMask,DWORD dwContext) {
656 return This->lpVtbl->StartProfiling(This,clsidProfilerObject,dwEventMask,dwContext);
657}
658static FORCEINLINE HRESULT IActiveScriptProfilerControl3_SetProfilerEventMask(IActiveScriptProfilerControl3* This,DWORD dwEventMask) {
659 return This->lpVtbl->SetProfilerEventMask(This,dwEventMask);
660}
661static FORCEINLINE HRESULT IActiveScriptProfilerControl3_StopProfiling(IActiveScriptProfilerControl3* This,HRESULT hrShutdownReason) {
662 return This->lpVtbl->StopProfiling(This,hrShutdownReason);
663}
664/*** IActiveScriptProfilerControl2 methods ***/
665static FORCEINLINE HRESULT IActiveScriptProfilerControl3_CompleteProfilerStart(IActiveScriptProfilerControl3* This) {
666 return This->lpVtbl->CompleteProfilerStart(This);
667}
668static FORCEINLINE HRESULT IActiveScriptProfilerControl3_PrepareProfilerStop(IActiveScriptProfilerControl3* This) {
669 return This->lpVtbl->PrepareProfilerStop(This);
670}
671/*** IActiveScriptProfilerControl3 methods ***/
672static 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
690DEFINE_GUID(IID_IActiveScriptProfilerCallback, 0x740eca23, 0x7d9d, 0x42e5, 0xba,0x9d, 0xf8,0xb2,0x4b,0x1c,0x7a,0x9b);
691#if defined(__cplusplus) && !defined(CINTERFACE)
692MIDL_INTERFACE("740eca23-7d9d-42e5-ba9d-f8b24b1c7a9b")
693IActiveScriptProfilerCallback : 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
726typedef 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
777interface 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 ***/
796static FORCEINLINE HRESULT IActiveScriptProfilerCallback_QueryInterface(IActiveScriptProfilerCallback* This,REFIID riid,void **ppvObject) {
797 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
798}
799static FORCEINLINE ULONG IActiveScriptProfilerCallback_AddRef(IActiveScriptProfilerCallback* This) {
800 return This->lpVtbl->AddRef(This);
801}
802static FORCEINLINE ULONG IActiveScriptProfilerCallback_Release(IActiveScriptProfilerCallback* This) {
803 return This->lpVtbl->Release(This);
804}
805/*** IActiveScriptProfilerCallback methods ***/
806static FORCEINLINE HRESULT IActiveScriptProfilerCallback_Initialize(IActiveScriptProfilerCallback* This,DWORD dwContext) {
807 return This->lpVtbl->Initialize(This,dwContext);
808}
809static FORCEINLINE HRESULT IActiveScriptProfilerCallback_Shutdown(IActiveScriptProfilerCallback* This,HRESULT hrReason) {
810 return This->lpVtbl->Shutdown(This,hrReason);
811}
812static 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}
815static 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}
818static FORCEINLINE HRESULT IActiveScriptProfilerCallback_OnFunctionEnter(IActiveScriptProfilerCallback* This,PROFILER_TOKEN scriptId,PROFILER_TOKEN functionId) {
819 return This->lpVtbl->OnFunctionEnter(This,scriptId,functionId);
820}
821static 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
839DEFINE_GUID(IID_IActiveScriptProfilerCallback2, 0x31b7f8ad, 0xa637, 0x409c, 0xb2,0x2f, 0x04,0x09,0x95,0xb6,0x10,0x3d);
840#if defined(__cplusplus) && !defined(CINTERFACE)
841MIDL_INTERFACE("31b7f8ad-a637-409c-b22f-040995b6103d")
842IActiveScriptProfilerCallback2 : 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
857typedef 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
919interface 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 ***/
941static FORCEINLINE HRESULT IActiveScriptProfilerCallback2_QueryInterface(IActiveScriptProfilerCallback2* This,REFIID riid,void **ppvObject) {
942 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
943}
944static FORCEINLINE ULONG IActiveScriptProfilerCallback2_AddRef(IActiveScriptProfilerCallback2* This) {
945 return This->lpVtbl->AddRef(This);
946}
947static FORCEINLINE ULONG IActiveScriptProfilerCallback2_Release(IActiveScriptProfilerCallback2* This) {
948 return This->lpVtbl->Release(This);
949}
950/*** IActiveScriptProfilerCallback methods ***/
951static FORCEINLINE HRESULT IActiveScriptProfilerCallback2_Initialize(IActiveScriptProfilerCallback2* This,DWORD dwContext) {
952 return This->lpVtbl->Initialize(This,dwContext);
953}
954static FORCEINLINE HRESULT IActiveScriptProfilerCallback2_Shutdown(IActiveScriptProfilerCallback2* This,HRESULT hrReason) {
955 return This->lpVtbl->Shutdown(This,hrReason);
956}
957static 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}
960static 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}
963static FORCEINLINE HRESULT IActiveScriptProfilerCallback2_OnFunctionEnter(IActiveScriptProfilerCallback2* This,PROFILER_TOKEN scriptId,PROFILER_TOKEN functionId) {
964 return This->lpVtbl->OnFunctionEnter(This,scriptId,functionId);
965}
966static FORCEINLINE HRESULT IActiveScriptProfilerCallback2_OnFunctionExit(IActiveScriptProfilerCallback2* This,PROFILER_TOKEN scriptId,PROFILER_TOKEN functionId) {
967 return This->lpVtbl->OnFunctionExit(This,scriptId,functionId);
968}
969/*** IActiveScriptProfilerCallback2 methods ***/
970static FORCEINLINE HRESULT IActiveScriptProfilerCallback2_OnFunctionEnterByName(IActiveScriptProfilerCallback2* This,const WCHAR *pwszFunctionName,PROFILER_SCRIPT_TYPE type) {
971 return This->lpVtbl->OnFunctionEnterByName(This,pwszFunctionName,type);
972}
973static 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
991DEFINE_GUID(IID_IActiveScriptProfilerCallback3, 0x6ac5ad25, 0x2037, 0x4687, 0x91,0xdf, 0xb5,0x99,0x79,0xd9,0x3d,0x73);
992#if defined(__cplusplus) && !defined(CINTERFACE)
993MIDL_INTERFACE("6ac5ad25-2037-4687-91df-b59979d93d73")
994IActiveScriptProfilerCallback3 : 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
1004typedef 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
1071interface 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 ***/
1095static FORCEINLINE HRESULT IActiveScriptProfilerCallback3_QueryInterface(IActiveScriptProfilerCallback3* This,REFIID riid,void **ppvObject) {
1096 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1097}
1098static FORCEINLINE ULONG IActiveScriptProfilerCallback3_AddRef(IActiveScriptProfilerCallback3* This) {
1099 return This->lpVtbl->AddRef(This);
1100}
1101static FORCEINLINE ULONG IActiveScriptProfilerCallback3_Release(IActiveScriptProfilerCallback3* This) {
1102 return This->lpVtbl->Release(This);
1103}
1104/*** IActiveScriptProfilerCallback methods ***/
1105static FORCEINLINE HRESULT IActiveScriptProfilerCallback3_Initialize(IActiveScriptProfilerCallback3* This,DWORD dwContext) {
1106 return This->lpVtbl->Initialize(This,dwContext);
1107}
1108static FORCEINLINE HRESULT IActiveScriptProfilerCallback3_Shutdown(IActiveScriptProfilerCallback3* This,HRESULT hrReason) {
1109 return This->lpVtbl->Shutdown(This,hrReason);
1110}
1111static 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}
1114static 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}
1117static FORCEINLINE HRESULT IActiveScriptProfilerCallback3_OnFunctionEnter(IActiveScriptProfilerCallback3* This,PROFILER_TOKEN scriptId,PROFILER_TOKEN functionId) {
1118 return This->lpVtbl->OnFunctionEnter(This,scriptId,functionId);
1119}
1120static FORCEINLINE HRESULT IActiveScriptProfilerCallback3_OnFunctionExit(IActiveScriptProfilerCallback3* This,PROFILER_TOKEN scriptId,PROFILER_TOKEN functionId) {
1121 return This->lpVtbl->OnFunctionExit(This,scriptId,functionId);
1122}
1123/*** IActiveScriptProfilerCallback2 methods ***/
1124static FORCEINLINE HRESULT IActiveScriptProfilerCallback3_OnFunctionEnterByName(IActiveScriptProfilerCallback3* This,const WCHAR *pwszFunctionName,PROFILER_SCRIPT_TYPE type) {
1125 return This->lpVtbl->OnFunctionEnterByName(This,pwszFunctionName,type);
1126}
1127static 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 ***/
1131static 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__ */
Note: See TracBrowser for help on using the repository browser.