From 40d9308aea1aaa9f7c310eafcecbe9cdd11ef167 Mon Sep 17 00:00:00 2001 From: David Mason Date: Sun, 24 May 2020 02:24:33 -0700 Subject: [PATCH 01/24] Proof of concept synchronous profiler EventPipe events --- src/coreclr/src/inc/corprof.idl | 66 +- src/coreclr/src/inc/profilepriv.inl | 14 + .../src/pal/prebuilt/idl/corprof_i.cpp | 5 +- src/coreclr/src/pal/prebuilt/inc/corprof.h | 13351 ++++++++-------- src/coreclr/src/vm/eetoprofinterfaceimpl.cpp | 240 +- src/coreclr/src/vm/eetoprofinterfaceimpl.h | 36 +- src/coreclr/src/vm/eventpipe.cpp | 13 +- src/coreclr/src/vm/eventpipe.h | 3 +- src/coreclr/src/vm/eventpipecommontypes.h | 16 + src/coreclr/src/vm/eventpipesession.cpp | 50 +- src/coreclr/src/vm/eventpipesession.h | 12 +- src/coreclr/src/vm/proftoeeinterfaceimpl.cpp | 218 +- src/coreclr/src/vm/proftoeeinterfaceimpl.h | 25 +- 13 files changed, 7638 insertions(+), 6411 deletions(-) diff --git a/src/coreclr/src/inc/corprof.idl b/src/coreclr/src/inc/corprof.idl index 5968e8c226487..3f507fac23c52 100644 --- a/src/coreclr/src/inc/corprof.idl +++ b/src/coreclr/src/inc/corprof.idl @@ -640,11 +640,14 @@ typedef enum // Enables the large object allocation monitoring according to the LOH threshold. COR_PRF_HIGH_MONITOR_LARGEOBJECT_ALLOCATED = 0x00000040, + COR_PRF_HIGH_MONITOR_EVENT_PIPE = 0x00000080, + COR_PRF_HIGH_ALLOWABLE_AFTER_ATTACH = COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED | COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS | COR_PRF_HIGH_BASIC_GC | COR_PRF_HIGH_MONITOR_GC_MOVED_OBJECTS | - COR_PRF_HIGH_MONITOR_LARGEOBJECT_ALLOCATED, + COR_PRF_HIGH_MONITOR_LARGEOBJECT_ALLOCATED | + COR_PRF_HIGH_MONITOR_EVENT_PIPE, // MONITOR_IMMUTABLE represents all flags that may only be set during initialization. // Trying to change any of these flags elsewhere will result in a @@ -738,9 +741,11 @@ typedef enum typedef UINT_PTR EVENTPIPE_PROVIDER; typedef UINT_PTR EVENTPIPE_EVENT; +typedef UINT64 EVENTPIPE_SESSION; typedef enum { + COR_PRF_EVENTPIPE_OBJECT = 1, // Instance that isn't a value COR_PRF_EVENTPIPE_BOOLEAN = 3, // Boolean COR_PRF_EVENTPIPE_CHAR = 4, // Unicode character COR_PRF_EVENTPIPE_SBYTE = 5, // Signed 8-bit integer @@ -770,6 +775,14 @@ typedef enum COR_PRF_EVENTPIPE_VERBOSE = 5 } COR_PRF_EVENTPIPE_LEVEL; +typedef struct +{ + const WCHAR* providerName; + UINT64 keywords; + UINT32 loggingLevel; + const WCHAR* filterData; +} COR_PRF_EVENTPIPE_PROVIDER_CONFIG; + typedef struct { UINT32 type; @@ -2510,6 +2523,30 @@ interface ICorProfilerCallback9 : ICorProfilerCallback8 HRESULT DynamicMethodUnloaded([in] FunctionID functionId); } +[ + object, + uuid(CEC5B60E-C69C-495F-87F6-84D28EE16FFB), + pointer_default(unique), + local +] +interface ICorProfilerCallback10 : ICorProfilerCallback9 +{ + // This event is triggered whenever an EventPipe event is configured to be delivered. + // + // Documentation Note: All pointers are only valid during the callback + + HRESULT EventPipeEventDelivered( + [in] EVENTPIPE_PROVIDER provider, + [in] DWORD eventId, + [in] DWORD eventVersion, + [in] ULONG cbMetadataBlob, + [in, size_is(cbMetadataBlob)] LPCBYTE metadataBlob, + [in] DWORD eventThreadId, + [in] ULONG cbEventData, + [in, size_is(cbEventData)] LPCBYTE eventData, + [in] ULONG numStackFrames, + [in, length_is(numStackFrames)] UINT_PTR stackFrames[]); +} /* * COR_PRF_CODEGEN_FLAGS controls various flags and hooks for a specific @@ -4076,12 +4113,31 @@ interface ICorProfilerInfo11 : ICorProfilerInfo10 ] interface ICorProfilerInfo12 : ICorProfilerInfo11 { + HRESULT EventPipeStartSession( + [in] const WCHAR* szProviderName, + [in] UINT32 cProviderConfigs, + [in, size_is(cProviderConfigs)] + COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[], + [in] BOOL requestRundown, + [in] BOOL requestSamples, + [out] EVENTPIPE_SESSION* pSession); + + HRESULT EventPipeStopSession( + [in] EVENTPIPE_SESSION session); + HRESULT EventPipeCreateProvider( [in, string] const WCHAR *szName, - [out] EVENTPIPE_PROVIDER *pProviderHandle); + [out] EVENTPIPE_PROVIDER *pProvider); + + HRESULT EventPipeGetProviderInfo( + [in] EVENTPIPE_PROVIDER provider, + [in] ULONG cchName, + [out] ULONG *pcchName, + [out, annotation("_Out_writes_to_(cchName, *pcchName)")] + WCHAR szName[]); HRESULT EventPipeDefineEvent( - [in] EVENTPIPE_PROVIDER provHandle, + [in] EVENTPIPE_PROVIDER provider, [in, string] const WCHAR *szName, [in] UINT32 eventID, [in] UINT64 keywords, @@ -4092,10 +4148,10 @@ interface ICorProfilerInfo12 : ICorProfilerInfo11 [in] UINT32 cParamDescs, [in, size_is(cParamDescs)] COR_PRF_EVENTPIPE_PARAM_DESC pParamDescs[], - [out] EVENTPIPE_EVENT *pEventHandle); + [out] EVENTPIPE_EVENT *pEvent); HRESULT EventPipeWriteEvent( - [in] EVENTPIPE_EVENT eventHandle, + [in] EVENTPIPE_EVENT event, [in] UINT32 cData, [in, size_is(cData)] COR_PRF_EVENT_DATA data[], diff --git a/src/coreclr/src/inc/profilepriv.inl b/src/coreclr/src/inc/profilepriv.inl index 1d4d859310373..c9ec350016f4f 100644 --- a/src/coreclr/src/inc/profilepriv.inl +++ b/src/coreclr/src/inc/profilepriv.inl @@ -760,6 +760,20 @@ inline BOOL CORProfilerTrackGCMovedObjects() ((&g_profControlBlock)->dwEventMaskHigh & COR_PRF_HIGH_MONITOR_GC_MOVED_OBJECTS)); } +inline BOOL CORProfilerIsMonitoringEventPipe() +{ + CONTRACTL + { + NOTHROW; + GC_NOTRIGGER; + CANNOT_TAKE_LOCK; + } + CONTRACTL_END; + + return (CORProfilerPresent() && + ((&g_profControlBlock)->dwEventMaskHigh & COR_PRF_HIGH_MONITOR_EVENT_PIPE)); +} + #if defined(PROFILING_SUPPORTED) && !defined(CROSSGEN_COMPILE) #if defined(FEATURE_PROFAPI_ATTACH_DETACH) diff --git a/src/coreclr/src/pal/prebuilt/idl/corprof_i.cpp b/src/coreclr/src/pal/prebuilt/idl/corprof_i.cpp index e1f6115179275..cd12d3532af1c 100644 --- a/src/coreclr/src/pal/prebuilt/idl/corprof_i.cpp +++ b/src/coreclr/src/pal/prebuilt/idl/corprof_i.cpp @@ -17,7 +17,7 @@ #ifdef __cplusplus extern "C"{ -#endif +#endif #include @@ -88,6 +88,9 @@ MIDL_DEFINE_GUID(IID, IID_ICorProfilerCallback8,0x5BED9B15,0xC079,0x4D47,0xBF,0x MIDL_DEFINE_GUID(IID, IID_ICorProfilerCallback9,0x27583EC3,0xC8F5,0x482F,0x80,0x52,0x19,0x4B,0x8C,0xE4,0x70,0x5A); +MIDL_DEFINE_GUID(IID, IID_ICorProfilerCallback10,0xCEC5B60E,0xC69C,0x495F,0x87,0xF6,0x84,0xD2,0x8E,0xE1,0x6F,0xFB); + + MIDL_DEFINE_GUID(IID, IID_ICorProfilerInfo,0x28B5557D,0x3F3F,0x48b4,0x90,0xB2,0x5F,0x9E,0xEA,0x2F,0x6C,0x48); diff --git a/src/coreclr/src/pal/prebuilt/inc/corprof.h b/src/coreclr/src/pal/prebuilt/inc/corprof.h index 223b3d5a9476e..2a73f4896f347 100644 --- a/src/coreclr/src/pal/prebuilt/inc/corprof.h +++ b/src/coreclr/src/pal/prebuilt/inc/corprof.h @@ -7,10 +7,10 @@ /* at Mon Jan 18 19:14:07 2038 */ /* Compiler settings for C:/git/runtime/src/coreclr/src/inc/corprof.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.01.0622 + Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.01.0622 protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: __declspec(uuid()), __declspec(selectany), __declspec(novtable) DECLSPEC_UUID(), MIDL_INTERFACE() */ @@ -43,7 +43,7 @@ #pragma once #endif -/* Forward Declarations */ +/* Forward Declarations */ #ifndef __ICorProfilerCallback_FWD_DEFINED__ #define __ICorProfilerCallback_FWD_DEFINED__ @@ -108,6 +108,13 @@ typedef interface ICorProfilerCallback9 ICorProfilerCallback9; #endif /* __ICorProfilerCallback9_FWD_DEFINED__ */ +#ifndef __ICorProfilerCallback10_FWD_DEFINED__ +#define __ICorProfilerCallback10_FWD_DEFINED__ +typedef interface ICorProfilerCallback10 ICorProfilerCallback10; + +#endif /* __ICorProfilerCallback10_FWD_DEFINED__ */ + + #ifndef __ICorProfilerInfo_FWD_DEFINED__ #define __ICorProfilerInfo_FWD_DEFINED__ typedef interface ICorProfilerInfo ICorProfilerInfo; @@ -253,11 +260,11 @@ typedef interface ICorProfilerAssemblyReferenceProvider ICorProfilerAssemblyRefe #ifdef __cplusplus extern "C"{ -#endif +#endif /* interface __MIDL_itf_corprof_0000_0000 */ -/* [local] */ +/* [local] */ #define CorDB_CONTROL_Profiling "Cor_Enable_Profiling" #define CorDB_CONTROL_ProfilingL L"Cor_Enable_Profiling" @@ -319,7 +326,7 @@ typedef struct _COR_IL_MAP #endif //_COR_IL_MAP #ifndef _COR_DEBUG_IL_TO_NATIVE_MAP_ #define _COR_DEBUG_IL_TO_NATIVE_MAP_ -typedef +typedef enum CorDebugIlToNativeMappingTypes { NO_MAPPING = -1, @@ -374,16 +381,16 @@ typedef /* [public][public][public][public][public][public][public][public][publ UINT_PTR clientID; } FunctionIDOrClientID; -typedef UINT_PTR __stdcall __stdcall FunctionIDMapper( +typedef UINT_PTR __stdcall __stdcall FunctionIDMapper( FunctionID funcId, BOOL *pbHookFunction); -typedef UINT_PTR __stdcall __stdcall FunctionIDMapper2( +typedef UINT_PTR __stdcall __stdcall FunctionIDMapper2( FunctionID funcId, void *clientData, BOOL *pbHookFunction); -typedef +typedef enum _COR_PRF_SNAPSHOT_INFO { COR_PRF_SNAPSHOT_DEFAULT = 0, @@ -412,7 +419,7 @@ typedef struct _COR_PRF_CODE_INFO SIZE_T size; } COR_PRF_CODE_INFO; -typedef /* [public][public] */ +typedef /* [public][public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0004 { COR_PRF_FIELD_NOT_A_STATIC = 0, @@ -445,54 +452,54 @@ typedef struct _COR_PRF_METHOD mdMethodDef methodId; } COR_PRF_METHOD; -typedef void FunctionEnter( +typedef void FunctionEnter( FunctionID funcID); -typedef void FunctionLeave( +typedef void FunctionLeave( FunctionID funcID); -typedef void FunctionTailcall( +typedef void FunctionTailcall( FunctionID funcID); -typedef void FunctionEnter2( +typedef void FunctionEnter2( FunctionID funcId, UINT_PTR clientData, COR_PRF_FRAME_INFO func, COR_PRF_FUNCTION_ARGUMENT_INFO *argumentInfo); -typedef void FunctionLeave2( +typedef void FunctionLeave2( FunctionID funcId, UINT_PTR clientData, COR_PRF_FRAME_INFO func, COR_PRF_FUNCTION_ARGUMENT_RANGE *retvalRange); -typedef void FunctionTailcall2( +typedef void FunctionTailcall2( FunctionID funcId, UINT_PTR clientData, COR_PRF_FRAME_INFO func); -typedef void FunctionEnter3( +typedef void FunctionEnter3( FunctionIDOrClientID functionIDOrClientID); -typedef void FunctionLeave3( +typedef void FunctionLeave3( FunctionIDOrClientID functionIDOrClientID); -typedef void FunctionTailcall3( +typedef void FunctionTailcall3( FunctionIDOrClientID functionIDOrClientID); -typedef void FunctionEnter3WithInfo( +typedef void FunctionEnter3WithInfo( FunctionIDOrClientID functionIDOrClientID, COR_PRF_ELT_INFO eltInfo); -typedef void FunctionLeave3WithInfo( +typedef void FunctionLeave3WithInfo( FunctionIDOrClientID functionIDOrClientID, COR_PRF_ELT_INFO eltInfo); -typedef void FunctionTailcall3WithInfo( +typedef void FunctionTailcall3WithInfo( FunctionIDOrClientID functionIDOrClientID, COR_PRF_ELT_INFO eltInfo); -typedef HRESULT __stdcall __stdcall StackSnapshotCallback( +typedef HRESULT __stdcall __stdcall StackSnapshotCallback( FunctionID funcId, UINT_PTR ip, COR_PRF_FRAME_INFO frameInfo, @@ -500,12 +507,12 @@ typedef HRESULT __stdcall __stdcall StackSnapshotCallback( BYTE context[ ], void *clientData); -typedef BOOL ObjectReferenceCallback( +typedef BOOL ObjectReferenceCallback( ObjectID root, ObjectID *reference, void *clientData); -typedef /* [public] */ +typedef /* [public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0005 { COR_PRF_MONITOR_NONE = 0, @@ -545,10 +552,10 @@ enum __MIDL___MIDL_itf_corprof_0000_0000_0005 COR_PRF_ALL = 0x8fffffff, COR_PRF_REQUIRE_PROFILE_IMAGE = ( ( COR_PRF_USE_PROFILE_IMAGES | COR_PRF_MONITOR_CODE_TRANSITIONS ) | COR_PRF_MONITOR_ENTERLEAVE ) , COR_PRF_ALLOWABLE_AFTER_ATTACH = ( ( ( ( ( ( ( ( ( ( COR_PRF_MONITOR_THREADS | COR_PRF_MONITOR_MODULE_LOADS ) | COR_PRF_MONITOR_ASSEMBLY_LOADS ) | COR_PRF_MONITOR_APPDOMAIN_LOADS ) | COR_PRF_ENABLE_STACK_SNAPSHOT ) | COR_PRF_MONITOR_GC ) | COR_PRF_MONITOR_SUSPENDS ) | COR_PRF_MONITOR_CLASS_LOADS ) | COR_PRF_MONITOR_EXCEPTIONS ) | COR_PRF_MONITOR_JIT_COMPILATION ) | COR_PRF_ENABLE_REJIT ) , - COR_PRF_MONITOR_IMMUTABLE = ( ( ( ( ( ( ( ( ( ( ( ( ( ( COR_PRF_MONITOR_CODE_TRANSITIONS | COR_PRF_MONITOR_REMOTING ) | COR_PRF_MONITOR_REMOTING_COOKIE ) | COR_PRF_MONITOR_REMOTING_ASYNC ) | COR_PRF_ENABLE_INPROC_DEBUGGING ) | COR_PRF_ENABLE_JIT_MAPS ) | COR_PRF_DISABLE_OPTIMIZATIONS ) | COR_PRF_DISABLE_INLINING ) | COR_PRF_ENABLE_OBJECT_ALLOCATED ) | COR_PRF_ENABLE_FUNCTION_ARGS ) | COR_PRF_ENABLE_FUNCTION_RETVAL ) | COR_PRF_ENABLE_FRAME_INFO ) | COR_PRF_USE_PROFILE_IMAGES ) | COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST ) | COR_PRF_DISABLE_ALL_NGEN_IMAGES ) + COR_PRF_MONITOR_IMMUTABLE = ( ( ( ( ( ( ( ( ( ( ( ( ( ( COR_PRF_MONITOR_CODE_TRANSITIONS | COR_PRF_MONITOR_REMOTING ) | COR_PRF_MONITOR_REMOTING_COOKIE ) | COR_PRF_MONITOR_REMOTING_ASYNC ) | COR_PRF_ENABLE_INPROC_DEBUGGING ) | COR_PRF_ENABLE_JIT_MAPS ) | COR_PRF_DISABLE_OPTIMIZATIONS ) | COR_PRF_DISABLE_INLINING ) | COR_PRF_ENABLE_OBJECT_ALLOCATED ) | COR_PRF_ENABLE_FUNCTION_ARGS ) | COR_PRF_ENABLE_FUNCTION_RETVAL ) | COR_PRF_ENABLE_FRAME_INFO ) | COR_PRF_USE_PROFILE_IMAGES ) | COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST ) | COR_PRF_DISABLE_ALL_NGEN_IMAGES ) } COR_PRF_MONITOR; -typedef /* [public] */ +typedef /* [public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0006 { COR_PRF_HIGH_MONITOR_NONE = 0, @@ -560,11 +567,12 @@ enum __MIDL___MIDL_itf_corprof_0000_0000_0006 COR_PRF_HIGH_MONITOR_GC_MOVED_OBJECTS = 0x20, COR_PRF_HIGH_REQUIRE_PROFILE_IMAGE = 0, COR_PRF_HIGH_MONITOR_LARGEOBJECT_ALLOCATED = 0x40, - COR_PRF_HIGH_ALLOWABLE_AFTER_ATTACH = ( ( ( ( COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED | COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS ) | COR_PRF_HIGH_BASIC_GC ) | COR_PRF_HIGH_MONITOR_GC_MOVED_OBJECTS ) | COR_PRF_HIGH_MONITOR_LARGEOBJECT_ALLOCATED ) , + COR_PRF_HIGH_MONITOR_EVENT_PIPE = 0x80, + COR_PRF_HIGH_ALLOWABLE_AFTER_ATTACH = ( ( ( ( ( COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED | COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS ) | COR_PRF_HIGH_BASIC_GC ) | COR_PRF_HIGH_MONITOR_GC_MOVED_OBJECTS ) | COR_PRF_HIGH_MONITOR_LARGEOBJECT_ALLOCATED ) | COR_PRF_HIGH_MONITOR_EVENT_PIPE ) , COR_PRF_HIGH_MONITOR_IMMUTABLE = COR_PRF_HIGH_DISABLE_TIERED_COMPILATION } COR_PRF_HIGH_MONITOR; -typedef /* [public] */ +typedef /* [public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0007 { PROFILER_PARENT_UNKNOWN = 0xfffffffd, @@ -572,21 +580,21 @@ enum __MIDL___MIDL_itf_corprof_0000_0000_0007 PROFILER_GLOBAL_MODULE = 0xffffffff } COR_PRF_MISC; -typedef /* [public][public] */ +typedef /* [public][public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0008 { COR_PRF_CACHED_FUNCTION_FOUND = 0, - COR_PRF_CACHED_FUNCTION_NOT_FOUND = ( COR_PRF_CACHED_FUNCTION_FOUND + 1 ) + COR_PRF_CACHED_FUNCTION_NOT_FOUND = ( COR_PRF_CACHED_FUNCTION_FOUND + 1 ) } COR_PRF_JIT_CACHE; -typedef /* [public][public][public] */ +typedef /* [public][public][public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0009 { COR_PRF_TRANSITION_CALL = 0, - COR_PRF_TRANSITION_RETURN = ( COR_PRF_TRANSITION_CALL + 1 ) + COR_PRF_TRANSITION_RETURN = ( COR_PRF_TRANSITION_CALL + 1 ) } COR_PRF_TRANSITION_REASON; -typedef /* [public][public] */ +typedef /* [public][public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0010 { COR_PRF_SUSPEND_OTHER = 0, @@ -600,14 +608,14 @@ enum __MIDL___MIDL_itf_corprof_0000_0000_0010 COR_PRF_SUSPEND_FOR_PROFILER = 9 } COR_PRF_SUSPEND_REASON; -typedef /* [public][public] */ +typedef /* [public][public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0011 { COR_PRF_DESKTOP_CLR = 0x1, COR_PRF_CORE_CLR = 0x2 } COR_PRF_RUNTIME_TYPE; -typedef /* [public] */ +typedef /* [public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0012 { COR_PRF_REJIT_BLOCK_INLINING = 0x1, @@ -618,9 +626,12 @@ typedef UINT_PTR EVENTPIPE_PROVIDER; typedef UINT_PTR EVENTPIPE_EVENT; -typedef /* [public] */ +typedef UINT64 EVENTPIPE_SESSION; + +typedef /* [public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0013 { + COR_PRF_EVENTPIPE_OBJECT = 1, COR_PRF_EVENTPIPE_BOOLEAN = 3, COR_PRF_EVENTPIPE_CHAR = 4, COR_PRF_EVENTPIPE_SBYTE = 5, @@ -640,7 +651,7 @@ enum __MIDL___MIDL_itf_corprof_0000_0000_0013 COR_PRF_EVENTPIPE_ARRAY = 19 } COR_PRF_EVENTPIPE_PARAM_TYPE; -typedef /* [public] */ +typedef /* [public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0014 { COR_PRF_EVENTPIPE_LOGALWAYS = 0, @@ -652,13 +663,21 @@ enum __MIDL___MIDL_itf_corprof_0000_0000_0014 } COR_PRF_EVENTPIPE_LEVEL; typedef /* [public][public] */ struct __MIDL___MIDL_itf_corprof_0000_0000_0015 + { + const WCHAR *providerName; + UINT64 keywords; + UINT32 loggingLevel; + const WCHAR *filterData; + } COR_PRF_EVENTPIPE_PROVIDER_CONFIG; + +typedef /* [public][public] */ struct __MIDL___MIDL_itf_corprof_0000_0000_0016 { UINT32 type; UINT32 elementType; const WCHAR *name; } COR_PRF_EVENTPIPE_PARAM_DESC; -typedef /* [public][public] */ struct __MIDL___MIDL_itf_corprof_0000_0000_0016 +typedef /* [public][public] */ struct __MIDL___MIDL_itf_corprof_0000_0000_0017 { UINT64 ptr; UINT32 size; @@ -690,567 +709,567 @@ extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0000_v0_0_s_ifspec; #define __ICorProfilerCallback_INTERFACE_DEFINED__ /* interface ICorProfilerCallback */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerCallback; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("176FBED1-A55C-4796-98CA-A9DA0EF883E7") ICorProfilerCallback : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE Initialize( + virtual HRESULT STDMETHODCALLTYPE Initialize( /* [in] */ IUnknown *pICorProfilerInfoUnk) = 0; - + virtual HRESULT STDMETHODCALLTYPE Shutdown( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE AppDomainCreationStarted( + + virtual HRESULT STDMETHODCALLTYPE AppDomainCreationStarted( /* [in] */ AppDomainID appDomainId) = 0; - - virtual HRESULT STDMETHODCALLTYPE AppDomainCreationFinished( + + virtual HRESULT STDMETHODCALLTYPE AppDomainCreationFinished( /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus) = 0; - - virtual HRESULT STDMETHODCALLTYPE AppDomainShutdownStarted( + + virtual HRESULT STDMETHODCALLTYPE AppDomainShutdownStarted( /* [in] */ AppDomainID appDomainId) = 0; - - virtual HRESULT STDMETHODCALLTYPE AppDomainShutdownFinished( + + virtual HRESULT STDMETHODCALLTYPE AppDomainShutdownFinished( /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus) = 0; - - virtual HRESULT STDMETHODCALLTYPE AssemblyLoadStarted( + + virtual HRESULT STDMETHODCALLTYPE AssemblyLoadStarted( /* [in] */ AssemblyID assemblyId) = 0; - - virtual HRESULT STDMETHODCALLTYPE AssemblyLoadFinished( + + virtual HRESULT STDMETHODCALLTYPE AssemblyLoadFinished( /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus) = 0; - - virtual HRESULT STDMETHODCALLTYPE AssemblyUnloadStarted( + + virtual HRESULT STDMETHODCALLTYPE AssemblyUnloadStarted( /* [in] */ AssemblyID assemblyId) = 0; - - virtual HRESULT STDMETHODCALLTYPE AssemblyUnloadFinished( + + virtual HRESULT STDMETHODCALLTYPE AssemblyUnloadFinished( /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus) = 0; - - virtual HRESULT STDMETHODCALLTYPE ModuleLoadStarted( + + virtual HRESULT STDMETHODCALLTYPE ModuleLoadStarted( /* [in] */ ModuleID moduleId) = 0; - - virtual HRESULT STDMETHODCALLTYPE ModuleLoadFinished( + + virtual HRESULT STDMETHODCALLTYPE ModuleLoadFinished( /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus) = 0; - - virtual HRESULT STDMETHODCALLTYPE ModuleUnloadStarted( + + virtual HRESULT STDMETHODCALLTYPE ModuleUnloadStarted( /* [in] */ ModuleID moduleId) = 0; - - virtual HRESULT STDMETHODCALLTYPE ModuleUnloadFinished( + + virtual HRESULT STDMETHODCALLTYPE ModuleUnloadFinished( /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus) = 0; - - virtual HRESULT STDMETHODCALLTYPE ModuleAttachedToAssembly( + + virtual HRESULT STDMETHODCALLTYPE ModuleAttachedToAssembly( /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId) = 0; - - virtual HRESULT STDMETHODCALLTYPE ClassLoadStarted( + + virtual HRESULT STDMETHODCALLTYPE ClassLoadStarted( /* [in] */ ClassID classId) = 0; - - virtual HRESULT STDMETHODCALLTYPE ClassLoadFinished( + + virtual HRESULT STDMETHODCALLTYPE ClassLoadFinished( /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus) = 0; - - virtual HRESULT STDMETHODCALLTYPE ClassUnloadStarted( + + virtual HRESULT STDMETHODCALLTYPE ClassUnloadStarted( /* [in] */ ClassID classId) = 0; - - virtual HRESULT STDMETHODCALLTYPE ClassUnloadFinished( + + virtual HRESULT STDMETHODCALLTYPE ClassUnloadFinished( /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus) = 0; - - virtual HRESULT STDMETHODCALLTYPE FunctionUnloadStarted( + + virtual HRESULT STDMETHODCALLTYPE FunctionUnloadStarted( /* [in] */ FunctionID functionId) = 0; - - virtual HRESULT STDMETHODCALLTYPE JITCompilationStarted( + + virtual HRESULT STDMETHODCALLTYPE JITCompilationStarted( /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock) = 0; - - virtual HRESULT STDMETHODCALLTYPE JITCompilationFinished( + + virtual HRESULT STDMETHODCALLTYPE JITCompilationFinished( /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock) = 0; - - virtual HRESULT STDMETHODCALLTYPE JITCachedFunctionSearchStarted( + + virtual HRESULT STDMETHODCALLTYPE JITCachedFunctionSearchStarted( /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction) = 0; - - virtual HRESULT STDMETHODCALLTYPE JITCachedFunctionSearchFinished( + + virtual HRESULT STDMETHODCALLTYPE JITCachedFunctionSearchFinished( /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result) = 0; - - virtual HRESULT STDMETHODCALLTYPE JITFunctionPitched( + + virtual HRESULT STDMETHODCALLTYPE JITFunctionPitched( /* [in] */ FunctionID functionId) = 0; - - virtual HRESULT STDMETHODCALLTYPE JITInlining( + + virtual HRESULT STDMETHODCALLTYPE JITInlining( /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline) = 0; - - virtual HRESULT STDMETHODCALLTYPE ThreadCreated( + + virtual HRESULT STDMETHODCALLTYPE ThreadCreated( /* [in] */ ThreadID threadId) = 0; - - virtual HRESULT STDMETHODCALLTYPE ThreadDestroyed( + + virtual HRESULT STDMETHODCALLTYPE ThreadDestroyed( /* [in] */ ThreadID threadId) = 0; - - virtual HRESULT STDMETHODCALLTYPE ThreadAssignedToOSThread( + + virtual HRESULT STDMETHODCALLTYPE ThreadAssignedToOSThread( /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId) = 0; - + virtual HRESULT STDMETHODCALLTYPE RemotingClientInvocationStarted( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE RemotingClientSendingMessage( + + virtual HRESULT STDMETHODCALLTYPE RemotingClientSendingMessage( /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync) = 0; - - virtual HRESULT STDMETHODCALLTYPE RemotingClientReceivingReply( + + virtual HRESULT STDMETHODCALLTYPE RemotingClientReceivingReply( /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync) = 0; - + virtual HRESULT STDMETHODCALLTYPE RemotingClientInvocationFinished( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE RemotingServerReceivingMessage( + + virtual HRESULT STDMETHODCALLTYPE RemotingServerReceivingMessage( /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync) = 0; - + virtual HRESULT STDMETHODCALLTYPE RemotingServerInvocationStarted( void) = 0; - + virtual HRESULT STDMETHODCALLTYPE RemotingServerInvocationReturned( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE RemotingServerSendingReply( + + virtual HRESULT STDMETHODCALLTYPE RemotingServerSendingReply( /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync) = 0; - - virtual HRESULT STDMETHODCALLTYPE UnmanagedToManagedTransition( + + virtual HRESULT STDMETHODCALLTYPE UnmanagedToManagedTransition( /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason) = 0; - - virtual HRESULT STDMETHODCALLTYPE ManagedToUnmanagedTransition( + + virtual HRESULT STDMETHODCALLTYPE ManagedToUnmanagedTransition( /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason) = 0; - - virtual HRESULT STDMETHODCALLTYPE RuntimeSuspendStarted( + + virtual HRESULT STDMETHODCALLTYPE RuntimeSuspendStarted( /* [in] */ COR_PRF_SUSPEND_REASON suspendReason) = 0; - + virtual HRESULT STDMETHODCALLTYPE RuntimeSuspendFinished( void) = 0; - + virtual HRESULT STDMETHODCALLTYPE RuntimeSuspendAborted( void) = 0; - + virtual HRESULT STDMETHODCALLTYPE RuntimeResumeStarted( void) = 0; - + virtual HRESULT STDMETHODCALLTYPE RuntimeResumeFinished( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE RuntimeThreadSuspended( + + virtual HRESULT STDMETHODCALLTYPE RuntimeThreadSuspended( /* [in] */ ThreadID threadId) = 0; - - virtual HRESULT STDMETHODCALLTYPE RuntimeThreadResumed( + + virtual HRESULT STDMETHODCALLTYPE RuntimeThreadResumed( /* [in] */ ThreadID threadId) = 0; - - virtual HRESULT STDMETHODCALLTYPE MovedReferences( + + virtual HRESULT STDMETHODCALLTYPE MovedReferences( /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE ObjectAllocated( + + virtual HRESULT STDMETHODCALLTYPE ObjectAllocated( /* [in] */ ObjectID objectId, /* [in] */ ClassID classId) = 0; - - virtual HRESULT STDMETHODCALLTYPE ObjectsAllocatedByClass( + + virtual HRESULT STDMETHODCALLTYPE ObjectsAllocatedByClass( /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE ObjectReferences( + + virtual HRESULT STDMETHODCALLTYPE ObjectReferences( /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE RootReferences( + + virtual HRESULT STDMETHODCALLTYPE RootReferences( /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExceptionThrown( + + virtual HRESULT STDMETHODCALLTYPE ExceptionThrown( /* [in] */ ObjectID thrownObjectId) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExceptionSearchFunctionEnter( + + virtual HRESULT STDMETHODCALLTYPE ExceptionSearchFunctionEnter( /* [in] */ FunctionID functionId) = 0; - + virtual HRESULT STDMETHODCALLTYPE ExceptionSearchFunctionLeave( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExceptionSearchFilterEnter( + + virtual HRESULT STDMETHODCALLTYPE ExceptionSearchFilterEnter( /* [in] */ FunctionID functionId) = 0; - + virtual HRESULT STDMETHODCALLTYPE ExceptionSearchFilterLeave( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExceptionSearchCatcherFound( + + virtual HRESULT STDMETHODCALLTYPE ExceptionSearchCatcherFound( /* [in] */ FunctionID functionId) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExceptionOSHandlerEnter( + + virtual HRESULT STDMETHODCALLTYPE ExceptionOSHandlerEnter( /* [in] */ UINT_PTR __unused) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExceptionOSHandlerLeave( + + virtual HRESULT STDMETHODCALLTYPE ExceptionOSHandlerLeave( /* [in] */ UINT_PTR __unused) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExceptionUnwindFunctionEnter( + + virtual HRESULT STDMETHODCALLTYPE ExceptionUnwindFunctionEnter( /* [in] */ FunctionID functionId) = 0; - + virtual HRESULT STDMETHODCALLTYPE ExceptionUnwindFunctionLeave( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExceptionUnwindFinallyEnter( + + virtual HRESULT STDMETHODCALLTYPE ExceptionUnwindFinallyEnter( /* [in] */ FunctionID functionId) = 0; - + virtual HRESULT STDMETHODCALLTYPE ExceptionUnwindFinallyLeave( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExceptionCatcherEnter( + + virtual HRESULT STDMETHODCALLTYPE ExceptionCatcherEnter( /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId) = 0; - + virtual HRESULT STDMETHODCALLTYPE ExceptionCatcherLeave( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE COMClassicVTableCreated( + + virtual HRESULT STDMETHODCALLTYPE COMClassicVTableCreated( /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots) = 0; - - virtual HRESULT STDMETHODCALLTYPE COMClassicVTableDestroyed( + + virtual HRESULT STDMETHODCALLTYPE COMClassicVTableDestroyed( /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable) = 0; - + virtual HRESULT STDMETHODCALLTYPE ExceptionCLRCatcherFound( void) = 0; - + virtual HRESULT STDMETHODCALLTYPE ExceptionCLRCatcherExecute( void) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerCallbackVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerCallback * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerCallback * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorProfilerCallback * This, /* [in] */ IUnknown *pICorProfilerInfoUnk); - - HRESULT ( STDMETHODCALLTYPE *Shutdown )( + + HRESULT ( STDMETHODCALLTYPE *Shutdown )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( ICorProfilerCallback * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( ICorProfilerCallback * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( ICorProfilerCallback * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( ICorProfilerCallback * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( ICorProfilerCallback * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( ICorProfilerCallback * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( ICorProfilerCallback * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( ICorProfilerCallback * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( ICorProfilerCallback * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( ICorProfilerCallback * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( ICorProfilerCallback * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( ICorProfilerCallback * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( ICorProfilerCallback * This, /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( ICorProfilerCallback * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( ICorProfilerCallback * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( ICorProfilerCallback * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( ICorProfilerCallback * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result); - - HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITInlining )( + + HRESULT ( STDMETHODCALLTYPE *JITInlining )( ICorProfilerCallback * This, /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline); - - HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( ICorProfilerCallback * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( ICorProfilerCallback * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( ICorProfilerCallback * This, /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( ICorProfilerCallback * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( ICorProfilerCallback * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( ICorProfilerCallback * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( ICorProfilerCallback * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( ICorProfilerCallback * This, /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( ICorProfilerCallback * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( ICorProfilerCallback * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + + HRESULT ( STDMETHODCALLTYPE *MovedReferences )( ICorProfilerCallback * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( + + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( ICorProfilerCallback * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( ICorProfilerCallback * This, /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( ICorProfilerCallback * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RootReferences )( + + HRESULT ( STDMETHODCALLTYPE *RootReferences )( ICorProfilerCallback * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( ICorProfilerCallback * This, /* [in] */ ObjectID thrownObjectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( ICorProfilerCallback * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( ICorProfilerCallback * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( ICorProfilerCallback * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( ICorProfilerCallback * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( ICorProfilerCallback * This); - + END_INTERFACE } ICorProfilerCallbackVtbl; @@ -1259,227 +1278,227 @@ EXTERN_C const IID IID_ICorProfilerCallback; CONST_VTBL struct ICorProfilerCallbackVtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerCallback_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerCallback_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerCallback_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerCallback_Initialize(This,pICorProfilerInfoUnk) \ - ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) #define ICorProfilerCallback_Shutdown(This) \ - ( (This)->lpVtbl -> Shutdown(This) ) + ( (This)->lpVtbl -> Shutdown(This) ) #define ICorProfilerCallback_AppDomainCreationStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) #define ICorProfilerCallback_AppDomainCreationFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback_AppDomainShutdownStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) #define ICorProfilerCallback_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback_AssemblyLoadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) #define ICorProfilerCallback_AssemblyLoadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback_AssemblyUnloadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) #define ICorProfilerCallback_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback_ModuleLoadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) #define ICorProfilerCallback_ModuleLoadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback_ModuleUnloadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) #define ICorProfilerCallback_ModuleUnloadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ - ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) #define ICorProfilerCallback_ClassLoadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) #define ICorProfilerCallback_ClassLoadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback_ClassUnloadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) #define ICorProfilerCallback_ClassUnloadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback_FunctionUnloadStarted(This,functionId) \ - ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) #define ICorProfilerCallback_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) #define ICorProfilerCallback_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) #define ICorProfilerCallback_JITCachedFunctionSearchFinished(This,functionId,result) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) #define ICorProfilerCallback_JITFunctionPitched(This,functionId) \ - ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) #define ICorProfilerCallback_JITInlining(This,callerId,calleeId,pfShouldInline) \ - ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) #define ICorProfilerCallback_ThreadCreated(This,threadId) \ - ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) #define ICorProfilerCallback_ThreadDestroyed(This,threadId) \ - ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) #define ICorProfilerCallback_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ - ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) #define ICorProfilerCallback_RemotingClientInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) #define ICorProfilerCallback_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback_RemotingClientInvocationFinished(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) #define ICorProfilerCallback_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback_RemotingServerInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) #define ICorProfilerCallback_RemotingServerInvocationReturned(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) #define ICorProfilerCallback_RemotingServerSendingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback_UnmanagedToManagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) #define ICorProfilerCallback_ManagedToUnmanagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) #define ICorProfilerCallback_RuntimeSuspendStarted(This,suspendReason) \ - ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) #define ICorProfilerCallback_RuntimeSuspendFinished(This) \ - ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) #define ICorProfilerCallback_RuntimeSuspendAborted(This) \ - ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) #define ICorProfilerCallback_RuntimeResumeStarted(This) \ - ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) #define ICorProfilerCallback_RuntimeResumeFinished(This) \ - ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) #define ICorProfilerCallback_RuntimeThreadSuspended(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) #define ICorProfilerCallback_RuntimeThreadResumed(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) #define ICorProfilerCallback_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback_ObjectAllocated(This,objectId,classId) \ - ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) #define ICorProfilerCallback_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ - ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) + ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) #define ICorProfilerCallback_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \ - ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) #define ICorProfilerCallback_RootReferences(This,cRootRefs,rootRefIds) \ - ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) #define ICorProfilerCallback_ExceptionThrown(This,thrownObjectId) \ - ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) #define ICorProfilerCallback_ExceptionSearchFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) #define ICorProfilerCallback_ExceptionSearchFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) #define ICorProfilerCallback_ExceptionSearchFilterEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) #define ICorProfilerCallback_ExceptionSearchFilterLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) #define ICorProfilerCallback_ExceptionSearchCatcherFound(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) #define ICorProfilerCallback_ExceptionOSHandlerEnter(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) #define ICorProfilerCallback_ExceptionOSHandlerLeave(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) #define ICorProfilerCallback_ExceptionUnwindFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) #define ICorProfilerCallback_ExceptionUnwindFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) #define ICorProfilerCallback_ExceptionUnwindFinallyEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) #define ICorProfilerCallback_ExceptionUnwindFinallyLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) #define ICorProfilerCallback_ExceptionCatcherEnter(This,functionId,objectId) \ - ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) #define ICorProfilerCallback_ExceptionCatcherLeave(This) \ - ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) #define ICorProfilerCallback_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ - ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) + ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) #define ICorProfilerCallback_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \ - ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) #define ICorProfilerCallback_ExceptionCLRCatcherFound(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) #define ICorProfilerCallback_ExceptionCLRCatcherExecute(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) #endif /* COBJMACROS */ @@ -1493,9 +1512,9 @@ EXTERN_C const IID IID_ICorProfilerCallback; /* interface __MIDL_itf_corprof_0000_0001 */ -/* [local] */ +/* [local] */ -typedef /* [public][public] */ +typedef /* [public][public] */ enum __MIDL___MIDL_itf_corprof_0000_0001_0001 { COR_PRF_GC_ROOT_STACK = 1, @@ -1504,7 +1523,7 @@ enum __MIDL___MIDL_itf_corprof_0000_0001_0001 COR_PRF_GC_ROOT_OTHER = 0 } COR_PRF_GC_ROOT_KIND; -typedef /* [public][public] */ +typedef /* [public][public] */ enum __MIDL___MIDL_itf_corprof_0000_0001_0002 { COR_PRF_GC_ROOT_PINNING = 0x1, @@ -1513,13 +1532,13 @@ enum __MIDL___MIDL_itf_corprof_0000_0001_0002 COR_PRF_GC_ROOT_REFCOUNTED = 0x8 } COR_PRF_GC_ROOT_FLAGS; -typedef /* [public] */ +typedef /* [public] */ enum __MIDL___MIDL_itf_corprof_0000_0001_0003 { COR_PRF_FINALIZER_CRITICAL = 0x1 } COR_PRF_FINALIZER_FLAGS; -typedef /* [public][public][public][public] */ +typedef /* [public][public][public][public] */ enum __MIDL___MIDL_itf_corprof_0000_0001_0004 { COR_PRF_GC_GEN_0 = 0, @@ -1537,7 +1556,7 @@ typedef struct COR_PRF_GC_GENERATION_RANGE UINT_PTR rangeLengthReserved; } COR_PRF_GC_GENERATION_RANGE; -typedef /* [public][public][public] */ +typedef /* [public][public][public] */ enum __MIDL___MIDL_itf_corprof_0000_0001_0005 { COR_PRF_CLAUSE_NONE = 0, @@ -1554,14 +1573,14 @@ typedef struct COR_PRF_EX_CLAUSE_INFO UINT_PTR shadowStackPointer; } COR_PRF_EX_CLAUSE_INFO; -typedef /* [public][public] */ +typedef /* [public][public] */ enum __MIDL___MIDL_itf_corprof_0000_0001_0006 { COR_PRF_GC_INDUCED = 1, COR_PRF_GC_OTHER = 0 } COR_PRF_GC_REASON; -typedef /* [public] */ +typedef /* [public] */ enum __MIDL___MIDL_itf_corprof_0000_0001_0007 { COR_PRF_MODULE_DISK = 0x1, @@ -1582,417 +1601,417 @@ extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0001_v0_0_s_ifspec; #define __ICorProfilerCallback2_INTERFACE_DEFINED__ /* interface ICorProfilerCallback2 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerCallback2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("8A8CC829-CCF2-49fe-BBAE-0F022228071A") ICorProfilerCallback2 : public ICorProfilerCallback { public: - virtual HRESULT STDMETHODCALLTYPE ThreadNameChanged( + virtual HRESULT STDMETHODCALLTYPE ThreadNameChanged( /* [in] */ ThreadID threadId, /* [in] */ ULONG cchName, - /* [annotation][in] */ + /* [annotation][in] */ _In_reads_opt_(cchName) WCHAR name[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GarbageCollectionStarted( + + virtual HRESULT STDMETHODCALLTYPE GarbageCollectionStarted( /* [in] */ int cGenerations, /* [size_is][in] */ BOOL generationCollected[ ], /* [in] */ COR_PRF_GC_REASON reason) = 0; - - virtual HRESULT STDMETHODCALLTYPE SurvivingReferences( + + virtual HRESULT STDMETHODCALLTYPE SurvivingReferences( /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]) = 0; - + virtual HRESULT STDMETHODCALLTYPE GarbageCollectionFinished( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE FinalizeableObjectQueued( + + virtual HRESULT STDMETHODCALLTYPE FinalizeableObjectQueued( /* [in] */ DWORD finalizerFlags, /* [in] */ ObjectID objectID) = 0; - - virtual HRESULT STDMETHODCALLTYPE RootReferences2( + + virtual HRESULT STDMETHODCALLTYPE RootReferences2( /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ], /* [size_is][in] */ COR_PRF_GC_ROOT_KIND rootKinds[ ], /* [size_is][in] */ COR_PRF_GC_ROOT_FLAGS rootFlags[ ], /* [size_is][in] */ UINT_PTR rootIds[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE HandleCreated( + + virtual HRESULT STDMETHODCALLTYPE HandleCreated( /* [in] */ GCHandleID handleId, /* [in] */ ObjectID initialObjectId) = 0; - - virtual HRESULT STDMETHODCALLTYPE HandleDestroyed( + + virtual HRESULT STDMETHODCALLTYPE HandleDestroyed( /* [in] */ GCHandleID handleId) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerCallback2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerCallback2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerCallback2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorProfilerCallback2 * This, /* [in] */ IUnknown *pICorProfilerInfoUnk); - - HRESULT ( STDMETHODCALLTYPE *Shutdown )( + + HRESULT ( STDMETHODCALLTYPE *Shutdown )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( ICorProfilerCallback2 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( ICorProfilerCallback2 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( ICorProfilerCallback2 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( ICorProfilerCallback2 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( ICorProfilerCallback2 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( ICorProfilerCallback2 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( ICorProfilerCallback2 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( ICorProfilerCallback2 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( ICorProfilerCallback2 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( ICorProfilerCallback2 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( ICorProfilerCallback2 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( ICorProfilerCallback2 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( ICorProfilerCallback2 * This, /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( ICorProfilerCallback2 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( ICorProfilerCallback2 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( ICorProfilerCallback2 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( ICorProfilerCallback2 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result); - - HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITInlining )( + + HRESULT ( STDMETHODCALLTYPE *JITInlining )( ICorProfilerCallback2 * This, /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline); - - HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( ICorProfilerCallback2 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( ICorProfilerCallback2 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( ICorProfilerCallback2 * This, /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( ICorProfilerCallback2 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( ICorProfilerCallback2 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( ICorProfilerCallback2 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( ICorProfilerCallback2 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( ICorProfilerCallback2 * This, /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( ICorProfilerCallback2 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( ICorProfilerCallback2 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + + HRESULT ( STDMETHODCALLTYPE *MovedReferences )( ICorProfilerCallback2 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( + + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( ICorProfilerCallback2 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( ICorProfilerCallback2 * This, /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( ICorProfilerCallback2 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RootReferences )( + + HRESULT ( STDMETHODCALLTYPE *RootReferences )( ICorProfilerCallback2 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( ICorProfilerCallback2 * This, /* [in] */ ObjectID thrownObjectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( ICorProfilerCallback2 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( ICorProfilerCallback2 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( ICorProfilerCallback2 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( ICorProfilerCallback2 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( + + HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( ICorProfilerCallback2 * This, /* [in] */ ThreadID threadId, /* [in] */ ULONG cchName, - /* [annotation][in] */ + /* [annotation][in] */ _In_reads_opt_(cchName) WCHAR name[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( + + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( ICorProfilerCallback2 * This, /* [in] */ int cGenerations, /* [size_is][in] */ BOOL generationCollected[ ], /* [in] */ COR_PRF_GC_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( + + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( ICorProfilerCallback2 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( + + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( + + HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( ICorProfilerCallback2 * This, /* [in] */ DWORD finalizerFlags, /* [in] */ ObjectID objectID); - - HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( + + HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( ICorProfilerCallback2 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ], /* [size_is][in] */ COR_PRF_GC_ROOT_KIND rootKinds[ ], /* [size_is][in] */ COR_PRF_GC_ROOT_FLAGS rootFlags[ ], /* [size_is][in] */ UINT_PTR rootIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *HandleCreated )( + + HRESULT ( STDMETHODCALLTYPE *HandleCreated )( ICorProfilerCallback2 * This, /* [in] */ GCHandleID handleId, /* [in] */ ObjectID initialObjectId); - - HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( ICorProfilerCallback2 * This, /* [in] */ GCHandleID handleId); - + END_INTERFACE } ICorProfilerCallback2Vtbl; @@ -2001,252 +2020,252 @@ EXTERN_C const IID IID_ICorProfilerCallback2; CONST_VTBL struct ICorProfilerCallback2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerCallback2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerCallback2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerCallback2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerCallback2_Initialize(This,pICorProfilerInfoUnk) \ - ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) #define ICorProfilerCallback2_Shutdown(This) \ - ( (This)->lpVtbl -> Shutdown(This) ) + ( (This)->lpVtbl -> Shutdown(This) ) #define ICorProfilerCallback2_AppDomainCreationStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) #define ICorProfilerCallback2_AppDomainCreationFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback2_AppDomainShutdownStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) #define ICorProfilerCallback2_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback2_AssemblyLoadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) #define ICorProfilerCallback2_AssemblyLoadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback2_AssemblyUnloadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) #define ICorProfilerCallback2_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback2_ModuleLoadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) #define ICorProfilerCallback2_ModuleLoadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback2_ModuleUnloadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) #define ICorProfilerCallback2_ModuleUnloadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback2_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ - ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) #define ICorProfilerCallback2_ClassLoadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) #define ICorProfilerCallback2_ClassLoadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback2_ClassUnloadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) #define ICorProfilerCallback2_ClassUnloadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback2_FunctionUnloadStarted(This,functionId) \ - ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) #define ICorProfilerCallback2_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) #define ICorProfilerCallback2_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback2_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) #define ICorProfilerCallback2_JITCachedFunctionSearchFinished(This,functionId,result) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) #define ICorProfilerCallback2_JITFunctionPitched(This,functionId) \ - ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) #define ICorProfilerCallback2_JITInlining(This,callerId,calleeId,pfShouldInline) \ - ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) #define ICorProfilerCallback2_ThreadCreated(This,threadId) \ - ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) #define ICorProfilerCallback2_ThreadDestroyed(This,threadId) \ - ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) #define ICorProfilerCallback2_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ - ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) #define ICorProfilerCallback2_RemotingClientInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) #define ICorProfilerCallback2_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback2_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback2_RemotingClientInvocationFinished(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) #define ICorProfilerCallback2_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback2_RemotingServerInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) #define ICorProfilerCallback2_RemotingServerInvocationReturned(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) #define ICorProfilerCallback2_RemotingServerSendingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback2_UnmanagedToManagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) #define ICorProfilerCallback2_ManagedToUnmanagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) #define ICorProfilerCallback2_RuntimeSuspendStarted(This,suspendReason) \ - ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) #define ICorProfilerCallback2_RuntimeSuspendFinished(This) \ - ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) #define ICorProfilerCallback2_RuntimeSuspendAborted(This) \ - ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) #define ICorProfilerCallback2_RuntimeResumeStarted(This) \ - ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) #define ICorProfilerCallback2_RuntimeResumeFinished(This) \ - ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) #define ICorProfilerCallback2_RuntimeThreadSuspended(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) #define ICorProfilerCallback2_RuntimeThreadResumed(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) #define ICorProfilerCallback2_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback2_ObjectAllocated(This,objectId,classId) \ - ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) #define ICorProfilerCallback2_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ - ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) + ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) #define ICorProfilerCallback2_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \ - ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) #define ICorProfilerCallback2_RootReferences(This,cRootRefs,rootRefIds) \ - ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) #define ICorProfilerCallback2_ExceptionThrown(This,thrownObjectId) \ - ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) #define ICorProfilerCallback2_ExceptionSearchFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) #define ICorProfilerCallback2_ExceptionSearchFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) #define ICorProfilerCallback2_ExceptionSearchFilterEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) #define ICorProfilerCallback2_ExceptionSearchFilterLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) #define ICorProfilerCallback2_ExceptionSearchCatcherFound(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) #define ICorProfilerCallback2_ExceptionOSHandlerEnter(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) #define ICorProfilerCallback2_ExceptionOSHandlerLeave(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) #define ICorProfilerCallback2_ExceptionUnwindFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) #define ICorProfilerCallback2_ExceptionUnwindFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) #define ICorProfilerCallback2_ExceptionUnwindFinallyEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) #define ICorProfilerCallback2_ExceptionUnwindFinallyLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) #define ICorProfilerCallback2_ExceptionCatcherEnter(This,functionId,objectId) \ - ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) #define ICorProfilerCallback2_ExceptionCatcherLeave(This) \ - ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) #define ICorProfilerCallback2_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ - ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) + ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) #define ICorProfilerCallback2_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \ - ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) #define ICorProfilerCallback2_ExceptionCLRCatcherFound(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) #define ICorProfilerCallback2_ExceptionCLRCatcherExecute(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) #define ICorProfilerCallback2_ThreadNameChanged(This,threadId,cchName,name) \ - ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) + ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) #define ICorProfilerCallback2_GarbageCollectionStarted(This,cGenerations,generationCollected,reason) \ - ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) + ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) #define ICorProfilerCallback2_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback2_GarbageCollectionFinished(This) \ - ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) + ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) #define ICorProfilerCallback2_FinalizeableObjectQueued(This,finalizerFlags,objectID) \ - ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) + ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) #define ICorProfilerCallback2_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) \ - ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) + ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) #define ICorProfilerCallback2_HandleCreated(This,handleId,initialObjectId) \ - ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) + ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) #define ICorProfilerCallback2_HandleDestroyed(This,handleId) \ - ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) + ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) #endif /* COBJMACROS */ @@ -2263,402 +2282,402 @@ EXTERN_C const IID IID_ICorProfilerCallback2; #define __ICorProfilerCallback3_INTERFACE_DEFINED__ /* interface ICorProfilerCallback3 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerCallback3; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("4FD2ED52-7731-4b8d-9469-03D2CC3086C5") ICorProfilerCallback3 : public ICorProfilerCallback2 { public: - virtual HRESULT STDMETHODCALLTYPE InitializeForAttach( + virtual HRESULT STDMETHODCALLTYPE InitializeForAttach( /* [in] */ IUnknown *pCorProfilerInfoUnk, /* [in] */ void *pvClientData, /* [in] */ UINT cbClientData) = 0; - + virtual HRESULT STDMETHODCALLTYPE ProfilerAttachComplete( void) = 0; - + virtual HRESULT STDMETHODCALLTYPE ProfilerDetachSucceeded( void) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerCallback3Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerCallback3 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerCallback3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorProfilerCallback3 * This, /* [in] */ IUnknown *pICorProfilerInfoUnk); - - HRESULT ( STDMETHODCALLTYPE *Shutdown )( + + HRESULT ( STDMETHODCALLTYPE *Shutdown )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( ICorProfilerCallback3 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( ICorProfilerCallback3 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( ICorProfilerCallback3 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( ICorProfilerCallback3 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( ICorProfilerCallback3 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( ICorProfilerCallback3 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( ICorProfilerCallback3 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( ICorProfilerCallback3 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( ICorProfilerCallback3 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( ICorProfilerCallback3 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( ICorProfilerCallback3 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( ICorProfilerCallback3 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( ICorProfilerCallback3 * This, /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( ICorProfilerCallback3 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( ICorProfilerCallback3 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( ICorProfilerCallback3 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( ICorProfilerCallback3 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result); - - HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITInlining )( + + HRESULT ( STDMETHODCALLTYPE *JITInlining )( ICorProfilerCallback3 * This, /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline); - - HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( ICorProfilerCallback3 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( ICorProfilerCallback3 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( ICorProfilerCallback3 * This, /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( ICorProfilerCallback3 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( ICorProfilerCallback3 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( ICorProfilerCallback3 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( ICorProfilerCallback3 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( ICorProfilerCallback3 * This, /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( ICorProfilerCallback3 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( ICorProfilerCallback3 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + + HRESULT ( STDMETHODCALLTYPE *MovedReferences )( ICorProfilerCallback3 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( + + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( ICorProfilerCallback3 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( ICorProfilerCallback3 * This, /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( ICorProfilerCallback3 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RootReferences )( + + HRESULT ( STDMETHODCALLTYPE *RootReferences )( ICorProfilerCallback3 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( ICorProfilerCallback3 * This, /* [in] */ ObjectID thrownObjectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( ICorProfilerCallback3 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( ICorProfilerCallback3 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( ICorProfilerCallback3 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( ICorProfilerCallback3 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( + + HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( ICorProfilerCallback3 * This, /* [in] */ ThreadID threadId, /* [in] */ ULONG cchName, - /* [annotation][in] */ + /* [annotation][in] */ _In_reads_opt_(cchName) WCHAR name[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( + + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( ICorProfilerCallback3 * This, /* [in] */ int cGenerations, /* [size_is][in] */ BOOL generationCollected[ ], /* [in] */ COR_PRF_GC_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( + + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( ICorProfilerCallback3 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( + + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( + + HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( ICorProfilerCallback3 * This, /* [in] */ DWORD finalizerFlags, /* [in] */ ObjectID objectID); - - HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( + + HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( ICorProfilerCallback3 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ], /* [size_is][in] */ COR_PRF_GC_ROOT_KIND rootKinds[ ], /* [size_is][in] */ COR_PRF_GC_ROOT_FLAGS rootFlags[ ], /* [size_is][in] */ UINT_PTR rootIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *HandleCreated )( + + HRESULT ( STDMETHODCALLTYPE *HandleCreated )( ICorProfilerCallback3 * This, /* [in] */ GCHandleID handleId, /* [in] */ ObjectID initialObjectId); - - HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( ICorProfilerCallback3 * This, /* [in] */ GCHandleID handleId); - - HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( + + HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( ICorProfilerCallback3 * This, /* [in] */ IUnknown *pCorProfilerInfoUnk, /* [in] */ void *pvClientData, /* [in] */ UINT cbClientData); - - HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( + + HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( + + HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( ICorProfilerCallback3 * This); - + END_INTERFACE } ICorProfilerCallback3Vtbl; @@ -2667,262 +2686,262 @@ EXTERN_C const IID IID_ICorProfilerCallback3; CONST_VTBL struct ICorProfilerCallback3Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerCallback3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerCallback3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerCallback3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerCallback3_Initialize(This,pICorProfilerInfoUnk) \ - ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) #define ICorProfilerCallback3_Shutdown(This) \ - ( (This)->lpVtbl -> Shutdown(This) ) + ( (This)->lpVtbl -> Shutdown(This) ) #define ICorProfilerCallback3_AppDomainCreationStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) #define ICorProfilerCallback3_AppDomainCreationFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback3_AppDomainShutdownStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) #define ICorProfilerCallback3_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback3_AssemblyLoadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) #define ICorProfilerCallback3_AssemblyLoadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback3_AssemblyUnloadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) #define ICorProfilerCallback3_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback3_ModuleLoadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) #define ICorProfilerCallback3_ModuleLoadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback3_ModuleUnloadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) #define ICorProfilerCallback3_ModuleUnloadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback3_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ - ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) #define ICorProfilerCallback3_ClassLoadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) #define ICorProfilerCallback3_ClassLoadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback3_ClassUnloadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) #define ICorProfilerCallback3_ClassUnloadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback3_FunctionUnloadStarted(This,functionId) \ - ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) #define ICorProfilerCallback3_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) #define ICorProfilerCallback3_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback3_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) #define ICorProfilerCallback3_JITCachedFunctionSearchFinished(This,functionId,result) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) #define ICorProfilerCallback3_JITFunctionPitched(This,functionId) \ - ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) #define ICorProfilerCallback3_JITInlining(This,callerId,calleeId,pfShouldInline) \ - ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) #define ICorProfilerCallback3_ThreadCreated(This,threadId) \ - ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) #define ICorProfilerCallback3_ThreadDestroyed(This,threadId) \ - ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) #define ICorProfilerCallback3_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ - ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) #define ICorProfilerCallback3_RemotingClientInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) #define ICorProfilerCallback3_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback3_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback3_RemotingClientInvocationFinished(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) #define ICorProfilerCallback3_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback3_RemotingServerInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) #define ICorProfilerCallback3_RemotingServerInvocationReturned(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) #define ICorProfilerCallback3_RemotingServerSendingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback3_UnmanagedToManagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) #define ICorProfilerCallback3_ManagedToUnmanagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) #define ICorProfilerCallback3_RuntimeSuspendStarted(This,suspendReason) \ - ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) #define ICorProfilerCallback3_RuntimeSuspendFinished(This) \ - ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) #define ICorProfilerCallback3_RuntimeSuspendAborted(This) \ - ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) #define ICorProfilerCallback3_RuntimeResumeStarted(This) \ - ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) #define ICorProfilerCallback3_RuntimeResumeFinished(This) \ - ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) #define ICorProfilerCallback3_RuntimeThreadSuspended(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) #define ICorProfilerCallback3_RuntimeThreadResumed(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) #define ICorProfilerCallback3_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback3_ObjectAllocated(This,objectId,classId) \ - ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) #define ICorProfilerCallback3_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ - ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) + ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) #define ICorProfilerCallback3_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \ - ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) #define ICorProfilerCallback3_RootReferences(This,cRootRefs,rootRefIds) \ - ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) #define ICorProfilerCallback3_ExceptionThrown(This,thrownObjectId) \ - ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) #define ICorProfilerCallback3_ExceptionSearchFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) #define ICorProfilerCallback3_ExceptionSearchFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) #define ICorProfilerCallback3_ExceptionSearchFilterEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) #define ICorProfilerCallback3_ExceptionSearchFilterLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) #define ICorProfilerCallback3_ExceptionSearchCatcherFound(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) #define ICorProfilerCallback3_ExceptionOSHandlerEnter(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) #define ICorProfilerCallback3_ExceptionOSHandlerLeave(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) #define ICorProfilerCallback3_ExceptionUnwindFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) #define ICorProfilerCallback3_ExceptionUnwindFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) #define ICorProfilerCallback3_ExceptionUnwindFinallyEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) #define ICorProfilerCallback3_ExceptionUnwindFinallyLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) #define ICorProfilerCallback3_ExceptionCatcherEnter(This,functionId,objectId) \ - ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) #define ICorProfilerCallback3_ExceptionCatcherLeave(This) \ - ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) #define ICorProfilerCallback3_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ - ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) + ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) #define ICorProfilerCallback3_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \ - ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) #define ICorProfilerCallback3_ExceptionCLRCatcherFound(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) #define ICorProfilerCallback3_ExceptionCLRCatcherExecute(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) #define ICorProfilerCallback3_ThreadNameChanged(This,threadId,cchName,name) \ - ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) + ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) #define ICorProfilerCallback3_GarbageCollectionStarted(This,cGenerations,generationCollected,reason) \ - ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) + ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) #define ICorProfilerCallback3_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback3_GarbageCollectionFinished(This) \ - ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) + ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) #define ICorProfilerCallback3_FinalizeableObjectQueued(This,finalizerFlags,objectID) \ - ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) + ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) #define ICorProfilerCallback3_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) \ - ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) + ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) #define ICorProfilerCallback3_HandleCreated(This,handleId,initialObjectId) \ - ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) + ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) #define ICorProfilerCallback3_HandleDestroyed(This,handleId) \ - ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) + ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) #define ICorProfilerCallback3_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \ - ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) + ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) #define ICorProfilerCallback3_ProfilerAttachComplete(This) \ - ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) + ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) #define ICorProfilerCallback3_ProfilerDetachSucceeded(This) \ - ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) + ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) #endif /* COBJMACROS */ @@ -2939,465 +2958,465 @@ EXTERN_C const IID IID_ICorProfilerCallback3; #define __ICorProfilerCallback4_INTERFACE_DEFINED__ /* interface ICorProfilerCallback4 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerCallback4; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("7B63B2E3-107D-4d48-B2F6-F61E229470D2") ICorProfilerCallback4 : public ICorProfilerCallback3 { public: - virtual HRESULT STDMETHODCALLTYPE ReJITCompilationStarted( + virtual HRESULT STDMETHODCALLTYPE ReJITCompilationStarted( /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ BOOL fIsSafeToBlock) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetReJITParameters( + + virtual HRESULT STDMETHODCALLTYPE GetReJITParameters( /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ ICorProfilerFunctionControl *pFunctionControl) = 0; - - virtual HRESULT STDMETHODCALLTYPE ReJITCompilationFinished( + + virtual HRESULT STDMETHODCALLTYPE ReJITCompilationFinished( /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock) = 0; - - virtual HRESULT STDMETHODCALLTYPE ReJITError( + + virtual HRESULT STDMETHODCALLTYPE ReJITError( /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus) = 0; - - virtual HRESULT STDMETHODCALLTYPE MovedReferences2( + + virtual HRESULT STDMETHODCALLTYPE MovedReferences2( /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE SurvivingReferences2( + + virtual HRESULT STDMETHODCALLTYPE SurvivingReferences2( /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerCallback4Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerCallback4 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerCallback4 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorProfilerCallback4 * This, /* [in] */ IUnknown *pICorProfilerInfoUnk); - - HRESULT ( STDMETHODCALLTYPE *Shutdown )( + + HRESULT ( STDMETHODCALLTYPE *Shutdown )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( ICorProfilerCallback4 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( ICorProfilerCallback4 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( ICorProfilerCallback4 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( ICorProfilerCallback4 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( ICorProfilerCallback4 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( ICorProfilerCallback4 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( ICorProfilerCallback4 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( ICorProfilerCallback4 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( ICorProfilerCallback4 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( ICorProfilerCallback4 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( ICorProfilerCallback4 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( ICorProfilerCallback4 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( ICorProfilerCallback4 * This, /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( ICorProfilerCallback4 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( ICorProfilerCallback4 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( ICorProfilerCallback4 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( ICorProfilerCallback4 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result); - - HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITInlining )( + + HRESULT ( STDMETHODCALLTYPE *JITInlining )( ICorProfilerCallback4 * This, /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline); - - HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( ICorProfilerCallback4 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( ICorProfilerCallback4 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( ICorProfilerCallback4 * This, /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( ICorProfilerCallback4 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( ICorProfilerCallback4 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( ICorProfilerCallback4 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( ICorProfilerCallback4 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( ICorProfilerCallback4 * This, /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( ICorProfilerCallback4 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( ICorProfilerCallback4 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + + HRESULT ( STDMETHODCALLTYPE *MovedReferences )( ICorProfilerCallback4 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( + + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( ICorProfilerCallback4 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( ICorProfilerCallback4 * This, /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( ICorProfilerCallback4 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RootReferences )( + + HRESULT ( STDMETHODCALLTYPE *RootReferences )( ICorProfilerCallback4 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( ICorProfilerCallback4 * This, /* [in] */ ObjectID thrownObjectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( ICorProfilerCallback4 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( ICorProfilerCallback4 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( ICorProfilerCallback4 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( ICorProfilerCallback4 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( + + HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( ICorProfilerCallback4 * This, /* [in] */ ThreadID threadId, /* [in] */ ULONG cchName, - /* [annotation][in] */ + /* [annotation][in] */ _In_reads_opt_(cchName) WCHAR name[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( + + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( ICorProfilerCallback4 * This, /* [in] */ int cGenerations, /* [size_is][in] */ BOOL generationCollected[ ], /* [in] */ COR_PRF_GC_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( + + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( ICorProfilerCallback4 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( + + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( + + HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( ICorProfilerCallback4 * This, /* [in] */ DWORD finalizerFlags, /* [in] */ ObjectID objectID); - - HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( + + HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( ICorProfilerCallback4 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ], /* [size_is][in] */ COR_PRF_GC_ROOT_KIND rootKinds[ ], /* [size_is][in] */ COR_PRF_GC_ROOT_FLAGS rootFlags[ ], /* [size_is][in] */ UINT_PTR rootIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *HandleCreated )( + + HRESULT ( STDMETHODCALLTYPE *HandleCreated )( ICorProfilerCallback4 * This, /* [in] */ GCHandleID handleId, /* [in] */ ObjectID initialObjectId); - - HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( ICorProfilerCallback4 * This, /* [in] */ GCHandleID handleId); - - HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( + + HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( ICorProfilerCallback4 * This, /* [in] */ IUnknown *pCorProfilerInfoUnk, /* [in] */ void *pvClientData, /* [in] */ UINT cbClientData); - - HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( + + HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( + + HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( + + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( + + HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( ICorProfilerCallback4 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ ICorProfilerFunctionControl *pFunctionControl); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( + + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *ReJITError )( + + HRESULT ( STDMETHODCALLTYPE *ReJITError )( ICorProfilerCallback4 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( + + HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( ICorProfilerCallback4 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( + + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( ICorProfilerCallback4 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - + END_INTERFACE } ICorProfilerCallback4Vtbl; @@ -3406,281 +3425,281 @@ EXTERN_C const IID IID_ICorProfilerCallback4; CONST_VTBL struct ICorProfilerCallback4Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerCallback4_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerCallback4_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerCallback4_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerCallback4_Initialize(This,pICorProfilerInfoUnk) \ - ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) #define ICorProfilerCallback4_Shutdown(This) \ - ( (This)->lpVtbl -> Shutdown(This) ) + ( (This)->lpVtbl -> Shutdown(This) ) #define ICorProfilerCallback4_AppDomainCreationStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) #define ICorProfilerCallback4_AppDomainCreationFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback4_AppDomainShutdownStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) #define ICorProfilerCallback4_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback4_AssemblyLoadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) #define ICorProfilerCallback4_AssemblyLoadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback4_AssemblyUnloadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) #define ICorProfilerCallback4_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback4_ModuleLoadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) #define ICorProfilerCallback4_ModuleLoadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback4_ModuleUnloadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) #define ICorProfilerCallback4_ModuleUnloadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback4_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ - ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) #define ICorProfilerCallback4_ClassLoadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) #define ICorProfilerCallback4_ClassLoadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback4_ClassUnloadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) #define ICorProfilerCallback4_ClassUnloadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback4_FunctionUnloadStarted(This,functionId) \ - ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) #define ICorProfilerCallback4_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) #define ICorProfilerCallback4_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback4_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) #define ICorProfilerCallback4_JITCachedFunctionSearchFinished(This,functionId,result) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) #define ICorProfilerCallback4_JITFunctionPitched(This,functionId) \ - ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) #define ICorProfilerCallback4_JITInlining(This,callerId,calleeId,pfShouldInline) \ - ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) #define ICorProfilerCallback4_ThreadCreated(This,threadId) \ - ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) #define ICorProfilerCallback4_ThreadDestroyed(This,threadId) \ - ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) #define ICorProfilerCallback4_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ - ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) #define ICorProfilerCallback4_RemotingClientInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) #define ICorProfilerCallback4_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback4_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback4_RemotingClientInvocationFinished(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) #define ICorProfilerCallback4_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback4_RemotingServerInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) #define ICorProfilerCallback4_RemotingServerInvocationReturned(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) #define ICorProfilerCallback4_RemotingServerSendingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback4_UnmanagedToManagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) #define ICorProfilerCallback4_ManagedToUnmanagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) #define ICorProfilerCallback4_RuntimeSuspendStarted(This,suspendReason) \ - ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) #define ICorProfilerCallback4_RuntimeSuspendFinished(This) \ - ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) #define ICorProfilerCallback4_RuntimeSuspendAborted(This) \ - ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) #define ICorProfilerCallback4_RuntimeResumeStarted(This) \ - ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) #define ICorProfilerCallback4_RuntimeResumeFinished(This) \ - ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) #define ICorProfilerCallback4_RuntimeThreadSuspended(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) #define ICorProfilerCallback4_RuntimeThreadResumed(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) #define ICorProfilerCallback4_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback4_ObjectAllocated(This,objectId,classId) \ - ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) #define ICorProfilerCallback4_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ - ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) + ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) #define ICorProfilerCallback4_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \ - ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) #define ICorProfilerCallback4_RootReferences(This,cRootRefs,rootRefIds) \ - ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) #define ICorProfilerCallback4_ExceptionThrown(This,thrownObjectId) \ - ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) #define ICorProfilerCallback4_ExceptionSearchFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) #define ICorProfilerCallback4_ExceptionSearchFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) #define ICorProfilerCallback4_ExceptionSearchFilterEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) #define ICorProfilerCallback4_ExceptionSearchFilterLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) #define ICorProfilerCallback4_ExceptionSearchCatcherFound(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) #define ICorProfilerCallback4_ExceptionOSHandlerEnter(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) #define ICorProfilerCallback4_ExceptionOSHandlerLeave(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) #define ICorProfilerCallback4_ExceptionUnwindFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) #define ICorProfilerCallback4_ExceptionUnwindFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) #define ICorProfilerCallback4_ExceptionUnwindFinallyEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) #define ICorProfilerCallback4_ExceptionUnwindFinallyLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) #define ICorProfilerCallback4_ExceptionCatcherEnter(This,functionId,objectId) \ - ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) #define ICorProfilerCallback4_ExceptionCatcherLeave(This) \ - ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) #define ICorProfilerCallback4_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ - ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) + ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) #define ICorProfilerCallback4_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \ - ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) #define ICorProfilerCallback4_ExceptionCLRCatcherFound(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) #define ICorProfilerCallback4_ExceptionCLRCatcherExecute(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) #define ICorProfilerCallback4_ThreadNameChanged(This,threadId,cchName,name) \ - ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) + ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) #define ICorProfilerCallback4_GarbageCollectionStarted(This,cGenerations,generationCollected,reason) \ - ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) + ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) #define ICorProfilerCallback4_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback4_GarbageCollectionFinished(This) \ - ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) + ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) #define ICorProfilerCallback4_FinalizeableObjectQueued(This,finalizerFlags,objectID) \ - ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) + ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) #define ICorProfilerCallback4_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) \ - ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) + ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) #define ICorProfilerCallback4_HandleCreated(This,handleId,initialObjectId) \ - ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) + ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) #define ICorProfilerCallback4_HandleDestroyed(This,handleId) \ - ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) + ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) #define ICorProfilerCallback4_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \ - ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) + ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) #define ICorProfilerCallback4_ProfilerAttachComplete(This) \ - ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) + ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) #define ICorProfilerCallback4_ProfilerDetachSucceeded(This) \ - ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) + ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) #define ICorProfilerCallback4_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) #define ICorProfilerCallback4_GetReJITParameters(This,moduleId,methodId,pFunctionControl) \ - ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) + ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) #define ICorProfilerCallback4_ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback4_ReJITError(This,moduleId,methodId,functionId,hrStatus) \ - ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) + ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) #define ICorProfilerCallback4_MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback4_SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #endif /* COBJMACROS */ @@ -3697,445 +3716,445 @@ EXTERN_C const IID IID_ICorProfilerCallback4; #define __ICorProfilerCallback5_INTERFACE_DEFINED__ /* interface ICorProfilerCallback5 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerCallback5; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("8DFBA405-8C9F-45F8-BFFA-83B14CEF78B5") ICorProfilerCallback5 : public ICorProfilerCallback4 { public: - virtual HRESULT STDMETHODCALLTYPE ConditionalWeakTableElementReferences( + virtual HRESULT STDMETHODCALLTYPE ConditionalWeakTableElementReferences( /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID keyRefIds[ ], /* [size_is][in] */ ObjectID valueRefIds[ ], /* [size_is][in] */ GCHandleID rootIds[ ]) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerCallback5Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerCallback5 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerCallback5 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorProfilerCallback5 * This, /* [in] */ IUnknown *pICorProfilerInfoUnk); - - HRESULT ( STDMETHODCALLTYPE *Shutdown )( + + HRESULT ( STDMETHODCALLTYPE *Shutdown )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( ICorProfilerCallback5 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( ICorProfilerCallback5 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( ICorProfilerCallback5 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( ICorProfilerCallback5 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( ICorProfilerCallback5 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( ICorProfilerCallback5 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( ICorProfilerCallback5 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( ICorProfilerCallback5 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( ICorProfilerCallback5 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( ICorProfilerCallback5 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( ICorProfilerCallback5 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( ICorProfilerCallback5 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( ICorProfilerCallback5 * This, /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( ICorProfilerCallback5 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( ICorProfilerCallback5 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( ICorProfilerCallback5 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( ICorProfilerCallback5 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result); - - HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITInlining )( + + HRESULT ( STDMETHODCALLTYPE *JITInlining )( ICorProfilerCallback5 * This, /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline); - - HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( ICorProfilerCallback5 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( ICorProfilerCallback5 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( ICorProfilerCallback5 * This, /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( ICorProfilerCallback5 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( ICorProfilerCallback5 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( ICorProfilerCallback5 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( ICorProfilerCallback5 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( ICorProfilerCallback5 * This, /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( ICorProfilerCallback5 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( ICorProfilerCallback5 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + + HRESULT ( STDMETHODCALLTYPE *MovedReferences )( ICorProfilerCallback5 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( + + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( ICorProfilerCallback5 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( ICorProfilerCallback5 * This, /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( ICorProfilerCallback5 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RootReferences )( + + HRESULT ( STDMETHODCALLTYPE *RootReferences )( ICorProfilerCallback5 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( ICorProfilerCallback5 * This, /* [in] */ ObjectID thrownObjectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( ICorProfilerCallback5 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( ICorProfilerCallback5 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( ICorProfilerCallback5 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( ICorProfilerCallback5 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( + + HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( ICorProfilerCallback5 * This, /* [in] */ ThreadID threadId, /* [in] */ ULONG cchName, - /* [annotation][in] */ + /* [annotation][in] */ _In_reads_opt_(cchName) WCHAR name[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( + + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( ICorProfilerCallback5 * This, /* [in] */ int cGenerations, /* [size_is][in] */ BOOL generationCollected[ ], /* [in] */ COR_PRF_GC_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( + + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( ICorProfilerCallback5 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( + + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( + + HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( ICorProfilerCallback5 * This, /* [in] */ DWORD finalizerFlags, /* [in] */ ObjectID objectID); - - HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( + + HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( ICorProfilerCallback5 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ], /* [size_is][in] */ COR_PRF_GC_ROOT_KIND rootKinds[ ], /* [size_is][in] */ COR_PRF_GC_ROOT_FLAGS rootFlags[ ], /* [size_is][in] */ UINT_PTR rootIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *HandleCreated )( + + HRESULT ( STDMETHODCALLTYPE *HandleCreated )( ICorProfilerCallback5 * This, /* [in] */ GCHandleID handleId, /* [in] */ ObjectID initialObjectId); - - HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( ICorProfilerCallback5 * This, /* [in] */ GCHandleID handleId); - - HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( + + HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( ICorProfilerCallback5 * This, /* [in] */ IUnknown *pCorProfilerInfoUnk, /* [in] */ void *pvClientData, /* [in] */ UINT cbClientData); - - HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( + + HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( + + HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( + + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( + + HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( ICorProfilerCallback5 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ ICorProfilerFunctionControl *pFunctionControl); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( + + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *ReJITError )( + + HRESULT ( STDMETHODCALLTYPE *ReJITError )( ICorProfilerCallback5 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( + + HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( ICorProfilerCallback5 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( + + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( ICorProfilerCallback5 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( + + HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( ICorProfilerCallback5 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID keyRefIds[ ], /* [size_is][in] */ ObjectID valueRefIds[ ], /* [size_is][in] */ GCHandleID rootIds[ ]); - + END_INTERFACE } ICorProfilerCallback5Vtbl; @@ -4144,285 +4163,285 @@ EXTERN_C const IID IID_ICorProfilerCallback5; CONST_VTBL struct ICorProfilerCallback5Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerCallback5_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerCallback5_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerCallback5_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerCallback5_Initialize(This,pICorProfilerInfoUnk) \ - ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) #define ICorProfilerCallback5_Shutdown(This) \ - ( (This)->lpVtbl -> Shutdown(This) ) + ( (This)->lpVtbl -> Shutdown(This) ) #define ICorProfilerCallback5_AppDomainCreationStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) #define ICorProfilerCallback5_AppDomainCreationFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback5_AppDomainShutdownStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) #define ICorProfilerCallback5_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback5_AssemblyLoadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) #define ICorProfilerCallback5_AssemblyLoadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback5_AssemblyUnloadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) #define ICorProfilerCallback5_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback5_ModuleLoadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) #define ICorProfilerCallback5_ModuleLoadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback5_ModuleUnloadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) #define ICorProfilerCallback5_ModuleUnloadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback5_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ - ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) #define ICorProfilerCallback5_ClassLoadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) #define ICorProfilerCallback5_ClassLoadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback5_ClassUnloadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) #define ICorProfilerCallback5_ClassUnloadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback5_FunctionUnloadStarted(This,functionId) \ - ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) #define ICorProfilerCallback5_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) #define ICorProfilerCallback5_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback5_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) #define ICorProfilerCallback5_JITCachedFunctionSearchFinished(This,functionId,result) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) #define ICorProfilerCallback5_JITFunctionPitched(This,functionId) \ - ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) #define ICorProfilerCallback5_JITInlining(This,callerId,calleeId,pfShouldInline) \ - ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) #define ICorProfilerCallback5_ThreadCreated(This,threadId) \ - ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) #define ICorProfilerCallback5_ThreadDestroyed(This,threadId) \ - ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) #define ICorProfilerCallback5_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ - ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) #define ICorProfilerCallback5_RemotingClientInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) #define ICorProfilerCallback5_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback5_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback5_RemotingClientInvocationFinished(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) #define ICorProfilerCallback5_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback5_RemotingServerInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) #define ICorProfilerCallback5_RemotingServerInvocationReturned(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) #define ICorProfilerCallback5_RemotingServerSendingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback5_UnmanagedToManagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) #define ICorProfilerCallback5_ManagedToUnmanagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) #define ICorProfilerCallback5_RuntimeSuspendStarted(This,suspendReason) \ - ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) #define ICorProfilerCallback5_RuntimeSuspendFinished(This) \ - ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) #define ICorProfilerCallback5_RuntimeSuspendAborted(This) \ - ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) #define ICorProfilerCallback5_RuntimeResumeStarted(This) \ - ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) #define ICorProfilerCallback5_RuntimeResumeFinished(This) \ - ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) #define ICorProfilerCallback5_RuntimeThreadSuspended(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) #define ICorProfilerCallback5_RuntimeThreadResumed(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) #define ICorProfilerCallback5_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback5_ObjectAllocated(This,objectId,classId) \ - ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) #define ICorProfilerCallback5_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ - ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) + ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) #define ICorProfilerCallback5_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \ - ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) #define ICorProfilerCallback5_RootReferences(This,cRootRefs,rootRefIds) \ - ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) #define ICorProfilerCallback5_ExceptionThrown(This,thrownObjectId) \ - ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) #define ICorProfilerCallback5_ExceptionSearchFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) #define ICorProfilerCallback5_ExceptionSearchFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) #define ICorProfilerCallback5_ExceptionSearchFilterEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) #define ICorProfilerCallback5_ExceptionSearchFilterLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) #define ICorProfilerCallback5_ExceptionSearchCatcherFound(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) #define ICorProfilerCallback5_ExceptionOSHandlerEnter(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) #define ICorProfilerCallback5_ExceptionOSHandlerLeave(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) #define ICorProfilerCallback5_ExceptionUnwindFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) #define ICorProfilerCallback5_ExceptionUnwindFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) #define ICorProfilerCallback5_ExceptionUnwindFinallyEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) #define ICorProfilerCallback5_ExceptionUnwindFinallyLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) #define ICorProfilerCallback5_ExceptionCatcherEnter(This,functionId,objectId) \ - ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) #define ICorProfilerCallback5_ExceptionCatcherLeave(This) \ - ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) #define ICorProfilerCallback5_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ - ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) + ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) #define ICorProfilerCallback5_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \ - ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) #define ICorProfilerCallback5_ExceptionCLRCatcherFound(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) #define ICorProfilerCallback5_ExceptionCLRCatcherExecute(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) #define ICorProfilerCallback5_ThreadNameChanged(This,threadId,cchName,name) \ - ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) + ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) #define ICorProfilerCallback5_GarbageCollectionStarted(This,cGenerations,generationCollected,reason) \ - ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) + ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) #define ICorProfilerCallback5_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback5_GarbageCollectionFinished(This) \ - ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) + ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) #define ICorProfilerCallback5_FinalizeableObjectQueued(This,finalizerFlags,objectID) \ - ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) + ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) #define ICorProfilerCallback5_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) \ - ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) + ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) #define ICorProfilerCallback5_HandleCreated(This,handleId,initialObjectId) \ - ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) + ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) #define ICorProfilerCallback5_HandleDestroyed(This,handleId) \ - ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) + ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) #define ICorProfilerCallback5_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \ - ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) + ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) #define ICorProfilerCallback5_ProfilerAttachComplete(This) \ - ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) + ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) #define ICorProfilerCallback5_ProfilerDetachSucceeded(This) \ - ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) + ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) #define ICorProfilerCallback5_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) #define ICorProfilerCallback5_GetReJITParameters(This,moduleId,methodId,pFunctionControl) \ - ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) + ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) #define ICorProfilerCallback5_ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback5_ReJITError(This,moduleId,methodId,functionId,hrStatus) \ - ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) + ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) #define ICorProfilerCallback5_MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback5_SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback5_ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) \ - ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) + ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) #endif /* COBJMACROS */ @@ -4439,448 +4458,448 @@ EXTERN_C const IID IID_ICorProfilerCallback5; #define __ICorProfilerCallback6_INTERFACE_DEFINED__ /* interface ICorProfilerCallback6 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerCallback6; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("FC13DF4B-4448-4F4F-950C-BA8D19D00C36") ICorProfilerCallback6 : public ICorProfilerCallback5 { public: - virtual HRESULT STDMETHODCALLTYPE GetAssemblyReferences( + virtual HRESULT STDMETHODCALLTYPE GetAssemblyReferences( /* [string][in] */ const WCHAR *wszAssemblyPath, /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerCallback6Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerCallback6 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerCallback6 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorProfilerCallback6 * This, /* [in] */ IUnknown *pICorProfilerInfoUnk); - - HRESULT ( STDMETHODCALLTYPE *Shutdown )( + + HRESULT ( STDMETHODCALLTYPE *Shutdown )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( ICorProfilerCallback6 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( ICorProfilerCallback6 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( ICorProfilerCallback6 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( ICorProfilerCallback6 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( ICorProfilerCallback6 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( ICorProfilerCallback6 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( ICorProfilerCallback6 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( ICorProfilerCallback6 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( ICorProfilerCallback6 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( ICorProfilerCallback6 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( ICorProfilerCallback6 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( ICorProfilerCallback6 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( ICorProfilerCallback6 * This, /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( ICorProfilerCallback6 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( ICorProfilerCallback6 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( ICorProfilerCallback6 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( ICorProfilerCallback6 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result); - - HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITInlining )( + + HRESULT ( STDMETHODCALLTYPE *JITInlining )( ICorProfilerCallback6 * This, /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline); - - HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( ICorProfilerCallback6 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( ICorProfilerCallback6 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( ICorProfilerCallback6 * This, /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( ICorProfilerCallback6 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( ICorProfilerCallback6 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( ICorProfilerCallback6 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( ICorProfilerCallback6 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( ICorProfilerCallback6 * This, /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( ICorProfilerCallback6 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( ICorProfilerCallback6 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + + HRESULT ( STDMETHODCALLTYPE *MovedReferences )( ICorProfilerCallback6 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( + + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( ICorProfilerCallback6 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( ICorProfilerCallback6 * This, /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( ICorProfilerCallback6 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RootReferences )( + + HRESULT ( STDMETHODCALLTYPE *RootReferences )( ICorProfilerCallback6 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( ICorProfilerCallback6 * This, /* [in] */ ObjectID thrownObjectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( ICorProfilerCallback6 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( ICorProfilerCallback6 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( ICorProfilerCallback6 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( ICorProfilerCallback6 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( + + HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( ICorProfilerCallback6 * This, /* [in] */ ThreadID threadId, /* [in] */ ULONG cchName, - /* [annotation][in] */ + /* [annotation][in] */ _In_reads_opt_(cchName) WCHAR name[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( + + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( ICorProfilerCallback6 * This, /* [in] */ int cGenerations, /* [size_is][in] */ BOOL generationCollected[ ], /* [in] */ COR_PRF_GC_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( + + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( ICorProfilerCallback6 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( + + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( + + HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( ICorProfilerCallback6 * This, /* [in] */ DWORD finalizerFlags, /* [in] */ ObjectID objectID); - - HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( + + HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( ICorProfilerCallback6 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ], /* [size_is][in] */ COR_PRF_GC_ROOT_KIND rootKinds[ ], /* [size_is][in] */ COR_PRF_GC_ROOT_FLAGS rootFlags[ ], /* [size_is][in] */ UINT_PTR rootIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *HandleCreated )( + + HRESULT ( STDMETHODCALLTYPE *HandleCreated )( ICorProfilerCallback6 * This, /* [in] */ GCHandleID handleId, /* [in] */ ObjectID initialObjectId); - - HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( ICorProfilerCallback6 * This, /* [in] */ GCHandleID handleId); - - HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( + + HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( ICorProfilerCallback6 * This, /* [in] */ IUnknown *pCorProfilerInfoUnk, /* [in] */ void *pvClientData, /* [in] */ UINT cbClientData); - - HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( + + HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( + + HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( + + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( + + HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( ICorProfilerCallback6 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ ICorProfilerFunctionControl *pFunctionControl); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( + + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *ReJITError )( + + HRESULT ( STDMETHODCALLTYPE *ReJITError )( ICorProfilerCallback6 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( + + HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( ICorProfilerCallback6 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( + + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( ICorProfilerCallback6 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( + + HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( ICorProfilerCallback6 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID keyRefIds[ ], /* [size_is][in] */ ObjectID valueRefIds[ ], /* [size_is][in] */ GCHandleID rootIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( + + HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( ICorProfilerCallback6 * This, /* [string][in] */ const WCHAR *wszAssemblyPath, /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider); - + END_INTERFACE } ICorProfilerCallback6Vtbl; @@ -4889,289 +4908,289 @@ EXTERN_C const IID IID_ICorProfilerCallback6; CONST_VTBL struct ICorProfilerCallback6Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerCallback6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerCallback6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerCallback6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerCallback6_Initialize(This,pICorProfilerInfoUnk) \ - ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) #define ICorProfilerCallback6_Shutdown(This) \ - ( (This)->lpVtbl -> Shutdown(This) ) + ( (This)->lpVtbl -> Shutdown(This) ) #define ICorProfilerCallback6_AppDomainCreationStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) #define ICorProfilerCallback6_AppDomainCreationFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback6_AppDomainShutdownStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) #define ICorProfilerCallback6_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback6_AssemblyLoadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) #define ICorProfilerCallback6_AssemblyLoadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback6_AssemblyUnloadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) #define ICorProfilerCallback6_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback6_ModuleLoadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) #define ICorProfilerCallback6_ModuleLoadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback6_ModuleUnloadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) #define ICorProfilerCallback6_ModuleUnloadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback6_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ - ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) #define ICorProfilerCallback6_ClassLoadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) #define ICorProfilerCallback6_ClassLoadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback6_ClassUnloadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) #define ICorProfilerCallback6_ClassUnloadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback6_FunctionUnloadStarted(This,functionId) \ - ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) #define ICorProfilerCallback6_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) #define ICorProfilerCallback6_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback6_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) #define ICorProfilerCallback6_JITCachedFunctionSearchFinished(This,functionId,result) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) #define ICorProfilerCallback6_JITFunctionPitched(This,functionId) \ - ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) #define ICorProfilerCallback6_JITInlining(This,callerId,calleeId,pfShouldInline) \ - ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) #define ICorProfilerCallback6_ThreadCreated(This,threadId) \ - ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) #define ICorProfilerCallback6_ThreadDestroyed(This,threadId) \ - ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) #define ICorProfilerCallback6_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ - ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) #define ICorProfilerCallback6_RemotingClientInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) #define ICorProfilerCallback6_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback6_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback6_RemotingClientInvocationFinished(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) #define ICorProfilerCallback6_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback6_RemotingServerInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) #define ICorProfilerCallback6_RemotingServerInvocationReturned(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) #define ICorProfilerCallback6_RemotingServerSendingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback6_UnmanagedToManagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) #define ICorProfilerCallback6_ManagedToUnmanagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) #define ICorProfilerCallback6_RuntimeSuspendStarted(This,suspendReason) \ - ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) #define ICorProfilerCallback6_RuntimeSuspendFinished(This) \ - ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) #define ICorProfilerCallback6_RuntimeSuspendAborted(This) \ - ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) #define ICorProfilerCallback6_RuntimeResumeStarted(This) \ - ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) #define ICorProfilerCallback6_RuntimeResumeFinished(This) \ - ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) #define ICorProfilerCallback6_RuntimeThreadSuspended(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) #define ICorProfilerCallback6_RuntimeThreadResumed(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) #define ICorProfilerCallback6_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback6_ObjectAllocated(This,objectId,classId) \ - ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) #define ICorProfilerCallback6_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ - ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) + ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) #define ICorProfilerCallback6_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \ - ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) #define ICorProfilerCallback6_RootReferences(This,cRootRefs,rootRefIds) \ - ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) #define ICorProfilerCallback6_ExceptionThrown(This,thrownObjectId) \ - ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) #define ICorProfilerCallback6_ExceptionSearchFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) #define ICorProfilerCallback6_ExceptionSearchFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) #define ICorProfilerCallback6_ExceptionSearchFilterEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) #define ICorProfilerCallback6_ExceptionSearchFilterLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) #define ICorProfilerCallback6_ExceptionSearchCatcherFound(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) #define ICorProfilerCallback6_ExceptionOSHandlerEnter(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) #define ICorProfilerCallback6_ExceptionOSHandlerLeave(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) #define ICorProfilerCallback6_ExceptionUnwindFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) #define ICorProfilerCallback6_ExceptionUnwindFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) #define ICorProfilerCallback6_ExceptionUnwindFinallyEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) #define ICorProfilerCallback6_ExceptionUnwindFinallyLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) #define ICorProfilerCallback6_ExceptionCatcherEnter(This,functionId,objectId) \ - ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) #define ICorProfilerCallback6_ExceptionCatcherLeave(This) \ - ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) #define ICorProfilerCallback6_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ - ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) + ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) #define ICorProfilerCallback6_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \ - ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) #define ICorProfilerCallback6_ExceptionCLRCatcherFound(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) #define ICorProfilerCallback6_ExceptionCLRCatcherExecute(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) #define ICorProfilerCallback6_ThreadNameChanged(This,threadId,cchName,name) \ - ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) + ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) #define ICorProfilerCallback6_GarbageCollectionStarted(This,cGenerations,generationCollected,reason) \ - ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) + ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) #define ICorProfilerCallback6_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback6_GarbageCollectionFinished(This) \ - ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) + ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) #define ICorProfilerCallback6_FinalizeableObjectQueued(This,finalizerFlags,objectID) \ - ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) + ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) #define ICorProfilerCallback6_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) \ - ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) + ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) #define ICorProfilerCallback6_HandleCreated(This,handleId,initialObjectId) \ - ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) + ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) #define ICorProfilerCallback6_HandleDestroyed(This,handleId) \ - ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) + ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) #define ICorProfilerCallback6_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \ - ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) + ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) #define ICorProfilerCallback6_ProfilerAttachComplete(This) \ - ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) + ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) #define ICorProfilerCallback6_ProfilerDetachSucceeded(This) \ - ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) + ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) #define ICorProfilerCallback6_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) #define ICorProfilerCallback6_GetReJITParameters(This,moduleId,methodId,pFunctionControl) \ - ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) + ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) #define ICorProfilerCallback6_ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback6_ReJITError(This,moduleId,methodId,functionId,hrStatus) \ - ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) + ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) #define ICorProfilerCallback6_MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback6_SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback6_ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) \ - ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) + ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) #define ICorProfilerCallback6_GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) \ - ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) + ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) #endif /* COBJMACROS */ @@ -5188,451 +5207,451 @@ EXTERN_C const IID IID_ICorProfilerCallback6; #define __ICorProfilerCallback7_INTERFACE_DEFINED__ /* interface ICorProfilerCallback7 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerCallback7; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("F76A2DBA-1D52-4539-866C-2AA518F9EFC3") ICorProfilerCallback7 : public ICorProfilerCallback6 { public: - virtual HRESULT STDMETHODCALLTYPE ModuleInMemorySymbolsUpdated( + virtual HRESULT STDMETHODCALLTYPE ModuleInMemorySymbolsUpdated( ModuleID moduleId) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerCallback7Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerCallback7 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerCallback7 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorProfilerCallback7 * This, /* [in] */ IUnknown *pICorProfilerInfoUnk); - - HRESULT ( STDMETHODCALLTYPE *Shutdown )( + + HRESULT ( STDMETHODCALLTYPE *Shutdown )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( ICorProfilerCallback7 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( ICorProfilerCallback7 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( ICorProfilerCallback7 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( ICorProfilerCallback7 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( ICorProfilerCallback7 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( ICorProfilerCallback7 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( ICorProfilerCallback7 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( ICorProfilerCallback7 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( ICorProfilerCallback7 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( ICorProfilerCallback7 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( ICorProfilerCallback7 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( ICorProfilerCallback7 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( ICorProfilerCallback7 * This, /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( ICorProfilerCallback7 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( ICorProfilerCallback7 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( ICorProfilerCallback7 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( ICorProfilerCallback7 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result); - - HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITInlining )( + + HRESULT ( STDMETHODCALLTYPE *JITInlining )( ICorProfilerCallback7 * This, /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline); - - HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( ICorProfilerCallback7 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( ICorProfilerCallback7 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( ICorProfilerCallback7 * This, /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( ICorProfilerCallback7 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( ICorProfilerCallback7 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( ICorProfilerCallback7 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( ICorProfilerCallback7 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( ICorProfilerCallback7 * This, /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( ICorProfilerCallback7 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( ICorProfilerCallback7 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + + HRESULT ( STDMETHODCALLTYPE *MovedReferences )( ICorProfilerCallback7 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( + + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( ICorProfilerCallback7 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( ICorProfilerCallback7 * This, /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( ICorProfilerCallback7 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RootReferences )( + + HRESULT ( STDMETHODCALLTYPE *RootReferences )( ICorProfilerCallback7 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( ICorProfilerCallback7 * This, /* [in] */ ObjectID thrownObjectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( ICorProfilerCallback7 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( ICorProfilerCallback7 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( ICorProfilerCallback7 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( ICorProfilerCallback7 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( + + HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( ICorProfilerCallback7 * This, /* [in] */ ThreadID threadId, /* [in] */ ULONG cchName, - /* [annotation][in] */ + /* [annotation][in] */ _In_reads_opt_(cchName) WCHAR name[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( + + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( ICorProfilerCallback7 * This, /* [in] */ int cGenerations, /* [size_is][in] */ BOOL generationCollected[ ], /* [in] */ COR_PRF_GC_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( + + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( ICorProfilerCallback7 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( + + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( + + HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( ICorProfilerCallback7 * This, /* [in] */ DWORD finalizerFlags, /* [in] */ ObjectID objectID); - - HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( + + HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( ICorProfilerCallback7 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ], /* [size_is][in] */ COR_PRF_GC_ROOT_KIND rootKinds[ ], /* [size_is][in] */ COR_PRF_GC_ROOT_FLAGS rootFlags[ ], /* [size_is][in] */ UINT_PTR rootIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *HandleCreated )( + + HRESULT ( STDMETHODCALLTYPE *HandleCreated )( ICorProfilerCallback7 * This, /* [in] */ GCHandleID handleId, /* [in] */ ObjectID initialObjectId); - - HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( ICorProfilerCallback7 * This, /* [in] */ GCHandleID handleId); - - HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( + + HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( ICorProfilerCallback7 * This, /* [in] */ IUnknown *pCorProfilerInfoUnk, /* [in] */ void *pvClientData, /* [in] */ UINT cbClientData); - - HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( + + HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( + + HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( + + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( + + HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( ICorProfilerCallback7 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ ICorProfilerFunctionControl *pFunctionControl); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( + + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *ReJITError )( + + HRESULT ( STDMETHODCALLTYPE *ReJITError )( ICorProfilerCallback7 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( + + HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( ICorProfilerCallback7 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( + + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( ICorProfilerCallback7 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( + + HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( ICorProfilerCallback7 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID keyRefIds[ ], /* [size_is][in] */ ObjectID valueRefIds[ ], /* [size_is][in] */ GCHandleID rootIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( + + HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( ICorProfilerCallback7 * This, /* [string][in] */ const WCHAR *wszAssemblyPath, /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider); - - HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( + + HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( ICorProfilerCallback7 * This, ModuleID moduleId); - + END_INTERFACE } ICorProfilerCallback7Vtbl; @@ -5641,293 +5660,293 @@ EXTERN_C const IID IID_ICorProfilerCallback7; CONST_VTBL struct ICorProfilerCallback7Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerCallback7_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerCallback7_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerCallback7_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerCallback7_Initialize(This,pICorProfilerInfoUnk) \ - ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) #define ICorProfilerCallback7_Shutdown(This) \ - ( (This)->lpVtbl -> Shutdown(This) ) + ( (This)->lpVtbl -> Shutdown(This) ) #define ICorProfilerCallback7_AppDomainCreationStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) #define ICorProfilerCallback7_AppDomainCreationFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback7_AppDomainShutdownStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) #define ICorProfilerCallback7_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback7_AssemblyLoadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) #define ICorProfilerCallback7_AssemblyLoadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback7_AssemblyUnloadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) #define ICorProfilerCallback7_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback7_ModuleLoadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) #define ICorProfilerCallback7_ModuleLoadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback7_ModuleUnloadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) #define ICorProfilerCallback7_ModuleUnloadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback7_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ - ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) #define ICorProfilerCallback7_ClassLoadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) #define ICorProfilerCallback7_ClassLoadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback7_ClassUnloadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) #define ICorProfilerCallback7_ClassUnloadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback7_FunctionUnloadStarted(This,functionId) \ - ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) #define ICorProfilerCallback7_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) #define ICorProfilerCallback7_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback7_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) #define ICorProfilerCallback7_JITCachedFunctionSearchFinished(This,functionId,result) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) #define ICorProfilerCallback7_JITFunctionPitched(This,functionId) \ - ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) #define ICorProfilerCallback7_JITInlining(This,callerId,calleeId,pfShouldInline) \ - ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) #define ICorProfilerCallback7_ThreadCreated(This,threadId) \ - ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) #define ICorProfilerCallback7_ThreadDestroyed(This,threadId) \ - ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) #define ICorProfilerCallback7_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ - ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) #define ICorProfilerCallback7_RemotingClientInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) #define ICorProfilerCallback7_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback7_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback7_RemotingClientInvocationFinished(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) #define ICorProfilerCallback7_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback7_RemotingServerInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) #define ICorProfilerCallback7_RemotingServerInvocationReturned(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) #define ICorProfilerCallback7_RemotingServerSendingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback7_UnmanagedToManagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) #define ICorProfilerCallback7_ManagedToUnmanagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) #define ICorProfilerCallback7_RuntimeSuspendStarted(This,suspendReason) \ - ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) #define ICorProfilerCallback7_RuntimeSuspendFinished(This) \ - ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) #define ICorProfilerCallback7_RuntimeSuspendAborted(This) \ - ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) #define ICorProfilerCallback7_RuntimeResumeStarted(This) \ - ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) #define ICorProfilerCallback7_RuntimeResumeFinished(This) \ - ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) #define ICorProfilerCallback7_RuntimeThreadSuspended(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) #define ICorProfilerCallback7_RuntimeThreadResumed(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) #define ICorProfilerCallback7_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback7_ObjectAllocated(This,objectId,classId) \ - ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) #define ICorProfilerCallback7_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ - ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) + ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) #define ICorProfilerCallback7_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \ - ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) #define ICorProfilerCallback7_RootReferences(This,cRootRefs,rootRefIds) \ - ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) #define ICorProfilerCallback7_ExceptionThrown(This,thrownObjectId) \ - ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) #define ICorProfilerCallback7_ExceptionSearchFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) #define ICorProfilerCallback7_ExceptionSearchFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) #define ICorProfilerCallback7_ExceptionSearchFilterEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) #define ICorProfilerCallback7_ExceptionSearchFilterLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) #define ICorProfilerCallback7_ExceptionSearchCatcherFound(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) #define ICorProfilerCallback7_ExceptionOSHandlerEnter(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) #define ICorProfilerCallback7_ExceptionOSHandlerLeave(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) #define ICorProfilerCallback7_ExceptionUnwindFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) #define ICorProfilerCallback7_ExceptionUnwindFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) #define ICorProfilerCallback7_ExceptionUnwindFinallyEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) #define ICorProfilerCallback7_ExceptionUnwindFinallyLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) #define ICorProfilerCallback7_ExceptionCatcherEnter(This,functionId,objectId) \ - ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) #define ICorProfilerCallback7_ExceptionCatcherLeave(This) \ - ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) #define ICorProfilerCallback7_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ - ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) + ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) #define ICorProfilerCallback7_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \ - ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) #define ICorProfilerCallback7_ExceptionCLRCatcherFound(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) #define ICorProfilerCallback7_ExceptionCLRCatcherExecute(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) #define ICorProfilerCallback7_ThreadNameChanged(This,threadId,cchName,name) \ - ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) + ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) #define ICorProfilerCallback7_GarbageCollectionStarted(This,cGenerations,generationCollected,reason) \ - ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) + ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) #define ICorProfilerCallback7_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback7_GarbageCollectionFinished(This) \ - ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) + ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) #define ICorProfilerCallback7_FinalizeableObjectQueued(This,finalizerFlags,objectID) \ - ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) + ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) #define ICorProfilerCallback7_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) \ - ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) + ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) #define ICorProfilerCallback7_HandleCreated(This,handleId,initialObjectId) \ - ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) + ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) #define ICorProfilerCallback7_HandleDestroyed(This,handleId) \ - ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) + ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) #define ICorProfilerCallback7_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \ - ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) + ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) #define ICorProfilerCallback7_ProfilerAttachComplete(This) \ - ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) + ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) #define ICorProfilerCallback7_ProfilerDetachSucceeded(This) \ - ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) + ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) #define ICorProfilerCallback7_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) #define ICorProfilerCallback7_GetReJITParameters(This,moduleId,methodId,pFunctionControl) \ - ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) + ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) #define ICorProfilerCallback7_ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback7_ReJITError(This,moduleId,methodId,functionId,hrStatus) \ - ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) + ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) #define ICorProfilerCallback7_MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback7_SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback7_ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) \ - ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) + ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) #define ICorProfilerCallback7_GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) \ - ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) + ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) #define ICorProfilerCallback7_ModuleInMemorySymbolsUpdated(This,moduleId) \ - ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) + ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) #endif /* COBJMACROS */ @@ -5944,472 +5963,472 @@ EXTERN_C const IID IID_ICorProfilerCallback7; #define __ICorProfilerCallback8_INTERFACE_DEFINED__ /* interface ICorProfilerCallback8 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerCallback8; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("5BED9B15-C079-4D47-BFE2-215A140C07E0") ICorProfilerCallback8 : public ICorProfilerCallback7 { public: - virtual HRESULT STDMETHODCALLTYPE DynamicMethodJITCompilationStarted( + virtual HRESULT STDMETHODCALLTYPE DynamicMethodJITCompilationStarted( /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock, /* [in] */ LPCBYTE pILHeader, /* [in] */ ULONG cbILHeader) = 0; - - virtual HRESULT STDMETHODCALLTYPE DynamicMethodJITCompilationFinished( + + virtual HRESULT STDMETHODCALLTYPE DynamicMethodJITCompilationFinished( /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerCallback8Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerCallback8 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerCallback8 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorProfilerCallback8 * This, /* [in] */ IUnknown *pICorProfilerInfoUnk); - - HRESULT ( STDMETHODCALLTYPE *Shutdown )( + + HRESULT ( STDMETHODCALLTYPE *Shutdown )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( ICorProfilerCallback8 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( ICorProfilerCallback8 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( ICorProfilerCallback8 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( ICorProfilerCallback8 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( ICorProfilerCallback8 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( ICorProfilerCallback8 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( ICorProfilerCallback8 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( ICorProfilerCallback8 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( ICorProfilerCallback8 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( ICorProfilerCallback8 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( ICorProfilerCallback8 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( ICorProfilerCallback8 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( ICorProfilerCallback8 * This, /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( ICorProfilerCallback8 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( ICorProfilerCallback8 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( ICorProfilerCallback8 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( ICorProfilerCallback8 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result); - - HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITInlining )( + + HRESULT ( STDMETHODCALLTYPE *JITInlining )( ICorProfilerCallback8 * This, /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline); - - HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( ICorProfilerCallback8 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( ICorProfilerCallback8 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( ICorProfilerCallback8 * This, /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( ICorProfilerCallback8 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( ICorProfilerCallback8 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( ICorProfilerCallback8 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( ICorProfilerCallback8 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( ICorProfilerCallback8 * This, /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( ICorProfilerCallback8 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( ICorProfilerCallback8 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + + HRESULT ( STDMETHODCALLTYPE *MovedReferences )( ICorProfilerCallback8 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( + + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( ICorProfilerCallback8 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( ICorProfilerCallback8 * This, /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( ICorProfilerCallback8 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RootReferences )( + + HRESULT ( STDMETHODCALLTYPE *RootReferences )( ICorProfilerCallback8 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( ICorProfilerCallback8 * This, /* [in] */ ObjectID thrownObjectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( ICorProfilerCallback8 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( ICorProfilerCallback8 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( ICorProfilerCallback8 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( ICorProfilerCallback8 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( + + HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( ICorProfilerCallback8 * This, /* [in] */ ThreadID threadId, /* [in] */ ULONG cchName, - /* [annotation][in] */ + /* [annotation][in] */ _In_reads_opt_(cchName) WCHAR name[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( + + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( ICorProfilerCallback8 * This, /* [in] */ int cGenerations, /* [size_is][in] */ BOOL generationCollected[ ], /* [in] */ COR_PRF_GC_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( + + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( ICorProfilerCallback8 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( + + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( + + HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( ICorProfilerCallback8 * This, /* [in] */ DWORD finalizerFlags, /* [in] */ ObjectID objectID); - - HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( + + HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( ICorProfilerCallback8 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ], /* [size_is][in] */ COR_PRF_GC_ROOT_KIND rootKinds[ ], /* [size_is][in] */ COR_PRF_GC_ROOT_FLAGS rootFlags[ ], /* [size_is][in] */ UINT_PTR rootIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *HandleCreated )( + + HRESULT ( STDMETHODCALLTYPE *HandleCreated )( ICorProfilerCallback8 * This, /* [in] */ GCHandleID handleId, /* [in] */ ObjectID initialObjectId); - - HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( ICorProfilerCallback8 * This, /* [in] */ GCHandleID handleId); - - HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( + + HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( ICorProfilerCallback8 * This, /* [in] */ IUnknown *pCorProfilerInfoUnk, /* [in] */ void *pvClientData, /* [in] */ UINT cbClientData); - - HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( + + HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( + + HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( + + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( + + HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( ICorProfilerCallback8 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ ICorProfilerFunctionControl *pFunctionControl); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( + + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *ReJITError )( + + HRESULT ( STDMETHODCALLTYPE *ReJITError )( ICorProfilerCallback8 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( + + HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( ICorProfilerCallback8 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( + + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( ICorProfilerCallback8 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( + + HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( ICorProfilerCallback8 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID keyRefIds[ ], /* [size_is][in] */ ObjectID valueRefIds[ ], /* [size_is][in] */ GCHandleID rootIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( + + HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( ICorProfilerCallback8 * This, /* [string][in] */ const WCHAR *wszAssemblyPath, /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider); - - HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( + + HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( ICorProfilerCallback8 * This, ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )( + + HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock, /* [in] */ LPCBYTE pILHeader, /* [in] */ ULONG cbILHeader); - - HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )( + + HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - + END_INTERFACE } ICorProfilerCallback8Vtbl; @@ -6418,300 +6437,300 @@ EXTERN_C const IID IID_ICorProfilerCallback8; CONST_VTBL struct ICorProfilerCallback8Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerCallback8_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerCallback8_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerCallback8_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerCallback8_Initialize(This,pICorProfilerInfoUnk) \ - ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) #define ICorProfilerCallback8_Shutdown(This) \ - ( (This)->lpVtbl -> Shutdown(This) ) + ( (This)->lpVtbl -> Shutdown(This) ) #define ICorProfilerCallback8_AppDomainCreationStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) #define ICorProfilerCallback8_AppDomainCreationFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback8_AppDomainShutdownStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) #define ICorProfilerCallback8_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback8_AssemblyLoadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) #define ICorProfilerCallback8_AssemblyLoadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback8_AssemblyUnloadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) #define ICorProfilerCallback8_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback8_ModuleLoadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) #define ICorProfilerCallback8_ModuleLoadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback8_ModuleUnloadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) #define ICorProfilerCallback8_ModuleUnloadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback8_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ - ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) #define ICorProfilerCallback8_ClassLoadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) #define ICorProfilerCallback8_ClassLoadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback8_ClassUnloadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) #define ICorProfilerCallback8_ClassUnloadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback8_FunctionUnloadStarted(This,functionId) \ - ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) #define ICorProfilerCallback8_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) #define ICorProfilerCallback8_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback8_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) #define ICorProfilerCallback8_JITCachedFunctionSearchFinished(This,functionId,result) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) #define ICorProfilerCallback8_JITFunctionPitched(This,functionId) \ - ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) #define ICorProfilerCallback8_JITInlining(This,callerId,calleeId,pfShouldInline) \ - ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) #define ICorProfilerCallback8_ThreadCreated(This,threadId) \ - ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) #define ICorProfilerCallback8_ThreadDestroyed(This,threadId) \ - ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) #define ICorProfilerCallback8_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ - ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) #define ICorProfilerCallback8_RemotingClientInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) #define ICorProfilerCallback8_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback8_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback8_RemotingClientInvocationFinished(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) #define ICorProfilerCallback8_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback8_RemotingServerInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) #define ICorProfilerCallback8_RemotingServerInvocationReturned(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) #define ICorProfilerCallback8_RemotingServerSendingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback8_UnmanagedToManagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) #define ICorProfilerCallback8_ManagedToUnmanagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) #define ICorProfilerCallback8_RuntimeSuspendStarted(This,suspendReason) \ - ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) #define ICorProfilerCallback8_RuntimeSuspendFinished(This) \ - ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) #define ICorProfilerCallback8_RuntimeSuspendAborted(This) \ - ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) #define ICorProfilerCallback8_RuntimeResumeStarted(This) \ - ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) #define ICorProfilerCallback8_RuntimeResumeFinished(This) \ - ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) #define ICorProfilerCallback8_RuntimeThreadSuspended(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) #define ICorProfilerCallback8_RuntimeThreadResumed(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) #define ICorProfilerCallback8_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback8_ObjectAllocated(This,objectId,classId) \ - ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) #define ICorProfilerCallback8_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ - ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) + ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) #define ICorProfilerCallback8_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \ - ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) #define ICorProfilerCallback8_RootReferences(This,cRootRefs,rootRefIds) \ - ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) #define ICorProfilerCallback8_ExceptionThrown(This,thrownObjectId) \ - ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) #define ICorProfilerCallback8_ExceptionSearchFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) #define ICorProfilerCallback8_ExceptionSearchFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) #define ICorProfilerCallback8_ExceptionSearchFilterEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) #define ICorProfilerCallback8_ExceptionSearchFilterLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) #define ICorProfilerCallback8_ExceptionSearchCatcherFound(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) #define ICorProfilerCallback8_ExceptionOSHandlerEnter(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) #define ICorProfilerCallback8_ExceptionOSHandlerLeave(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) #define ICorProfilerCallback8_ExceptionUnwindFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) #define ICorProfilerCallback8_ExceptionUnwindFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) #define ICorProfilerCallback8_ExceptionUnwindFinallyEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) #define ICorProfilerCallback8_ExceptionUnwindFinallyLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) #define ICorProfilerCallback8_ExceptionCatcherEnter(This,functionId,objectId) \ - ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) #define ICorProfilerCallback8_ExceptionCatcherLeave(This) \ - ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) #define ICorProfilerCallback8_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ - ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) + ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) #define ICorProfilerCallback8_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \ - ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) #define ICorProfilerCallback8_ExceptionCLRCatcherFound(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) #define ICorProfilerCallback8_ExceptionCLRCatcherExecute(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) #define ICorProfilerCallback8_ThreadNameChanged(This,threadId,cchName,name) \ - ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) + ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) #define ICorProfilerCallback8_GarbageCollectionStarted(This,cGenerations,generationCollected,reason) \ - ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) + ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) #define ICorProfilerCallback8_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback8_GarbageCollectionFinished(This) \ - ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) + ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) #define ICorProfilerCallback8_FinalizeableObjectQueued(This,finalizerFlags,objectID) \ - ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) + ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) #define ICorProfilerCallback8_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) \ - ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) + ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) #define ICorProfilerCallback8_HandleCreated(This,handleId,initialObjectId) \ - ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) + ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) #define ICorProfilerCallback8_HandleDestroyed(This,handleId) \ - ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) + ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) #define ICorProfilerCallback8_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \ - ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) + ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) #define ICorProfilerCallback8_ProfilerAttachComplete(This) \ - ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) + ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) #define ICorProfilerCallback8_ProfilerDetachSucceeded(This) \ - ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) + ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) #define ICorProfilerCallback8_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) #define ICorProfilerCallback8_GetReJITParameters(This,moduleId,methodId,pFunctionControl) \ - ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) + ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) #define ICorProfilerCallback8_ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback8_ReJITError(This,moduleId,methodId,functionId,hrStatus) \ - ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) + ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) #define ICorProfilerCallback8_MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback8_SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback8_ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) \ - ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) + ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) #define ICorProfilerCallback8_GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) \ - ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) + ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) #define ICorProfilerCallback8_ModuleInMemorySymbolsUpdated(This,moduleId) \ - ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) + ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) #define ICorProfilerCallback8_DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) \ - ( (This)->lpVtbl -> DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) ) + ( (This)->lpVtbl -> DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) ) #define ICorProfilerCallback8_DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #endif /* COBJMACROS */ @@ -6728,468 +6747,468 @@ EXTERN_C const IID IID_ICorProfilerCallback8; #define __ICorProfilerCallback9_INTERFACE_DEFINED__ /* interface ICorProfilerCallback9 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerCallback9; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("27583EC3-C8F5-482F-8052-194B8CE4705A") ICorProfilerCallback9 : public ICorProfilerCallback8 { public: - virtual HRESULT STDMETHODCALLTYPE DynamicMethodUnloaded( + virtual HRESULT STDMETHODCALLTYPE DynamicMethodUnloaded( /* [in] */ FunctionID functionId) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerCallback9Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerCallback9 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerCallback9 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorProfilerCallback9 * This, /* [in] */ IUnknown *pICorProfilerInfoUnk); - - HRESULT ( STDMETHODCALLTYPE *Shutdown )( + + HRESULT ( STDMETHODCALLTYPE *Shutdown )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( ICorProfilerCallback9 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( ICorProfilerCallback9 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( ICorProfilerCallback9 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( ICorProfilerCallback9 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( ICorProfilerCallback9 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( ICorProfilerCallback9 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( ICorProfilerCallback9 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( ICorProfilerCallback9 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( ICorProfilerCallback9 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( ICorProfilerCallback9 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( ICorProfilerCallback9 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( ICorProfilerCallback9 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( ICorProfilerCallback9 * This, /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( ICorProfilerCallback9 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( ICorProfilerCallback9 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( ICorProfilerCallback9 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( ICorProfilerCallback9 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result); - - HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITInlining )( + + HRESULT ( STDMETHODCALLTYPE *JITInlining )( ICorProfilerCallback9 * This, /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline); - - HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( ICorProfilerCallback9 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( ICorProfilerCallback9 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( ICorProfilerCallback9 * This, /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( ICorProfilerCallback9 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( ICorProfilerCallback9 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( ICorProfilerCallback9 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( ICorProfilerCallback9 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( ICorProfilerCallback9 * This, /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( ICorProfilerCallback9 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( ICorProfilerCallback9 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + + HRESULT ( STDMETHODCALLTYPE *MovedReferences )( ICorProfilerCallback9 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( + + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( ICorProfilerCallback9 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( ICorProfilerCallback9 * This, /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( ICorProfilerCallback9 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RootReferences )( + + HRESULT ( STDMETHODCALLTYPE *RootReferences )( ICorProfilerCallback9 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( ICorProfilerCallback9 * This, /* [in] */ ObjectID thrownObjectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( ICorProfilerCallback9 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( ICorProfilerCallback9 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( ICorProfilerCallback9 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( ICorProfilerCallback9 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( + + HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( ICorProfilerCallback9 * This, /* [in] */ ThreadID threadId, /* [in] */ ULONG cchName, - /* [annotation][in] */ + /* [annotation][in] */ _In_reads_opt_(cchName) WCHAR name[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( + + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( ICorProfilerCallback9 * This, /* [in] */ int cGenerations, /* [size_is][in] */ BOOL generationCollected[ ], /* [in] */ COR_PRF_GC_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( + + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( ICorProfilerCallback9 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( + + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( + + HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( ICorProfilerCallback9 * This, /* [in] */ DWORD finalizerFlags, /* [in] */ ObjectID objectID); - - HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( + + HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( ICorProfilerCallback9 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ], /* [size_is][in] */ COR_PRF_GC_ROOT_KIND rootKinds[ ], /* [size_is][in] */ COR_PRF_GC_ROOT_FLAGS rootFlags[ ], /* [size_is][in] */ UINT_PTR rootIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *HandleCreated )( + + HRESULT ( STDMETHODCALLTYPE *HandleCreated )( ICorProfilerCallback9 * This, /* [in] */ GCHandleID handleId, /* [in] */ ObjectID initialObjectId); - - HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( + + HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( ICorProfilerCallback9 * This, /* [in] */ GCHandleID handleId); - - HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( + + HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( ICorProfilerCallback9 * This, /* [in] */ IUnknown *pCorProfilerInfoUnk, /* [in] */ void *pvClientData, /* [in] */ UINT cbClientData); - - HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( + + HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( + + HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( + + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( + + HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( ICorProfilerCallback9 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ ICorProfilerFunctionControl *pFunctionControl); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( + + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *ReJITError )( + + HRESULT ( STDMETHODCALLTYPE *ReJITError )( ICorProfilerCallback9 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( + + HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( ICorProfilerCallback9 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( + + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( ICorProfilerCallback9 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( + + HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( ICorProfilerCallback9 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID keyRefIds[ ], /* [size_is][in] */ ObjectID valueRefIds[ ], /* [size_is][in] */ GCHandleID rootIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( + + HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( ICorProfilerCallback9 * This, /* [string][in] */ const WCHAR *wszAssemblyPath, /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider); - - HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( + + HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( ICorProfilerCallback9 * This, ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )( + + HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock, /* [in] */ LPCBYTE pILHeader, /* [in] */ ULONG cbILHeader); - - HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )( + + HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *DynamicMethodUnloaded )( + + HRESULT ( STDMETHODCALLTYPE *DynamicMethodUnloaded )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId); - + END_INTERFACE } ICorProfilerCallback9Vtbl; @@ -7198,304 +7217,304 @@ EXTERN_C const IID IID_ICorProfilerCallback9; CONST_VTBL struct ICorProfilerCallback9Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerCallback9_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerCallback9_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerCallback9_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerCallback9_Initialize(This,pICorProfilerInfoUnk) \ - ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) #define ICorProfilerCallback9_Shutdown(This) \ - ( (This)->lpVtbl -> Shutdown(This) ) + ( (This)->lpVtbl -> Shutdown(This) ) #define ICorProfilerCallback9_AppDomainCreationStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) #define ICorProfilerCallback9_AppDomainCreationFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback9_AppDomainShutdownStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) #define ICorProfilerCallback9_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback9_AssemblyLoadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) #define ICorProfilerCallback9_AssemblyLoadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback9_AssemblyUnloadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) #define ICorProfilerCallback9_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback9_ModuleLoadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) #define ICorProfilerCallback9_ModuleLoadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback9_ModuleUnloadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) #define ICorProfilerCallback9_ModuleUnloadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback9_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ - ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) #define ICorProfilerCallback9_ClassLoadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) #define ICorProfilerCallback9_ClassLoadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback9_ClassUnloadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) #define ICorProfilerCallback9_ClassUnloadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback9_FunctionUnloadStarted(This,functionId) \ - ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) #define ICorProfilerCallback9_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) #define ICorProfilerCallback9_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback9_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) #define ICorProfilerCallback9_JITCachedFunctionSearchFinished(This,functionId,result) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) #define ICorProfilerCallback9_JITFunctionPitched(This,functionId) \ - ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) #define ICorProfilerCallback9_JITInlining(This,callerId,calleeId,pfShouldInline) \ - ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) #define ICorProfilerCallback9_ThreadCreated(This,threadId) \ - ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) #define ICorProfilerCallback9_ThreadDestroyed(This,threadId) \ - ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) #define ICorProfilerCallback9_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ - ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) #define ICorProfilerCallback9_RemotingClientInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) #define ICorProfilerCallback9_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback9_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback9_RemotingClientInvocationFinished(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) #define ICorProfilerCallback9_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback9_RemotingServerInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) #define ICorProfilerCallback9_RemotingServerInvocationReturned(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) #define ICorProfilerCallback9_RemotingServerSendingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback9_UnmanagedToManagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) #define ICorProfilerCallback9_ManagedToUnmanagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) #define ICorProfilerCallback9_RuntimeSuspendStarted(This,suspendReason) \ - ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) #define ICorProfilerCallback9_RuntimeSuspendFinished(This) \ - ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) #define ICorProfilerCallback9_RuntimeSuspendAborted(This) \ - ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) #define ICorProfilerCallback9_RuntimeResumeStarted(This) \ - ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) #define ICorProfilerCallback9_RuntimeResumeFinished(This) \ - ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) #define ICorProfilerCallback9_RuntimeThreadSuspended(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) #define ICorProfilerCallback9_RuntimeThreadResumed(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) #define ICorProfilerCallback9_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback9_ObjectAllocated(This,objectId,classId) \ - ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) #define ICorProfilerCallback9_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ - ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) + ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) #define ICorProfilerCallback9_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \ - ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) #define ICorProfilerCallback9_RootReferences(This,cRootRefs,rootRefIds) \ - ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) #define ICorProfilerCallback9_ExceptionThrown(This,thrownObjectId) \ - ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) #define ICorProfilerCallback9_ExceptionSearchFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) #define ICorProfilerCallback9_ExceptionSearchFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) #define ICorProfilerCallback9_ExceptionSearchFilterEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) #define ICorProfilerCallback9_ExceptionSearchFilterLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) #define ICorProfilerCallback9_ExceptionSearchCatcherFound(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) #define ICorProfilerCallback9_ExceptionOSHandlerEnter(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) #define ICorProfilerCallback9_ExceptionOSHandlerLeave(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) #define ICorProfilerCallback9_ExceptionUnwindFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) #define ICorProfilerCallback9_ExceptionUnwindFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) #define ICorProfilerCallback9_ExceptionUnwindFinallyEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) #define ICorProfilerCallback9_ExceptionUnwindFinallyLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) #define ICorProfilerCallback9_ExceptionCatcherEnter(This,functionId,objectId) \ - ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) #define ICorProfilerCallback9_ExceptionCatcherLeave(This) \ - ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) #define ICorProfilerCallback9_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ - ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) + ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) #define ICorProfilerCallback9_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \ - ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) #define ICorProfilerCallback9_ExceptionCLRCatcherFound(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) #define ICorProfilerCallback9_ExceptionCLRCatcherExecute(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) #define ICorProfilerCallback9_ThreadNameChanged(This,threadId,cchName,name) \ - ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) + ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) #define ICorProfilerCallback9_GarbageCollectionStarted(This,cGenerations,generationCollected,reason) \ - ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) + ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) #define ICorProfilerCallback9_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback9_GarbageCollectionFinished(This) \ - ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) + ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) #define ICorProfilerCallback9_FinalizeableObjectQueued(This,finalizerFlags,objectID) \ - ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) + ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) #define ICorProfilerCallback9_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) \ - ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) + ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) #define ICorProfilerCallback9_HandleCreated(This,handleId,initialObjectId) \ - ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) + ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) #define ICorProfilerCallback9_HandleDestroyed(This,handleId) \ - ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) + ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) #define ICorProfilerCallback9_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \ - ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) + ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) #define ICorProfilerCallback9_ProfilerAttachComplete(This) \ - ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) + ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) #define ICorProfilerCallback9_ProfilerDetachSucceeded(This) \ - ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) + ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) #define ICorProfilerCallback9_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) #define ICorProfilerCallback9_GetReJITParameters(This,moduleId,methodId,pFunctionControl) \ - ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) + ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) #define ICorProfilerCallback9_ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback9_ReJITError(This,moduleId,methodId,functionId,hrStatus) \ - ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) + ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) #define ICorProfilerCallback9_MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback9_SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback9_ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) \ - ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) + ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) #define ICorProfilerCallback9_GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) \ - ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) + ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) #define ICorProfilerCallback9_ModuleInMemorySymbolsUpdated(This,moduleId) \ - ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) + ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) #define ICorProfilerCallback9_DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) \ - ( (This)->lpVtbl -> DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) ) + ( (This)->lpVtbl -> DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) ) #define ICorProfilerCallback9_DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback9_DynamicMethodUnloaded(This,functionId) \ - ( (This)->lpVtbl -> DynamicMethodUnloaded(This,functionId) ) + ( (This)->lpVtbl -> DynamicMethodUnloaded(This,functionId) ) #endif /* COBJMACROS */ @@ -7508,11 +7527,821 @@ EXTERN_C const IID IID_ICorProfilerCallback9; #endif /* __ICorProfilerCallback9_INTERFACE_DEFINED__ */ -/* interface __MIDL_itf_corprof_0000_0009 */ -/* [local] */ +#ifndef __ICorProfilerCallback10_INTERFACE_DEFINED__ +#define __ICorProfilerCallback10_INTERFACE_DEFINED__ + +/* interface ICorProfilerCallback10 */ +/* [local][unique][uuid][object] */ + + +EXTERN_C const IID IID_ICorProfilerCallback10; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("CEC5B60E-C69C-495F-87F6-84D28EE16FFB") + ICorProfilerCallback10 : public ICorProfilerCallback9 + { + public: + virtual HRESULT STDMETHODCALLTYPE EventPipeEventDelivered( + /* [in] */ EVENTPIPE_PROVIDER provider, + /* [in] */ DWORD eventId, + /* [in] */ DWORD eventVersion, + /* [in] */ ULONG cbMetadataBlob, + /* [size_is][in] */ LPCBYTE metadataBlob, + /* [in] */ DWORD eventThreadId, + /* [in] */ ULONG cbEventData, + /* [size_is][in] */ LPCBYTE eventData, + /* [in] */ ULONG numStackFrames, + /* [length_is][in] */ UINT_PTR stackFrames[ ]) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ICorProfilerCallback10Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ICorProfilerCallback10 * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + ICorProfilerCallback10 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + ICorProfilerCallback10 * This); + + HRESULT ( STDMETHODCALLTYPE *Initialize )( + ICorProfilerCallback10 * This, + /* [in] */ IUnknown *pICorProfilerInfoUnk); + + HRESULT ( STDMETHODCALLTYPE *Shutdown )( + ICorProfilerCallback10 * This); + + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + ICorProfilerCallback10 * This, + /* [in] */ AppDomainID appDomainId); + + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + ICorProfilerCallback10 * This, + /* [in] */ AppDomainID appDomainId, + /* [in] */ HRESULT hrStatus); + + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + ICorProfilerCallback10 * This, + /* [in] */ AppDomainID appDomainId); + + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + ICorProfilerCallback10 * This, + /* [in] */ AppDomainID appDomainId, + /* [in] */ HRESULT hrStatus); + + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + ICorProfilerCallback10 * This, + /* [in] */ AssemblyID assemblyId); + + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + ICorProfilerCallback10 * This, + /* [in] */ AssemblyID assemblyId, + /* [in] */ HRESULT hrStatus); + + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + ICorProfilerCallback10 * This, + /* [in] */ AssemblyID assemblyId); + + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + ICorProfilerCallback10 * This, + /* [in] */ AssemblyID assemblyId, + /* [in] */ HRESULT hrStatus); + + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + ICorProfilerCallback10 * This, + /* [in] */ ModuleID moduleId); + + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + ICorProfilerCallback10 * This, + /* [in] */ ModuleID moduleId, + /* [in] */ HRESULT hrStatus); + + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + ICorProfilerCallback10 * This, + /* [in] */ ModuleID moduleId); + + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + ICorProfilerCallback10 * This, + /* [in] */ ModuleID moduleId, + /* [in] */ HRESULT hrStatus); + + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + ICorProfilerCallback10 * This, + /* [in] */ ModuleID moduleId, + /* [in] */ AssemblyID AssemblyId); + + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + ICorProfilerCallback10 * This, + /* [in] */ ClassID classId); + + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + ICorProfilerCallback10 * This, + /* [in] */ ClassID classId, + /* [in] */ HRESULT hrStatus); + + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + ICorProfilerCallback10 * This, + /* [in] */ ClassID classId); + + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + ICorProfilerCallback10 * This, + /* [in] */ ClassID classId, + /* [in] */ HRESULT hrStatus); + + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + ICorProfilerCallback10 * This, + /* [in] */ FunctionID functionId); + + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + ICorProfilerCallback10 * This, + /* [in] */ FunctionID functionId, + /* [in] */ BOOL fIsSafeToBlock); + + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + ICorProfilerCallback10 * This, + /* [in] */ FunctionID functionId, + /* [in] */ HRESULT hrStatus, + /* [in] */ BOOL fIsSafeToBlock); + + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + ICorProfilerCallback10 * This, + /* [in] */ FunctionID functionId, + /* [out] */ BOOL *pbUseCachedFunction); + + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + ICorProfilerCallback10 * This, + /* [in] */ FunctionID functionId, + /* [in] */ COR_PRF_JIT_CACHE result); + + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + ICorProfilerCallback10 * This, + /* [in] */ FunctionID functionId); + + HRESULT ( STDMETHODCALLTYPE *JITInlining )( + ICorProfilerCallback10 * This, + /* [in] */ FunctionID callerId, + /* [in] */ FunctionID calleeId, + /* [out] */ BOOL *pfShouldInline); + + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + ICorProfilerCallback10 * This, + /* [in] */ ThreadID threadId); + + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + ICorProfilerCallback10 * This, + /* [in] */ ThreadID threadId); + + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + ICorProfilerCallback10 * This, + /* [in] */ ThreadID managedThreadId, + /* [in] */ DWORD osThreadId); + + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + ICorProfilerCallback10 * This); + + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + ICorProfilerCallback10 * This, + /* [in] */ GUID *pCookie, + /* [in] */ BOOL fIsAsync); + + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + ICorProfilerCallback10 * This, + /* [in] */ GUID *pCookie, + /* [in] */ BOOL fIsAsync); + + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + ICorProfilerCallback10 * This); + + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + ICorProfilerCallback10 * This, + /* [in] */ GUID *pCookie, + /* [in] */ BOOL fIsAsync); + + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + ICorProfilerCallback10 * This); + + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + ICorProfilerCallback10 * This); + + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + ICorProfilerCallback10 * This, + /* [in] */ GUID *pCookie, + /* [in] */ BOOL fIsAsync); + + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + ICorProfilerCallback10 * This, + /* [in] */ FunctionID functionId, + /* [in] */ COR_PRF_TRANSITION_REASON reason); + + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + ICorProfilerCallback10 * This, + /* [in] */ FunctionID functionId, + /* [in] */ COR_PRF_TRANSITION_REASON reason); + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + ICorProfilerCallback10 * This, + /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + ICorProfilerCallback10 * This); + + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + ICorProfilerCallback10 * This); + + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + ICorProfilerCallback10 * This); + + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + ICorProfilerCallback10 * This); + + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + ICorProfilerCallback10 * This, + /* [in] */ ThreadID threadId); + + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + ICorProfilerCallback10 * This, + /* [in] */ ThreadID threadId); + + HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + ICorProfilerCallback10 * This, + /* [in] */ ULONG cMovedObjectIDRanges, + /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], + /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], + /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); + + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( + ICorProfilerCallback10 * This, + /* [in] */ ObjectID objectId, + /* [in] */ ClassID classId); + + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + ICorProfilerCallback10 * This, + /* [in] */ ULONG cClassCount, + /* [size_is][in] */ ClassID classIds[ ], + /* [size_is][in] */ ULONG cObjects[ ]); + + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + ICorProfilerCallback10 * This, + /* [in] */ ObjectID objectId, + /* [in] */ ClassID classId, + /* [in] */ ULONG cObjectRefs, + /* [size_is][in] */ ObjectID objectRefIds[ ]); + + HRESULT ( STDMETHODCALLTYPE *RootReferences )( + ICorProfilerCallback10 * This, + /* [in] */ ULONG cRootRefs, + /* [size_is][in] */ ObjectID rootRefIds[ ]); + + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + ICorProfilerCallback10 * This, + /* [in] */ ObjectID thrownObjectId); + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + ICorProfilerCallback10 * This, + /* [in] */ FunctionID functionId); + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + ICorProfilerCallback10 * This); + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + ICorProfilerCallback10 * This, + /* [in] */ FunctionID functionId); + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + ICorProfilerCallback10 * This); + + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + ICorProfilerCallback10 * This, + /* [in] */ FunctionID functionId); + + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + ICorProfilerCallback10 * This, + /* [in] */ UINT_PTR __unused); + + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + ICorProfilerCallback10 * This, + /* [in] */ UINT_PTR __unused); + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + ICorProfilerCallback10 * This, + /* [in] */ FunctionID functionId); + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + ICorProfilerCallback10 * This); + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + ICorProfilerCallback10 * This, + /* [in] */ FunctionID functionId); + + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + ICorProfilerCallback10 * This); + + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + ICorProfilerCallback10 * This, + /* [in] */ FunctionID functionId, + /* [in] */ ObjectID objectId); + + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + ICorProfilerCallback10 * This); + + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + ICorProfilerCallback10 * This, + /* [in] */ ClassID wrappedClassId, + /* [in] */ REFGUID implementedIID, + /* [in] */ void *pVTable, + /* [in] */ ULONG cSlots); + + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + ICorProfilerCallback10 * This, + /* [in] */ ClassID wrappedClassId, + /* [in] */ REFGUID implementedIID, + /* [in] */ void *pVTable); + + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + ICorProfilerCallback10 * This); + + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + ICorProfilerCallback10 * This); + + HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( + ICorProfilerCallback10 * This, + /* [in] */ ThreadID threadId, + /* [in] */ ULONG cchName, + /* [annotation][in] */ + _In_reads_opt_(cchName) WCHAR name[ ]); + + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( + ICorProfilerCallback10 * This, + /* [in] */ int cGenerations, + /* [size_is][in] */ BOOL generationCollected[ ], + /* [in] */ COR_PRF_GC_REASON reason); + + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( + ICorProfilerCallback10 * This, + /* [in] */ ULONG cSurvivingObjectIDRanges, + /* [size_is][in] */ ObjectID objectIDRangeStart[ ], + /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); + + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( + ICorProfilerCallback10 * This); + + HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( + ICorProfilerCallback10 * This, + /* [in] */ DWORD finalizerFlags, + /* [in] */ ObjectID objectID); + + HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( + ICorProfilerCallback10 * This, + /* [in] */ ULONG cRootRefs, + /* [size_is][in] */ ObjectID rootRefIds[ ], + /* [size_is][in] */ COR_PRF_GC_ROOT_KIND rootKinds[ ], + /* [size_is][in] */ COR_PRF_GC_ROOT_FLAGS rootFlags[ ], + /* [size_is][in] */ UINT_PTR rootIds[ ]); + + HRESULT ( STDMETHODCALLTYPE *HandleCreated )( + ICorProfilerCallback10 * This, + /* [in] */ GCHandleID handleId, + /* [in] */ ObjectID initialObjectId); + + HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( + ICorProfilerCallback10 * This, + /* [in] */ GCHandleID handleId); + + HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( + ICorProfilerCallback10 * This, + /* [in] */ IUnknown *pCorProfilerInfoUnk, + /* [in] */ void *pvClientData, + /* [in] */ UINT cbClientData); + + HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( + ICorProfilerCallback10 * This); + + HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( + ICorProfilerCallback10 * This); + + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( + ICorProfilerCallback10 * This, + /* [in] */ FunctionID functionId, + /* [in] */ ReJITID rejitId, + /* [in] */ BOOL fIsSafeToBlock); + + HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( + ICorProfilerCallback10 * This, + /* [in] */ ModuleID moduleId, + /* [in] */ mdMethodDef methodId, + /* [in] */ ICorProfilerFunctionControl *pFunctionControl); + + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( + ICorProfilerCallback10 * This, + /* [in] */ FunctionID functionId, + /* [in] */ ReJITID rejitId, + /* [in] */ HRESULT hrStatus, + /* [in] */ BOOL fIsSafeToBlock); + + HRESULT ( STDMETHODCALLTYPE *ReJITError )( + ICorProfilerCallback10 * This, + /* [in] */ ModuleID moduleId, + /* [in] */ mdMethodDef methodId, + /* [in] */ FunctionID functionId, + /* [in] */ HRESULT hrStatus); + + HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( + ICorProfilerCallback10 * This, + /* [in] */ ULONG cMovedObjectIDRanges, + /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], + /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], + /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); + + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( + ICorProfilerCallback10 * This, + /* [in] */ ULONG cSurvivingObjectIDRanges, + /* [size_is][in] */ ObjectID objectIDRangeStart[ ], + /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); + + HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( + ICorProfilerCallback10 * This, + /* [in] */ ULONG cRootRefs, + /* [size_is][in] */ ObjectID keyRefIds[ ], + /* [size_is][in] */ ObjectID valueRefIds[ ], + /* [size_is][in] */ GCHandleID rootIds[ ]); + + HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( + ICorProfilerCallback10 * This, + /* [string][in] */ const WCHAR *wszAssemblyPath, + /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider); + + HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( + ICorProfilerCallback10 * This, + ModuleID moduleId); + + HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )( + ICorProfilerCallback10 * This, + /* [in] */ FunctionID functionId, + /* [in] */ BOOL fIsSafeToBlock, + /* [in] */ LPCBYTE pILHeader, + /* [in] */ ULONG cbILHeader); + + HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )( + ICorProfilerCallback10 * This, + /* [in] */ FunctionID functionId, + /* [in] */ HRESULT hrStatus, + /* [in] */ BOOL fIsSafeToBlock); + + HRESULT ( STDMETHODCALLTYPE *DynamicMethodUnloaded )( + ICorProfilerCallback10 * This, + /* [in] */ FunctionID functionId); + + HRESULT ( STDMETHODCALLTYPE *EventPipeEventDelivered )( + ICorProfilerCallback10 * This, + /* [in] */ EVENTPIPE_PROVIDER provider, + /* [in] */ DWORD eventId, + /* [in] */ DWORD eventVersion, + /* [in] */ ULONG cbMetadataBlob, + /* [size_is][in] */ LPCBYTE metadataBlob, + /* [in] */ DWORD eventThreadId, + /* [in] */ ULONG cbEventData, + /* [size_is][in] */ LPCBYTE eventData, + /* [in] */ ULONG numStackFrames, + /* [length_is][in] */ UINT_PTR stackFrames[ ]); + + END_INTERFACE + } ICorProfilerCallback10Vtbl; + + interface ICorProfilerCallback10 + { + CONST_VTBL struct ICorProfilerCallback10Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ICorProfilerCallback10_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ICorProfilerCallback10_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ICorProfilerCallback10_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ICorProfilerCallback10_Initialize(This,pICorProfilerInfoUnk) \ + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) -typedef /* [public] */ -enum __MIDL___MIDL_itf_corprof_0000_0009_0001 +#define ICorProfilerCallback10_Shutdown(This) \ + ( (This)->lpVtbl -> Shutdown(This) ) + +#define ICorProfilerCallback10_AppDomainCreationStarted(This,appDomainId) \ + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + +#define ICorProfilerCallback10_AppDomainCreationFinished(This,appDomainId,hrStatus) \ + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + +#define ICorProfilerCallback10_AppDomainShutdownStarted(This,appDomainId) \ + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + +#define ICorProfilerCallback10_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + +#define ICorProfilerCallback10_AssemblyLoadStarted(This,assemblyId) \ + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + +#define ICorProfilerCallback10_AssemblyLoadFinished(This,assemblyId,hrStatus) \ + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + +#define ICorProfilerCallback10_AssemblyUnloadStarted(This,assemblyId) \ + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + +#define ICorProfilerCallback10_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + +#define ICorProfilerCallback10_ModuleLoadStarted(This,moduleId) \ + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + +#define ICorProfilerCallback10_ModuleLoadFinished(This,moduleId,hrStatus) \ + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + +#define ICorProfilerCallback10_ModuleUnloadStarted(This,moduleId) \ + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + +#define ICorProfilerCallback10_ModuleUnloadFinished(This,moduleId,hrStatus) \ + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + +#define ICorProfilerCallback10_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + +#define ICorProfilerCallback10_ClassLoadStarted(This,classId) \ + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + +#define ICorProfilerCallback10_ClassLoadFinished(This,classId,hrStatus) \ + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + +#define ICorProfilerCallback10_ClassUnloadStarted(This,classId) \ + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + +#define ICorProfilerCallback10_ClassUnloadFinished(This,classId,hrStatus) \ + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + +#define ICorProfilerCallback10_FunctionUnloadStarted(This,functionId) \ + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + +#define ICorProfilerCallback10_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + +#define ICorProfilerCallback10_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + +#define ICorProfilerCallback10_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + +#define ICorProfilerCallback10_JITCachedFunctionSearchFinished(This,functionId,result) \ + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + +#define ICorProfilerCallback10_JITFunctionPitched(This,functionId) \ + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + +#define ICorProfilerCallback10_JITInlining(This,callerId,calleeId,pfShouldInline) \ + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + +#define ICorProfilerCallback10_ThreadCreated(This,threadId) \ + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + +#define ICorProfilerCallback10_ThreadDestroyed(This,threadId) \ + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + +#define ICorProfilerCallback10_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + +#define ICorProfilerCallback10_RemotingClientInvocationStarted(This) \ + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + +#define ICorProfilerCallback10_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + +#define ICorProfilerCallback10_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + +#define ICorProfilerCallback10_RemotingClientInvocationFinished(This) \ + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + +#define ICorProfilerCallback10_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + +#define ICorProfilerCallback10_RemotingServerInvocationStarted(This) \ + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + +#define ICorProfilerCallback10_RemotingServerInvocationReturned(This) \ + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + +#define ICorProfilerCallback10_RemotingServerSendingReply(This,pCookie,fIsAsync) \ + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + +#define ICorProfilerCallback10_UnmanagedToManagedTransition(This,functionId,reason) \ + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + +#define ICorProfilerCallback10_ManagedToUnmanagedTransition(This,functionId,reason) \ + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + +#define ICorProfilerCallback10_RuntimeSuspendStarted(This,suspendReason) \ + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + +#define ICorProfilerCallback10_RuntimeSuspendFinished(This) \ + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + +#define ICorProfilerCallback10_RuntimeSuspendAborted(This) \ + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + +#define ICorProfilerCallback10_RuntimeResumeStarted(This) \ + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + +#define ICorProfilerCallback10_RuntimeResumeFinished(This) \ + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + +#define ICorProfilerCallback10_RuntimeThreadSuspended(This,threadId) \ + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + +#define ICorProfilerCallback10_RuntimeThreadResumed(This,threadId) \ + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + +#define ICorProfilerCallback10_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ + ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + +#define ICorProfilerCallback10_ObjectAllocated(This,objectId,classId) \ + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) + +#define ICorProfilerCallback10_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ + ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) + +#define ICorProfilerCallback10_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \ + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) + +#define ICorProfilerCallback10_RootReferences(This,cRootRefs,rootRefIds) \ + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + +#define ICorProfilerCallback10_ExceptionThrown(This,thrownObjectId) \ + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + +#define ICorProfilerCallback10_ExceptionSearchFunctionEnter(This,functionId) \ + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + +#define ICorProfilerCallback10_ExceptionSearchFunctionLeave(This) \ + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + +#define ICorProfilerCallback10_ExceptionSearchFilterEnter(This,functionId) \ + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + +#define ICorProfilerCallback10_ExceptionSearchFilterLeave(This) \ + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + +#define ICorProfilerCallback10_ExceptionSearchCatcherFound(This,functionId) \ + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + +#define ICorProfilerCallback10_ExceptionOSHandlerEnter(This,__unused) \ + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + +#define ICorProfilerCallback10_ExceptionOSHandlerLeave(This,__unused) \ + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + +#define ICorProfilerCallback10_ExceptionUnwindFunctionEnter(This,functionId) \ + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + +#define ICorProfilerCallback10_ExceptionUnwindFunctionLeave(This) \ + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + +#define ICorProfilerCallback10_ExceptionUnwindFinallyEnter(This,functionId) \ + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + +#define ICorProfilerCallback10_ExceptionUnwindFinallyLeave(This) \ + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + +#define ICorProfilerCallback10_ExceptionCatcherEnter(This,functionId,objectId) \ + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + +#define ICorProfilerCallback10_ExceptionCatcherLeave(This) \ + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + +#define ICorProfilerCallback10_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ + ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) + +#define ICorProfilerCallback10_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \ + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) + +#define ICorProfilerCallback10_ExceptionCLRCatcherFound(This) \ + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + +#define ICorProfilerCallback10_ExceptionCLRCatcherExecute(This) \ + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + + +#define ICorProfilerCallback10_ThreadNameChanged(This,threadId,cchName,name) \ + ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) + +#define ICorProfilerCallback10_GarbageCollectionStarted(This,cGenerations,generationCollected,reason) \ + ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) + +#define ICorProfilerCallback10_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ + ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + +#define ICorProfilerCallback10_GarbageCollectionFinished(This) \ + ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) + +#define ICorProfilerCallback10_FinalizeableObjectQueued(This,finalizerFlags,objectID) \ + ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) + +#define ICorProfilerCallback10_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) \ + ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) + +#define ICorProfilerCallback10_HandleCreated(This,handleId,initialObjectId) \ + ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) + +#define ICorProfilerCallback10_HandleDestroyed(This,handleId) \ + ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) + + +#define ICorProfilerCallback10_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \ + ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) + +#define ICorProfilerCallback10_ProfilerAttachComplete(This) \ + ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) + +#define ICorProfilerCallback10_ProfilerDetachSucceeded(This) \ + ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) + + +#define ICorProfilerCallback10_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) \ + ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) + +#define ICorProfilerCallback10_GetReJITParameters(This,moduleId,methodId,pFunctionControl) \ + ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) + +#define ICorProfilerCallback10_ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) \ + ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) + +#define ICorProfilerCallback10_ReJITError(This,moduleId,methodId,functionId,hrStatus) \ + ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) + +#define ICorProfilerCallback10_MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ + ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + +#define ICorProfilerCallback10_SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ + ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + + +#define ICorProfilerCallback10_ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) \ + ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) + + +#define ICorProfilerCallback10_GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) \ + ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) + + +#define ICorProfilerCallback10_ModuleInMemorySymbolsUpdated(This,moduleId) \ + ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) + + +#define ICorProfilerCallback10_DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) \ + ( (This)->lpVtbl -> DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) ) + +#define ICorProfilerCallback10_DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ + ( (This)->lpVtbl -> DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + + +#define ICorProfilerCallback10_DynamicMethodUnloaded(This,functionId) \ + ( (This)->lpVtbl -> DynamicMethodUnloaded(This,functionId) ) + + +#define ICorProfilerCallback10_EventPipeEventDelivered(This,provider,eventId,eventVersion,cbMetadataBlob,metadataBlob,eventThreadId,cbEventData,eventData,numStackFrames,stackFrames) \ + ( (This)->lpVtbl -> EventPipeEventDelivered(This,provider,eventId,eventVersion,cbMetadataBlob,metadataBlob,eventThreadId,cbEventData,eventData,numStackFrames,stackFrames) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ICorProfilerCallback10_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_corprof_0000_0010 */ +/* [local] */ + +typedef /* [public] */ +enum __MIDL___MIDL_itf_corprof_0000_0010_0001 { COR_PRF_CODEGEN_DISABLE_INLINING = 0x1, COR_PRF_CODEGEN_DISABLE_ALL_OPTIMIZATIONS = 0x2 @@ -7520,390 +8349,390 @@ enum __MIDL___MIDL_itf_corprof_0000_0009_0001 -extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0009_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0009_v0_0_s_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0010_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0010_v0_0_s_ifspec; #ifndef __ICorProfilerInfo_INTERFACE_DEFINED__ #define __ICorProfilerInfo_INTERFACE_DEFINED__ /* interface ICorProfilerInfo */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("28B5557D-3F3F-48b4-90B2-5F9EEA2F6C48") ICorProfilerInfo : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetClassFromObject( + virtual HRESULT STDMETHODCALLTYPE GetClassFromObject( /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetClassFromToken( + + virtual HRESULT STDMETHODCALLTYPE GetClassFromToken( /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCodeInfo( + + virtual HRESULT STDMETHODCALLTYPE GetCodeInfo( /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetEventMask( + + virtual HRESULT STDMETHODCALLTYPE GetEventMask( /* [out] */ DWORD *pdwEvents) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunctionFromIP( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionFromIP( /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunctionFromToken( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionFromToken( /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetHandleFromThread( + + virtual HRESULT STDMETHODCALLTYPE GetHandleFromThread( /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetObjectSize( + + virtual HRESULT STDMETHODCALLTYPE GetObjectSize( /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsArrayClass( + + virtual HRESULT STDMETHODCALLTYPE IsArrayClass( /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetThreadInfo( + + virtual HRESULT STDMETHODCALLTYPE GetThreadInfo( /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCurrentThreadID( + + virtual HRESULT STDMETHODCALLTYPE GetCurrentThreadID( /* [out] */ ThreadID *pThreadId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetClassIDInfo( + + virtual HRESULT STDMETHODCALLTYPE GetClassIDInfo( /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunctionInfo( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionInfo( /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetEventMask( + + virtual HRESULT STDMETHODCALLTYPE SetEventMask( /* [in] */ DWORD dwEvents) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks( + + virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks( /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFunctionIDMapper( + + virtual HRESULT STDMETHODCALLTYPE SetFunctionIDMapper( /* [in] */ FunctionIDMapper *pFunc) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTokenAndMetaDataFromFunction( + + virtual HRESULT STDMETHODCALLTYPE GetTokenAndMetaDataFromFunction( /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetModuleInfo( + + virtual HRESULT STDMETHODCALLTYPE GetModuleInfo( /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetModuleMetaData( + + virtual HRESULT STDMETHODCALLTYPE GetModuleMetaData( /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetILFunctionBody( + + virtual HRESULT STDMETHODCALLTYPE GetILFunctionBody( /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetILFunctionBodyAllocator( + + virtual HRESULT STDMETHODCALLTYPE GetILFunctionBodyAllocator( /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetILFunctionBody( + + virtual HRESULT STDMETHODCALLTYPE SetILFunctionBody( /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAppDomainInfo( + + virtual HRESULT STDMETHODCALLTYPE GetAppDomainInfo( /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAssemblyInfo( + + virtual HRESULT STDMETHODCALLTYPE GetAssemblyInfo( /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFunctionReJIT( + + virtual HRESULT STDMETHODCALLTYPE SetFunctionReJIT( /* [in] */ FunctionID functionId) = 0; - + virtual HRESULT STDMETHODCALLTYPE ForceGC( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetILInstrumentedCodeMap( + + virtual HRESULT STDMETHODCALLTYPE SetILInstrumentedCodeMap( /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetInprocInspectionInterface( + + virtual HRESULT STDMETHODCALLTYPE GetInprocInspectionInterface( /* [out] */ IUnknown **ppicd) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetInprocInspectionIThisThread( + + virtual HRESULT STDMETHODCALLTYPE GetInprocInspectionIThisThread( /* [out] */ IUnknown **ppicd) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetThreadContext( + + virtual HRESULT STDMETHODCALLTYPE GetThreadContext( /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId) = 0; - - virtual HRESULT STDMETHODCALLTYPE BeginInprocDebugging( + + virtual HRESULT STDMETHODCALLTYPE BeginInprocDebugging( /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext) = 0; - - virtual HRESULT STDMETHODCALLTYPE EndInprocDebugging( + + virtual HRESULT STDMETHODCALLTYPE EndInprocDebugging( /* [in] */ DWORD dwProfilerContext) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetILToNativeMapping( + + virtual HRESULT STDMETHODCALLTYPE GetILToNativeMapping( /* [in] */ FunctionID functionId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfoVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( ICorProfilerInfo * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - + END_INTERFACE } ICorProfilerInfoVtbl; @@ -7912,119 +8741,119 @@ EXTERN_C const IID IID_ICorProfilerInfo; CONST_VTBL struct ICorProfilerInfoVtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) + ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) #define ICorProfilerInfo_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) + ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) #define ICorProfilerInfo_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #endif /* COBJMACROS */ @@ -8041,31 +8870,31 @@ EXTERN_C const IID IID_ICorProfilerInfo; #define __ICorProfilerInfo2_INTERFACE_DEFINED__ /* interface ICorProfilerInfo2 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC0935CD-A518-487d-B0BB-A93214E65478") ICorProfilerInfo2 : public ICorProfilerInfo { public: - virtual HRESULT STDMETHODCALLTYPE DoStackSnapshot( + virtual HRESULT STDMETHODCALLTYPE DoStackSnapshot( /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, /* [in] */ ULONG32 infoFlags, /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks2( + + virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks2( /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunctionInfo2( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionInfo2( /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, /* [out] */ ClassID *pClassId, @@ -8074,20 +8903,20 @@ EXTERN_C const IID IID_ICorProfilerInfo2; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetStringLayout( + + virtual HRESULT STDMETHODCALLTYPE GetStringLayout( /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetClassLayout( + + virtual HRESULT STDMETHODCALLTYPE GetClassLayout( /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetClassIDInfo2( + + virtual HRESULT STDMETHODCALLTYPE GetClassIDInfo2( /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken, @@ -8095,298 +8924,298 @@ EXTERN_C const IID IID_ICorProfilerInfo2; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCodeInfo2( + + virtual HRESULT STDMETHODCALLTYPE GetCodeInfo2( /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetClassFromTokenAndTypeArgs( + + virtual HRESULT STDMETHODCALLTYPE GetClassFromTokenAndTypeArgs( /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunctionFromTokenAndTypeArgs( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionFromTokenAndTypeArgs( /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, /* [in] */ ClassID classId, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumModuleFrozenObjects( + + virtual HRESULT STDMETHODCALLTYPE EnumModuleFrozenObjects( /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetArrayObjectInfo( + + virtual HRESULT STDMETHODCALLTYPE GetArrayObjectInfo( /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBoxClassLayout( + + virtual HRESULT STDMETHODCALLTYPE GetBoxClassLayout( /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetThreadAppDomain( + + virtual HRESULT STDMETHODCALLTYPE GetThreadAppDomain( /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetRVAStaticAddress( + + virtual HRESULT STDMETHODCALLTYPE GetRVAStaticAddress( /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAppDomainStaticAddress( + + virtual HRESULT STDMETHODCALLTYPE GetAppDomainStaticAddress( /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetThreadStaticAddress( + + virtual HRESULT STDMETHODCALLTYPE GetThreadStaticAddress( /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetContextStaticAddress( + + virtual HRESULT STDMETHODCALLTYPE GetContextStaticAddress( /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetStaticFieldInfo( + + virtual HRESULT STDMETHODCALLTYPE GetStaticFieldInfo( /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetGenerationBounds( + + virtual HRESULT STDMETHODCALLTYPE GetGenerationBounds( /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetObjectGeneration( + + virtual HRESULT STDMETHODCALLTYPE GetObjectGeneration( /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetNotifiedExceptionClauseInfo( + + virtual HRESULT STDMETHODCALLTYPE GetNotifiedExceptionClauseInfo( /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo2 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo2 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo2 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo2 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo2 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo2 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo2 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo2 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo2 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo2 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo2 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo2 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo2 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo2 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo2 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo2 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo2 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo2 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo2 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo2 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo2 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo2 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo2 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo2 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo2 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo2 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo2 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo2 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo2 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo2 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo2 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo2 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( ICorProfilerInfo2 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( + + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo2 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -8394,14 +9223,14 @@ EXTERN_C const IID IID_ICorProfilerInfo2; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo2 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo2 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -8411,22 +9240,22 @@ EXTERN_C const IID IID_ICorProfilerInfo2; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo2 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( ICorProfilerInfo2 * This, /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo2 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -8435,23 +9264,23 @@ EXTERN_C const IID IID_ICorProfilerInfo2; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( ICorProfilerInfo2 * This, /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( ICorProfilerInfo2 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo2 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -8459,78 +9288,78 @@ EXTERN_C const IID IID_ICorProfilerInfo2; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo2 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( ICorProfilerInfo2 * This, /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData); - - HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo2 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo2 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo2 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo2 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo2 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo2 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo2 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( ICorProfilerInfo2 * This, /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo2 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo2 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - + END_INTERFACE } ICorProfilerInfo2Vtbl; @@ -8539,183 +9368,183 @@ EXTERN_C const IID IID_ICorProfilerInfo2; CONST_VTBL struct ICorProfilerInfo2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo2_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo2_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo2_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo2_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo2_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo2_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo2_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo2_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo2_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo2_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo2_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo2_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo2_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo2_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo2_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo2_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo2_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo2_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) + ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) #define ICorProfilerInfo2_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo2_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo2_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo2_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo2_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) + ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) #define ICorProfilerInfo2_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo2_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo2_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo2_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo2_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo2_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo2_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo2_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo2_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo2_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo2_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) + ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) #define ICorProfilerInfo2_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo2_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) #define ICorProfilerInfo2_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo2_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ - ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) + ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) #define ICorProfilerInfo2_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) #define ICorProfilerInfo2_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo2_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) + ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) #define ICorProfilerInfo2_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \ - ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo2_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo2_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo2_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo2_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo2_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) #define ICorProfilerInfo2_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ - ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo2_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) #define ICorProfilerInfo2_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ - ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo2_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo2_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo2_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo2_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #endif /* COBJMACROS */ @@ -8732,63 +9561,63 @@ EXTERN_C const IID IID_ICorProfilerInfo2; #define __ICorProfilerInfo3_INTERFACE_DEFINED__ /* interface ICorProfilerInfo3 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo3; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("B555ED4F-452A-4E54-8B39-B5360BAD32A0") ICorProfilerInfo3 : public ICorProfilerInfo2 { public: - virtual HRESULT STDMETHODCALLTYPE EnumJITedFunctions( + virtual HRESULT STDMETHODCALLTYPE EnumJITedFunctions( /* [out] */ ICorProfilerFunctionEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE RequestProfilerDetach( + + virtual HRESULT STDMETHODCALLTYPE RequestProfilerDetach( /* [in] */ DWORD dwExpectedCompletionMilliseconds) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFunctionIDMapper2( + + virtual HRESULT STDMETHODCALLTYPE SetFunctionIDMapper2( /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetStringLayout2( + + virtual HRESULT STDMETHODCALLTYPE GetStringLayout2( /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks3( + + virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks3( /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks3WithInfo( + + virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks3WithInfo( /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunctionEnter3Info( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionEnter3Info( /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out][in] */ ULONG *pcbArgumentInfo, /* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunctionLeave3Info( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionLeave3Info( /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunctionTailcall3Info( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionTailcall3Info( /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumModules( + + virtual HRESULT STDMETHODCALLTYPE EnumModules( /* [out] */ ICorProfilerModuleEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetRuntimeInformation( + + virtual HRESULT STDMETHODCALLTYPE GetRuntimeInformation( /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, /* [out] */ USHORT *pMajorVersion, @@ -8797,243 +9626,243 @@ EXTERN_C const IID IID_ICorProfilerInfo3; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetThreadStaticAddress2( + + virtual HRESULT STDMETHODCALLTYPE GetThreadStaticAddress2( /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAppDomainsContainingModule( + + virtual HRESULT STDMETHODCALLTYPE GetAppDomainsContainingModule( /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetModuleInfo2( + + virtual HRESULT STDMETHODCALLTYPE GetModuleInfo2( /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo3Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo3 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo3 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo3 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo3 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo3 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo3 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo3 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo3 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo3 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo3 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo3 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo3 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo3 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo3 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo3 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo3 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo3 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo3 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo3 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo3 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo3 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo3 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo3 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo3 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo3 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo3 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo3 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( ICorProfilerInfo3 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( + + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo3 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -9041,14 +9870,14 @@ EXTERN_C const IID IID_ICorProfilerInfo3; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo3 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo3 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -9058,22 +9887,22 @@ EXTERN_C const IID IID_ICorProfilerInfo3; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo3 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( ICorProfilerInfo3 * This, /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo3 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -9082,23 +9911,23 @@ EXTERN_C const IID IID_ICorProfilerInfo3; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( ICorProfilerInfo3 * This, /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -9106,134 +9935,134 @@ EXTERN_C const IID IID_ICorProfilerInfo3; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( ICorProfilerInfo3 * This, /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData); - - HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo3 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo3 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo3 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo3 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo3 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo3 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo3 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( ICorProfilerInfo3 * This, /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo3 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo3 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo3 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo3 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo3 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo3 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo3 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo3 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( ICorProfilerInfo3 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out][in] */ ULONG *pcbArgumentInfo, /* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( ICorProfilerInfo3 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo3 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo3 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo3 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -9243,35 +10072,35 @@ EXTERN_C const IID IID_ICorProfilerInfo3; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo3 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - + END_INTERFACE } ICorProfilerInfo3Vtbl; @@ -9280,226 +10109,226 @@ EXTERN_C const IID IID_ICorProfilerInfo3; CONST_VTBL struct ICorProfilerInfo3Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo3_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo3_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo3_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo3_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo3_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo3_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo3_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo3_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo3_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo3_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo3_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo3_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo3_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo3_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo3_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo3_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo3_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo3_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) + ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) #define ICorProfilerInfo3_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo3_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo3_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo3_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo3_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) + ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) #define ICorProfilerInfo3_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo3_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo3_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo3_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo3_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo3_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo3_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo3_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo3_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo3_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo3_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) + ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) #define ICorProfilerInfo3_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo3_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) #define ICorProfilerInfo3_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo3_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ - ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) + ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) #define ICorProfilerInfo3_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) #define ICorProfilerInfo3_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo3_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) + ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) #define ICorProfilerInfo3_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \ - ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo3_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo3_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo3_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo3_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo3_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) #define ICorProfilerInfo3_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ - ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo3_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) #define ICorProfilerInfo3_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ - ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo3_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo3_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo3_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo3_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo3_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo3_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo3_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo3_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo3_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) #define ICorProfilerInfo3_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) #define ICorProfilerInfo3_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ - ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) + ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) #define ICorProfilerInfo3_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \ - ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo3_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo3_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) + ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) #define ICorProfilerInfo3_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \ - ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) + ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) #define ICorProfilerInfo3_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) #define ICorProfilerInfo3_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ - ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) + ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) #define ICorProfilerInfo3_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \ - ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) + ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) #endif /* COBJMACROS */ @@ -9516,75 +10345,75 @@ EXTERN_C const IID IID_ICorProfilerInfo3; #define __ICorProfilerObjectEnum_INTERFACE_DEFINED__ /* interface ICorProfilerObjectEnum */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerObjectEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("2C6269BD-2D13-4321-AE12-6686365FD6AF") ICorProfilerObjectEnum : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE Skip( + virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ ULONG celt) = 0; - + virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE Clone( + + virtual HRESULT STDMETHODCALLTYPE Clone( /* [out] */ ICorProfilerObjectEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCount( + + virtual HRESULT STDMETHODCALLTYPE GetCount( /* [out] */ ULONG *pcelt) = 0; - - virtual HRESULT STDMETHODCALLTYPE Next( + + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ObjectID objects[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerObjectEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerObjectEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerObjectEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerObjectEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorProfilerObjectEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorProfilerObjectEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorProfilerObjectEnum * This, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorProfilerObjectEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + HRESULT ( STDMETHODCALLTYPE *Next )( ICorProfilerObjectEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ObjectID objects[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorProfilerObjectEnumVtbl; @@ -9593,35 +10422,35 @@ EXTERN_C const IID IID_ICorProfilerObjectEnum; CONST_VTBL struct ICorProfilerObjectEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerObjectEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerObjectEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerObjectEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerObjectEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) + ( (This)->lpVtbl -> Skip(This,celt) ) #define ICorProfilerObjectEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) + ( (This)->lpVtbl -> Reset(This) ) #define ICorProfilerObjectEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) + ( (This)->lpVtbl -> Clone(This,ppEnum) ) #define ICorProfilerObjectEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) + ( (This)->lpVtbl -> GetCount(This,pcelt) ) #define ICorProfilerObjectEnum_Next(This,celt,objects,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,objects,pceltFetched) ) + ( (This)->lpVtbl -> Next(This,celt,objects,pceltFetched) ) #endif /* COBJMACROS */ @@ -9638,75 +10467,75 @@ EXTERN_C const IID IID_ICorProfilerObjectEnum; #define __ICorProfilerFunctionEnum_INTERFACE_DEFINED__ /* interface ICorProfilerFunctionEnum */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerFunctionEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("FF71301A-B994-429D-A10B-B345A65280EF") ICorProfilerFunctionEnum : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE Skip( + virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ ULONG celt) = 0; - + virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE Clone( + + virtual HRESULT STDMETHODCALLTYPE Clone( /* [out] */ ICorProfilerFunctionEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCount( + + virtual HRESULT STDMETHODCALLTYPE GetCount( /* [out] */ ULONG *pcelt) = 0; - - virtual HRESULT STDMETHODCALLTYPE Next( + + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ COR_PRF_FUNCTION ids[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerFunctionEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerFunctionEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerFunctionEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerFunctionEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorProfilerFunctionEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorProfilerFunctionEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorProfilerFunctionEnum * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorProfilerFunctionEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + HRESULT ( STDMETHODCALLTYPE *Next )( ICorProfilerFunctionEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ COR_PRF_FUNCTION ids[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorProfilerFunctionEnumVtbl; @@ -9715,35 +10544,35 @@ EXTERN_C const IID IID_ICorProfilerFunctionEnum; CONST_VTBL struct ICorProfilerFunctionEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerFunctionEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerFunctionEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerFunctionEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerFunctionEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) + ( (This)->lpVtbl -> Skip(This,celt) ) #define ICorProfilerFunctionEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) + ( (This)->lpVtbl -> Reset(This) ) #define ICorProfilerFunctionEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) + ( (This)->lpVtbl -> Clone(This,ppEnum) ) #define ICorProfilerFunctionEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) + ( (This)->lpVtbl -> GetCount(This,pcelt) ) #define ICorProfilerFunctionEnum_Next(This,celt,ids,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) ) + ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) ) #endif /* COBJMACROS */ @@ -9760,75 +10589,75 @@ EXTERN_C const IID IID_ICorProfilerFunctionEnum; #define __ICorProfilerModuleEnum_INTERFACE_DEFINED__ /* interface ICorProfilerModuleEnum */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerModuleEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("b0266d75-2081-4493-af7f-028ba34db891") ICorProfilerModuleEnum : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE Skip( + virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ ULONG celt) = 0; - + virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE Clone( + + virtual HRESULT STDMETHODCALLTYPE Clone( /* [out] */ ICorProfilerModuleEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCount( + + virtual HRESULT STDMETHODCALLTYPE GetCount( /* [out] */ ULONG *pcelt) = 0; - - virtual HRESULT STDMETHODCALLTYPE Next( + + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ModuleID ids[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerModuleEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerModuleEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerModuleEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerModuleEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorProfilerModuleEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorProfilerModuleEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorProfilerModuleEnum * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorProfilerModuleEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + HRESULT ( STDMETHODCALLTYPE *Next )( ICorProfilerModuleEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ModuleID ids[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorProfilerModuleEnumVtbl; @@ -9837,35 +10666,35 @@ EXTERN_C const IID IID_ICorProfilerModuleEnum; CONST_VTBL struct ICorProfilerModuleEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerModuleEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerModuleEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerModuleEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerModuleEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) + ( (This)->lpVtbl -> Skip(This,celt) ) #define ICorProfilerModuleEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) + ( (This)->lpVtbl -> Reset(This) ) #define ICorProfilerModuleEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) + ( (This)->lpVtbl -> Clone(This,ppEnum) ) #define ICorProfilerModuleEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) + ( (This)->lpVtbl -> GetCount(This,pcelt) ) #define ICorProfilerModuleEnum_Next(This,celt,ids,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) ) + ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) ) #endif /* COBJMACROS */ @@ -9882,45 +10711,45 @@ EXTERN_C const IID IID_ICorProfilerModuleEnum; #define __IMethodMalloc_INTERFACE_DEFINED__ /* interface IMethodMalloc */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_IMethodMalloc; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("A0EFB28B-6EE2-4d7b-B983-A75EF7BEEDB8") IMethodMalloc : public IUnknown { public: - virtual PVOID STDMETHODCALLTYPE Alloc( + virtual PVOID STDMETHODCALLTYPE Alloc( /* [in] */ ULONG cb) = 0; - + }; - - + + #else /* C style interface */ typedef struct IMethodMallocVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMethodMalloc * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( IMethodMalloc * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( IMethodMalloc * This); - - PVOID ( STDMETHODCALLTYPE *Alloc )( + + PVOID ( STDMETHODCALLTYPE *Alloc )( IMethodMalloc * This, /* [in] */ ULONG cb); - + END_INTERFACE } IMethodMallocVtbl; @@ -9929,23 +10758,23 @@ EXTERN_C const IID IID_IMethodMalloc; CONST_VTBL struct IMethodMallocVtbl *lpVtbl; }; - + #ifdef COBJMACROS #define IMethodMalloc_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IMethodMalloc_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define IMethodMalloc_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define IMethodMalloc_Alloc(This,cb) \ - ( (This)->lpVtbl -> Alloc(This,cb) ) + ( (This)->lpVtbl -> Alloc(This,cb) ) #endif /* COBJMACROS */ @@ -9962,63 +10791,63 @@ EXTERN_C const IID IID_IMethodMalloc; #define __ICorProfilerFunctionControl_INTERFACE_DEFINED__ /* interface ICorProfilerFunctionControl */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerFunctionControl; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("F0963021-E1EA-4732-8581-E01B0BD3C0C6") ICorProfilerFunctionControl : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE SetCodegenFlags( + virtual HRESULT STDMETHODCALLTYPE SetCodegenFlags( /* [in] */ DWORD flags) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetILFunctionBody( + + virtual HRESULT STDMETHODCALLTYPE SetILFunctionBody( /* [in] */ ULONG cbNewILMethodHeader, /* [size_is][in] */ LPCBYTE pbNewILMethodHeader) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetILInstrumentedCodeMap( + + virtual HRESULT STDMETHODCALLTYPE SetILInstrumentedCodeMap( /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerFunctionControlVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerFunctionControl * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerFunctionControl * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerFunctionControl * This); - - HRESULT ( STDMETHODCALLTYPE *SetCodegenFlags )( + + HRESULT ( STDMETHODCALLTYPE *SetCodegenFlags )( ICorProfilerFunctionControl * This, /* [in] */ DWORD flags); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerFunctionControl * This, /* [in] */ ULONG cbNewILMethodHeader, /* [size_is][in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerFunctionControl * This, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - + END_INTERFACE } ICorProfilerFunctionControlVtbl; @@ -10027,29 +10856,29 @@ EXTERN_C const IID IID_ICorProfilerFunctionControl; CONST_VTBL struct ICorProfilerFunctionControlVtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerFunctionControl_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerFunctionControl_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerFunctionControl_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerFunctionControl_SetCodegenFlags(This,flags) \ - ( (This)->lpVtbl -> SetCodegenFlags(This,flags) ) + ( (This)->lpVtbl -> SetCodegenFlags(This,flags) ) #define ICorProfilerFunctionControl_SetILFunctionBody(This,cbNewILMethodHeader,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,cbNewILMethodHeader,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,cbNewILMethodHeader,pbNewILMethodHeader) ) #define ICorProfilerFunctionControl_SetILInstrumentedCodeMap(This,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,cILMapEntries,rgILMapEntries) ) #endif /* COBJMACROS */ @@ -10066,276 +10895,276 @@ EXTERN_C const IID IID_ICorProfilerFunctionControl; #define __ICorProfilerInfo4_INTERFACE_DEFINED__ /* interface ICorProfilerInfo4 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo4; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("0d8fdcaa-6257-47bf-b1bf-94dac88466ee") ICorProfilerInfo4 : public ICorProfilerInfo3 { public: - virtual HRESULT STDMETHODCALLTYPE EnumThreads( + virtual HRESULT STDMETHODCALLTYPE EnumThreads( /* [out] */ ICorProfilerThreadEnum **ppEnum) = 0; - + virtual HRESULT STDMETHODCALLTYPE InitializeCurrentThread( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE RequestReJIT( + + virtual HRESULT STDMETHODCALLTYPE RequestReJIT( /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE RequestRevert( + + virtual HRESULT STDMETHODCALLTYPE RequestRevert( /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ], /* [size_is][out] */ HRESULT status[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCodeInfo3( + + virtual HRESULT STDMETHODCALLTYPE GetCodeInfo3( /* [in] */ FunctionID functionID, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunctionFromIP2( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionFromIP2( /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetReJITIDs( + + virtual HRESULT STDMETHODCALLTYPE GetReJITIDs( /* [in] */ FunctionID functionId, /* [in] */ ULONG cReJitIds, /* [out] */ ULONG *pcReJitIds, /* [length_is][size_is][out] */ ReJITID reJitIds[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetILToNativeMapping2( + + virtual HRESULT STDMETHODCALLTYPE GetILToNativeMapping2( /* [in] */ FunctionID functionId, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumJITedFunctions2( + + virtual HRESULT STDMETHODCALLTYPE EnumJITedFunctions2( /* [out] */ ICorProfilerFunctionEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetObjectSize2( + + virtual HRESULT STDMETHODCALLTYPE GetObjectSize2( /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo4Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo4 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo4 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo4 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo4 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo4 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo4 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo4 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo4 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo4 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo4 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo4 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo4 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo4 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo4 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo4 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo4 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo4 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo4 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo4 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo4 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo4 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo4 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo4 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo4 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo4 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo4 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo4 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo4 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( ICorProfilerInfo4 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( + + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo4 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -10343,14 +11172,14 @@ EXTERN_C const IID IID_ICorProfilerInfo4; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo4 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo4 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -10360,22 +11189,22 @@ EXTERN_C const IID IID_ICorProfilerInfo4; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo4 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( ICorProfilerInfo4 * This, /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo4 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -10384,23 +11213,23 @@ EXTERN_C const IID IID_ICorProfilerInfo4; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( ICorProfilerInfo4 * This, /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -10408,134 +11237,134 @@ EXTERN_C const IID IID_ICorProfilerInfo4; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( ICorProfilerInfo4 * This, /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData); - - HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo4 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo4 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo4 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo4 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo4 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo4 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo4 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( ICorProfilerInfo4 * This, /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo4 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo4 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo4 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo4 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo4 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo4 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo4 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo4 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( ICorProfilerInfo4 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out][in] */ ULONG *pcbArgumentInfo, /* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( ICorProfilerInfo4 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo4 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo4 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo4 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -10545,93 +11374,93 @@ EXTERN_C const IID IID_ICorProfilerInfo4; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo4 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - - HRESULT ( STDMETHODCALLTYPE *EnumThreads )( + + HRESULT ( STDMETHODCALLTYPE *EnumThreads )( ICorProfilerInfo4 * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( + + HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( ICorProfilerInfo4 * This); - - HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( + + HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( ICorProfilerInfo4 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RequestRevert )( + + HRESULT ( STDMETHODCALLTYPE *RequestRevert )( ICorProfilerInfo4 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ], /* [size_is][out] */ HRESULT status[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( ICorProfilerInfo4 * This, /* [in] */ FunctionID functionID, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( ICorProfilerInfo4 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( + + HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( ICorProfilerInfo4 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG cReJitIds, /* [out] */ ULONG *pcReJitIds, /* [length_is][size_is][out] */ ReJITID reJitIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( ICorProfilerInfo4 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( + + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( ICorProfilerInfo4 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( ICorProfilerInfo4 * This, /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize); - + END_INTERFACE } ICorProfilerInfo4Vtbl; @@ -10640,257 +11469,257 @@ EXTERN_C const IID IID_ICorProfilerInfo4; CONST_VTBL struct ICorProfilerInfo4Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo4_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo4_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo4_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo4_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo4_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo4_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo4_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo4_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo4_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo4_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo4_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo4_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo4_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo4_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo4_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo4_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo4_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo4_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo4_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo4_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo4_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) + ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) #define ICorProfilerInfo4_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo4_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo4_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo4_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo4_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) + ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) #define ICorProfilerInfo4_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo4_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo4_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo4_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo4_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo4_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo4_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo4_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo4_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo4_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo4_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) + ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) #define ICorProfilerInfo4_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo4_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) #define ICorProfilerInfo4_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo4_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ - ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) + ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) #define ICorProfilerInfo4_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) #define ICorProfilerInfo4_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo4_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) + ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) #define ICorProfilerInfo4_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \ - ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo4_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo4_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo4_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo4_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo4_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) #define ICorProfilerInfo4_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ - ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo4_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) #define ICorProfilerInfo4_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ - ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo4_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo4_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo4_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo4_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo4_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo4_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo4_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo4_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo4_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) #define ICorProfilerInfo4_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) #define ICorProfilerInfo4_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ - ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) + ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) #define ICorProfilerInfo4_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \ - ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo4_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo4_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) + ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) #define ICorProfilerInfo4_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \ - ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) + ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) #define ICorProfilerInfo4_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) #define ICorProfilerInfo4_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ - ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) + ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) #define ICorProfilerInfo4_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \ - ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) + ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) #define ICorProfilerInfo4_EnumThreads(This,ppEnum) \ - ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) + ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) #define ICorProfilerInfo4_InitializeCurrentThread(This) \ - ( (This)->lpVtbl -> InitializeCurrentThread(This) ) + ( (This)->lpVtbl -> InitializeCurrentThread(This) ) #define ICorProfilerInfo4_RequestReJIT(This,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo4_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \ - ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) + ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) #define ICorProfilerInfo4_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo4_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) #define ICorProfilerInfo4_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \ - ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) + ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) #define ICorProfilerInfo4_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) #define ICorProfilerInfo4_EnumJITedFunctions2(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) #define ICorProfilerInfo4_GetObjectSize2(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) #endif /* COBJMACROS */ @@ -10907,236 +11736,236 @@ EXTERN_C const IID IID_ICorProfilerInfo4; #define __ICorProfilerInfo5_INTERFACE_DEFINED__ /* interface ICorProfilerInfo5 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo5; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("07602928-CE38-4B83-81E7-74ADAF781214") ICorProfilerInfo5 : public ICorProfilerInfo4 { public: - virtual HRESULT STDMETHODCALLTYPE GetEventMask2( + virtual HRESULT STDMETHODCALLTYPE GetEventMask2( /* [out] */ DWORD *pdwEventsLow, /* [out] */ DWORD *pdwEventsHigh) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetEventMask2( + + virtual HRESULT STDMETHODCALLTYPE SetEventMask2( /* [in] */ DWORD dwEventsLow, /* [in] */ DWORD dwEventsHigh) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo5Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo5 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo5 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo5 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo5 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo5 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo5 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo5 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo5 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo5 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo5 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo5 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo5 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo5 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo5 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo5 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo5 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo5 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo5 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo5 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo5 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo5 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo5 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo5 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( + + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo5 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -11144,14 +11973,14 @@ EXTERN_C const IID IID_ICorProfilerInfo5; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo5 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo5 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -11161,22 +11990,22 @@ EXTERN_C const IID IID_ICorProfilerInfo5; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo5 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( ICorProfilerInfo5 * This, /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo5 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -11185,23 +12014,23 @@ EXTERN_C const IID IID_ICorProfilerInfo5; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -11209,134 +12038,134 @@ EXTERN_C const IID IID_ICorProfilerInfo5; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( ICorProfilerInfo5 * This, /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData); - - HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo5 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo5 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo5 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo5 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo5 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo5 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo5 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( ICorProfilerInfo5 * This, /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo5 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo5 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo5 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo5 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo5 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo5 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo5 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo5 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out][in] */ ULONG *pcbArgumentInfo, /* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo5 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo5 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -11346,103 +12175,103 @@ EXTERN_C const IID IID_ICorProfilerInfo5; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo5 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - - HRESULT ( STDMETHODCALLTYPE *EnumThreads )( + + HRESULT ( STDMETHODCALLTYPE *EnumThreads )( ICorProfilerInfo5 * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( + + HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( ICorProfilerInfo5 * This); - - HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( + + HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( ICorProfilerInfo5 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RequestRevert )( + + HRESULT ( STDMETHODCALLTYPE *RequestRevert )( ICorProfilerInfo5 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ], /* [size_is][out] */ HRESULT status[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionID, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( ICorProfilerInfo5 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( + + HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG cReJitIds, /* [out] */ ULONG *pcReJitIds, /* [length_is][size_is][out] */ ReJITID reJitIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( + + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( ICorProfilerInfo5 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( ICorProfilerInfo5 * This, /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( + + HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( ICorProfilerInfo5 * This, /* [out] */ DWORD *pdwEventsLow, /* [out] */ DWORD *pdwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( + + HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( ICorProfilerInfo5 * This, /* [in] */ DWORD dwEventsLow, /* [in] */ DWORD dwEventsHigh); - + END_INTERFACE } ICorProfilerInfo5Vtbl; @@ -11451,264 +12280,264 @@ EXTERN_C const IID IID_ICorProfilerInfo5; CONST_VTBL struct ICorProfilerInfo5Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo5_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo5_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo5_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo5_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo5_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo5_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo5_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo5_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo5_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo5_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo5_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo5_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo5_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo5_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo5_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo5_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo5_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo5_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo5_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo5_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo5_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) + ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) #define ICorProfilerInfo5_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo5_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo5_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo5_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo5_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) + ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) #define ICorProfilerInfo5_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo5_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo5_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo5_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo5_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo5_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo5_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo5_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo5_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo5_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo5_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) + ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) #define ICorProfilerInfo5_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo5_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) #define ICorProfilerInfo5_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo5_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ - ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) + ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) #define ICorProfilerInfo5_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) #define ICorProfilerInfo5_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo5_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) + ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) #define ICorProfilerInfo5_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \ - ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo5_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo5_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo5_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo5_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo5_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) #define ICorProfilerInfo5_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ - ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo5_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) #define ICorProfilerInfo5_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ - ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo5_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo5_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo5_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo5_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo5_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo5_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo5_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo5_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo5_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) #define ICorProfilerInfo5_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) #define ICorProfilerInfo5_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ - ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) + ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) #define ICorProfilerInfo5_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \ - ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo5_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo5_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) + ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) #define ICorProfilerInfo5_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \ - ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) + ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) #define ICorProfilerInfo5_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) #define ICorProfilerInfo5_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ - ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) + ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) #define ICorProfilerInfo5_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \ - ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) + ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) #define ICorProfilerInfo5_EnumThreads(This,ppEnum) \ - ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) + ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) #define ICorProfilerInfo5_InitializeCurrentThread(This) \ - ( (This)->lpVtbl -> InitializeCurrentThread(This) ) + ( (This)->lpVtbl -> InitializeCurrentThread(This) ) #define ICorProfilerInfo5_RequestReJIT(This,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo5_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \ - ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) + ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) #define ICorProfilerInfo5_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo5_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) #define ICorProfilerInfo5_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \ - ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) + ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) #define ICorProfilerInfo5_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) #define ICorProfilerInfo5_EnumJITedFunctions2(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) #define ICorProfilerInfo5_GetObjectSize2(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) #define ICorProfilerInfo5_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \ - ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) + ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) #define ICorProfilerInfo5_SetEventMask2(This,dwEventsLow,dwEventsHigh) \ - ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) + ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) #endif /* COBJMACROS */ @@ -11725,235 +12554,235 @@ EXTERN_C const IID IID_ICorProfilerInfo5; #define __ICorProfilerInfo6_INTERFACE_DEFINED__ /* interface ICorProfilerInfo6 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo6; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("F30A070D-BFFB-46A7-B1D8-8781EF7B698A") ICorProfilerInfo6 : public ICorProfilerInfo5 { public: - virtual HRESULT STDMETHODCALLTYPE EnumNgenModuleMethodsInliningThisMethod( + virtual HRESULT STDMETHODCALLTYPE EnumNgenModuleMethodsInliningThisMethod( /* [in] */ ModuleID inlinersModuleId, /* [in] */ ModuleID inlineeModuleId, /* [in] */ mdMethodDef inlineeMethodId, /* [out] */ BOOL *incompleteData, /* [out] */ ICorProfilerMethodEnum **ppEnum) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo6Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo6 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo6 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo6 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo6 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo6 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo6 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo6 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo6 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo6 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo6 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo6 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo6 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo6 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo6 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo6 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo6 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo6 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo6 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo6 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo6 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo6 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo6 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo6 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( + + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo6 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -11961,14 +12790,14 @@ EXTERN_C const IID IID_ICorProfilerInfo6; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo6 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo6 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -11978,22 +12807,22 @@ EXTERN_C const IID IID_ICorProfilerInfo6; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo6 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( ICorProfilerInfo6 * This, /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo6 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -12002,23 +12831,23 @@ EXTERN_C const IID IID_ICorProfilerInfo6; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -12026,134 +12855,134 @@ EXTERN_C const IID IID_ICorProfilerInfo6; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( ICorProfilerInfo6 * This, /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData); - - HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo6 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo6 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo6 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo6 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo6 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo6 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo6 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( ICorProfilerInfo6 * This, /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo6 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo6 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo6 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo6 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo6 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo6 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo6 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo6 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out][in] */ ULONG *pcbArgumentInfo, /* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo6 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo6 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -12163,111 +12992,111 @@ EXTERN_C const IID IID_ICorProfilerInfo6; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo6 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - - HRESULT ( STDMETHODCALLTYPE *EnumThreads )( + + HRESULT ( STDMETHODCALLTYPE *EnumThreads )( ICorProfilerInfo6 * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( + + HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( ICorProfilerInfo6 * This); - - HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( + + HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( ICorProfilerInfo6 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RequestRevert )( + + HRESULT ( STDMETHODCALLTYPE *RequestRevert )( ICorProfilerInfo6 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ], /* [size_is][out] */ HRESULT status[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionID, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( ICorProfilerInfo6 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( + + HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG cReJitIds, /* [out] */ ULONG *pcReJitIds, /* [length_is][size_is][out] */ ReJITID reJitIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( + + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( ICorProfilerInfo6 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( ICorProfilerInfo6 * This, /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( + + HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( ICorProfilerInfo6 * This, /* [out] */ DWORD *pdwEventsLow, /* [out] */ DWORD *pdwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( + + HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( ICorProfilerInfo6 * This, /* [in] */ DWORD dwEventsLow, /* [in] */ DWORD dwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( + + HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( ICorProfilerInfo6 * This, /* [in] */ ModuleID inlinersModuleId, /* [in] */ ModuleID inlineeModuleId, /* [in] */ mdMethodDef inlineeMethodId, /* [out] */ BOOL *incompleteData, /* [out] */ ICorProfilerMethodEnum **ppEnum); - + END_INTERFACE } ICorProfilerInfo6Vtbl; @@ -12276,268 +13105,268 @@ EXTERN_C const IID IID_ICorProfilerInfo6; CONST_VTBL struct ICorProfilerInfo6Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo6_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo6_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo6_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo6_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo6_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo6_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo6_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo6_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo6_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo6_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo6_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo6_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo6_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo6_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo6_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo6_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo6_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo6_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) + ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) #define ICorProfilerInfo6_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo6_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo6_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo6_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo6_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) + ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) #define ICorProfilerInfo6_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo6_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo6_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo6_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo6_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo6_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo6_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo6_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo6_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo6_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo6_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) + ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) #define ICorProfilerInfo6_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo6_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) #define ICorProfilerInfo6_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo6_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ - ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) + ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) #define ICorProfilerInfo6_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) #define ICorProfilerInfo6_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo6_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) + ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) #define ICorProfilerInfo6_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \ - ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo6_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo6_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo6_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo6_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo6_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) #define ICorProfilerInfo6_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ - ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo6_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) #define ICorProfilerInfo6_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ - ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo6_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo6_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo6_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo6_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo6_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo6_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo6_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo6_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo6_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) #define ICorProfilerInfo6_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) #define ICorProfilerInfo6_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ - ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) + ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) #define ICorProfilerInfo6_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \ - ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo6_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo6_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) + ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) #define ICorProfilerInfo6_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \ - ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) + ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) #define ICorProfilerInfo6_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) #define ICorProfilerInfo6_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ - ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) + ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) #define ICorProfilerInfo6_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \ - ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) + ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) #define ICorProfilerInfo6_EnumThreads(This,ppEnum) \ - ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) + ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) #define ICorProfilerInfo6_InitializeCurrentThread(This) \ - ( (This)->lpVtbl -> InitializeCurrentThread(This) ) + ( (This)->lpVtbl -> InitializeCurrentThread(This) ) #define ICorProfilerInfo6_RequestReJIT(This,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo6_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \ - ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) + ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) #define ICorProfilerInfo6_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo6_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) #define ICorProfilerInfo6_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \ - ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) + ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) #define ICorProfilerInfo6_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) #define ICorProfilerInfo6_EnumJITedFunctions2(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) #define ICorProfilerInfo6_GetObjectSize2(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) #define ICorProfilerInfo6_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \ - ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) + ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) #define ICorProfilerInfo6_SetEventMask2(This,dwEventsLow,dwEventsHigh) \ - ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) + ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) #define ICorProfilerInfo6_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \ - ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) + ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) #endif /* COBJMACROS */ @@ -12554,242 +13383,242 @@ EXTERN_C const IID IID_ICorProfilerInfo6; #define __ICorProfilerInfo7_INTERFACE_DEFINED__ /* interface ICorProfilerInfo7 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo7; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("9AEECC0D-63E0-4187-8C00-E312F503F663") ICorProfilerInfo7 : public ICorProfilerInfo6 { public: - virtual HRESULT STDMETHODCALLTYPE ApplyMetaData( + virtual HRESULT STDMETHODCALLTYPE ApplyMetaData( /* [in] */ ModuleID moduleId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetInMemorySymbolsLength( + + virtual HRESULT STDMETHODCALLTYPE GetInMemorySymbolsLength( /* [in] */ ModuleID moduleId, /* [out] */ DWORD *pCountSymbolBytes) = 0; - - virtual HRESULT STDMETHODCALLTYPE ReadInMemorySymbols( + + virtual HRESULT STDMETHODCALLTYPE ReadInMemorySymbols( /* [in] */ ModuleID moduleId, /* [in] */ DWORD symbolsReadOffset, /* [out] */ BYTE *pSymbolBytes, /* [in] */ DWORD countSymbolBytes, /* [out] */ DWORD *pCountSymbolBytesRead) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo7Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo7 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo7 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo7 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo7 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo7 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo7 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo7 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo7 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo7 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo7 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo7 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo7 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo7 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo7 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo7 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo7 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo7 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo7 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo7 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo7 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo7 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo7 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo7 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( + + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo7 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -12797,14 +13626,14 @@ EXTERN_C const IID IID_ICorProfilerInfo7; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo7 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo7 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -12814,22 +13643,22 @@ EXTERN_C const IID IID_ICorProfilerInfo7; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo7 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( ICorProfilerInfo7 * This, /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo7 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -12838,23 +13667,23 @@ EXTERN_C const IID IID_ICorProfilerInfo7; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -12862,134 +13691,134 @@ EXTERN_C const IID IID_ICorProfilerInfo7; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( ICorProfilerInfo7 * This, /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData); - - HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo7 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo7 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo7 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo7 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo7 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo7 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo7 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( ICorProfilerInfo7 * This, /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo7 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo7 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo7 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo7 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo7 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo7 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo7 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo7 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out][in] */ ULONG *pcbArgumentInfo, /* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo7 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo7 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -12999,128 +13828,128 @@ EXTERN_C const IID IID_ICorProfilerInfo7; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo7 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - - HRESULT ( STDMETHODCALLTYPE *EnumThreads )( + + HRESULT ( STDMETHODCALLTYPE *EnumThreads )( ICorProfilerInfo7 * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( + + HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( ICorProfilerInfo7 * This); - - HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( + + HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( ICorProfilerInfo7 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RequestRevert )( + + HRESULT ( STDMETHODCALLTYPE *RequestRevert )( ICorProfilerInfo7 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ], /* [size_is][out] */ HRESULT status[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionID, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( ICorProfilerInfo7 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( + + HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG cReJitIds, /* [out] */ ULONG *pcReJitIds, /* [length_is][size_is][out] */ ReJITID reJitIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( + + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( ICorProfilerInfo7 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( ICorProfilerInfo7 * This, /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( + + HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( ICorProfilerInfo7 * This, /* [out] */ DWORD *pdwEventsLow, /* [out] */ DWORD *pdwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( + + HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( ICorProfilerInfo7 * This, /* [in] */ DWORD dwEventsLow, /* [in] */ DWORD dwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( + + HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( ICorProfilerInfo7 * This, /* [in] */ ModuleID inlinersModuleId, /* [in] */ ModuleID inlineeModuleId, /* [in] */ mdMethodDef inlineeMethodId, /* [out] */ BOOL *incompleteData, /* [out] */ ICorProfilerMethodEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( + + HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( + + HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [out] */ DWORD *pCountSymbolBytes); - - HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( + + HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD symbolsReadOffset, /* [out] */ BYTE *pSymbolBytes, /* [in] */ DWORD countSymbolBytes, /* [out] */ DWORD *pCountSymbolBytesRead); - + END_INTERFACE } ICorProfilerInfo7Vtbl; @@ -13129,278 +13958,278 @@ EXTERN_C const IID IID_ICorProfilerInfo7; CONST_VTBL struct ICorProfilerInfo7Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo7_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo7_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo7_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo7_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo7_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo7_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo7_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo7_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo7_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo7_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo7_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo7_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo7_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo7_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo7_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo7_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo7_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo7_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo7_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo7_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo7_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) + ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) #define ICorProfilerInfo7_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo7_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo7_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo7_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo7_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) + ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) #define ICorProfilerInfo7_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo7_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo7_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo7_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo7_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo7_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo7_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo7_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo7_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo7_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo7_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) + ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) #define ICorProfilerInfo7_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo7_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) #define ICorProfilerInfo7_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo7_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ - ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) + ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) #define ICorProfilerInfo7_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) #define ICorProfilerInfo7_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo7_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) + ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) #define ICorProfilerInfo7_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \ - ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo7_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo7_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo7_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo7_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo7_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) #define ICorProfilerInfo7_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ - ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo7_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) #define ICorProfilerInfo7_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ - ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo7_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo7_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo7_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo7_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo7_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo7_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo7_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo7_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo7_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) #define ICorProfilerInfo7_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) #define ICorProfilerInfo7_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ - ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) + ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) #define ICorProfilerInfo7_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \ - ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo7_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo7_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) + ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) #define ICorProfilerInfo7_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \ - ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) + ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) #define ICorProfilerInfo7_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) #define ICorProfilerInfo7_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ - ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) + ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) #define ICorProfilerInfo7_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \ - ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) + ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) #define ICorProfilerInfo7_EnumThreads(This,ppEnum) \ - ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) + ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) #define ICorProfilerInfo7_InitializeCurrentThread(This) \ - ( (This)->lpVtbl -> InitializeCurrentThread(This) ) + ( (This)->lpVtbl -> InitializeCurrentThread(This) ) #define ICorProfilerInfo7_RequestReJIT(This,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo7_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \ - ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) + ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) #define ICorProfilerInfo7_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo7_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) #define ICorProfilerInfo7_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \ - ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) + ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) #define ICorProfilerInfo7_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) #define ICorProfilerInfo7_EnumJITedFunctions2(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) #define ICorProfilerInfo7_GetObjectSize2(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) #define ICorProfilerInfo7_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \ - ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) + ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) #define ICorProfilerInfo7_SetEventMask2(This,dwEventsLow,dwEventsHigh) \ - ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) + ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) #define ICorProfilerInfo7_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \ - ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) + ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) #define ICorProfilerInfo7_ApplyMetaData(This,moduleId) \ - ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) + ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) #define ICorProfilerInfo7_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) \ - ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) + ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) #define ICorProfilerInfo7_ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) \ - ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) + ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) #endif /* COBJMACROS */ @@ -13417,27 +14246,27 @@ EXTERN_C const IID IID_ICorProfilerInfo7; #define __ICorProfilerInfo8_INTERFACE_DEFINED__ /* interface ICorProfilerInfo8 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo8; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("C5AC80A6-782E-4716-8044-39598C60CFBF") ICorProfilerInfo8 : public ICorProfilerInfo7 { public: - virtual HRESULT STDMETHODCALLTYPE IsFunctionDynamic( + virtual HRESULT STDMETHODCALLTYPE IsFunctionDynamic( /* [in] */ FunctionID functionId, /* [out] */ BOOL *isDynamic) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunctionFromIP3( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionFromIP3( /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *functionId, /* [out] */ ReJITID *pReJitId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDynamicFunctionInfo( + + virtual HRESULT STDMETHODCALLTYPE GetDynamicFunctionInfo( /* [in] */ FunctionID functionId, /* [out] */ ModuleID *moduleId, /* [out] */ PCCOR_SIGNATURE *ppvSig, @@ -13445,218 +14274,218 @@ EXTERN_C const IID IID_ICorProfilerInfo8; /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, /* [out] */ WCHAR wszName[ ]) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo8Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo8 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo8 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo8 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo8 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo8 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo8 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo8 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo8 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo8 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo8 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo8 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo8 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo8 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo8 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo8 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo8 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo8 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo8 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo8 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo8 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo8 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo8 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo8 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( + + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo8 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -13664,14 +14493,14 @@ EXTERN_C const IID IID_ICorProfilerInfo8; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo8 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo8 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -13681,22 +14510,22 @@ EXTERN_C const IID IID_ICorProfilerInfo8; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo8 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( ICorProfilerInfo8 * This, /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo8 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -13705,23 +14534,23 @@ EXTERN_C const IID IID_ICorProfilerInfo8; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -13729,134 +14558,134 @@ EXTERN_C const IID IID_ICorProfilerInfo8; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( ICorProfilerInfo8 * This, /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData); - - HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo8 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo8 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo8 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo8 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo8 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo8 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo8 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( ICorProfilerInfo8 * This, /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo8 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo8 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo8 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo8 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo8 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo8 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo8 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo8 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out][in] */ ULONG *pcbArgumentInfo, /* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo8 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo8 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -13866,140 +14695,140 @@ EXTERN_C const IID IID_ICorProfilerInfo8; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo8 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - - HRESULT ( STDMETHODCALLTYPE *EnumThreads )( + + HRESULT ( STDMETHODCALLTYPE *EnumThreads )( ICorProfilerInfo8 * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( + + HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( ICorProfilerInfo8 * This); - - HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( + + HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( ICorProfilerInfo8 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RequestRevert )( + + HRESULT ( STDMETHODCALLTYPE *RequestRevert )( ICorProfilerInfo8 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ], /* [size_is][out] */ HRESULT status[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionID, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( ICorProfilerInfo8 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( + + HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG cReJitIds, /* [out] */ ULONG *pcReJitIds, /* [length_is][size_is][out] */ ReJITID reJitIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( + + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( ICorProfilerInfo8 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( ICorProfilerInfo8 * This, /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( + + HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( ICorProfilerInfo8 * This, /* [out] */ DWORD *pdwEventsLow, /* [out] */ DWORD *pdwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( + + HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( ICorProfilerInfo8 * This, /* [in] */ DWORD dwEventsLow, /* [in] */ DWORD dwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( + + HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( ICorProfilerInfo8 * This, /* [in] */ ModuleID inlinersModuleId, /* [in] */ ModuleID inlineeModuleId, /* [in] */ mdMethodDef inlineeMethodId, /* [out] */ BOOL *incompleteData, /* [out] */ ICorProfilerMethodEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( + + HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( + + HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [out] */ DWORD *pCountSymbolBytes); - - HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( + + HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD symbolsReadOffset, /* [out] */ BYTE *pSymbolBytes, /* [in] */ DWORD countSymbolBytes, /* [out] */ DWORD *pCountSymbolBytesRead); - - HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( + + HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *isDynamic); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( ICorProfilerInfo8 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *functionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId, /* [out] */ ModuleID *moduleId, @@ -14008,7 +14837,7 @@ EXTERN_C const IID IID_ICorProfilerInfo8; /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, /* [out] */ WCHAR wszName[ ]); - + END_INTERFACE } ICorProfilerInfo8Vtbl; @@ -14017,288 +14846,288 @@ EXTERN_C const IID IID_ICorProfilerInfo8; CONST_VTBL struct ICorProfilerInfo8Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo8_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo8_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo8_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo8_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo8_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo8_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo8_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo8_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo8_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo8_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo8_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo8_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo8_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo8_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo8_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo8_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo8_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo8_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo8_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo8_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo8_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) + ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) #define ICorProfilerInfo8_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo8_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo8_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo8_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo8_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) + ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) #define ICorProfilerInfo8_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo8_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo8_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo8_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo8_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo8_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo8_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo8_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo8_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo8_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo8_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) + ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) #define ICorProfilerInfo8_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo8_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) #define ICorProfilerInfo8_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo8_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ - ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) + ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) #define ICorProfilerInfo8_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) #define ICorProfilerInfo8_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo8_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) + ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) #define ICorProfilerInfo8_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \ - ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo8_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo8_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo8_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo8_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo8_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) #define ICorProfilerInfo8_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ - ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo8_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) #define ICorProfilerInfo8_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ - ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo8_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo8_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo8_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo8_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo8_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo8_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo8_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo8_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo8_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) #define ICorProfilerInfo8_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) #define ICorProfilerInfo8_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ - ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) + ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) #define ICorProfilerInfo8_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \ - ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo8_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo8_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) + ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) #define ICorProfilerInfo8_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \ - ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) + ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) #define ICorProfilerInfo8_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) #define ICorProfilerInfo8_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ - ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) + ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) #define ICorProfilerInfo8_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \ - ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) + ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) #define ICorProfilerInfo8_EnumThreads(This,ppEnum) \ - ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) + ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) #define ICorProfilerInfo8_InitializeCurrentThread(This) \ - ( (This)->lpVtbl -> InitializeCurrentThread(This) ) + ( (This)->lpVtbl -> InitializeCurrentThread(This) ) #define ICorProfilerInfo8_RequestReJIT(This,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo8_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \ - ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) + ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) #define ICorProfilerInfo8_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo8_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) #define ICorProfilerInfo8_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \ - ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) + ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) #define ICorProfilerInfo8_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) #define ICorProfilerInfo8_EnumJITedFunctions2(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) #define ICorProfilerInfo8_GetObjectSize2(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) #define ICorProfilerInfo8_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \ - ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) + ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) #define ICorProfilerInfo8_SetEventMask2(This,dwEventsLow,dwEventsHigh) \ - ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) + ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) #define ICorProfilerInfo8_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \ - ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) + ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) #define ICorProfilerInfo8_ApplyMetaData(This,moduleId) \ - ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) + ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) #define ICorProfilerInfo8_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) \ - ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) + ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) #define ICorProfilerInfo8_ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) \ - ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) + ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) #define ICorProfilerInfo8_IsFunctionDynamic(This,functionId,isDynamic) \ - ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) + ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) #define ICorProfilerInfo8_GetFunctionFromIP3(This,ip,functionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) #define ICorProfilerInfo8_GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) \ - ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) + ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) #endif /* COBJMACROS */ @@ -14315,247 +15144,247 @@ EXTERN_C const IID IID_ICorProfilerInfo8; #define __ICorProfilerInfo9_INTERFACE_DEFINED__ /* interface ICorProfilerInfo9 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo9; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("008170DB-F8CC-4796-9A51-DC8AA0B47012") ICorProfilerInfo9 : public ICorProfilerInfo8 { public: - virtual HRESULT STDMETHODCALLTYPE GetNativeCodeStartAddresses( + virtual HRESULT STDMETHODCALLTYPE GetNativeCodeStartAddresses( FunctionID functionID, ReJITID reJitId, ULONG32 cCodeStartAddresses, ULONG32 *pcCodeStartAddresses, UINT_PTR codeStartAddresses[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetILToNativeMapping3( + + virtual HRESULT STDMETHODCALLTYPE GetILToNativeMapping3( UINT_PTR pNativeCodeStartAddress, ULONG32 cMap, ULONG32 *pcMap, COR_DEBUG_IL_TO_NATIVE_MAP map[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCodeInfo4( + + virtual HRESULT STDMETHODCALLTYPE GetCodeInfo4( UINT_PTR pNativeCodeStartAddress, ULONG32 cCodeInfos, ULONG32 *pcCodeInfos, COR_PRF_CODE_INFO codeInfos[ ]) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo9Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo9 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo9 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo9 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo9 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo9 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo9 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo9 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo9 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo9 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo9 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo9 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo9 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo9 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo9 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo9 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo9 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo9 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo9 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo9 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo9 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo9 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo9 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo9 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( + + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo9 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -14563,14 +15392,14 @@ EXTERN_C const IID IID_ICorProfilerInfo9; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo9 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo9 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -14580,22 +15409,22 @@ EXTERN_C const IID IID_ICorProfilerInfo9; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo9 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( ICorProfilerInfo9 * This, /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo9 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -14604,23 +15433,23 @@ EXTERN_C const IID IID_ICorProfilerInfo9; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -14628,134 +15457,134 @@ EXTERN_C const IID IID_ICorProfilerInfo9; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( ICorProfilerInfo9 * This, /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData); - - HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo9 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo9 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo9 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo9 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo9 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo9 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo9 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( ICorProfilerInfo9 * This, /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo9 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo9 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo9 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo9 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo9 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo9 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo9 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo9 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out][in] */ ULONG *pcbArgumentInfo, /* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo9 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo9 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -14765,140 +15594,140 @@ EXTERN_C const IID IID_ICorProfilerInfo9; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo9 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - - HRESULT ( STDMETHODCALLTYPE *EnumThreads )( + + HRESULT ( STDMETHODCALLTYPE *EnumThreads )( ICorProfilerInfo9 * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( + + HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( ICorProfilerInfo9 * This); - - HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( + + HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( ICorProfilerInfo9 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RequestRevert )( + + HRESULT ( STDMETHODCALLTYPE *RequestRevert )( ICorProfilerInfo9 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ], /* [size_is][out] */ HRESULT status[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionID, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( ICorProfilerInfo9 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( + + HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG cReJitIds, /* [out] */ ULONG *pcReJitIds, /* [length_is][size_is][out] */ ReJITID reJitIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( + + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( ICorProfilerInfo9 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( ICorProfilerInfo9 * This, /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( + + HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( ICorProfilerInfo9 * This, /* [out] */ DWORD *pdwEventsLow, /* [out] */ DWORD *pdwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( + + HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( ICorProfilerInfo9 * This, /* [in] */ DWORD dwEventsLow, /* [in] */ DWORD dwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( + + HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( ICorProfilerInfo9 * This, /* [in] */ ModuleID inlinersModuleId, /* [in] */ ModuleID inlineeModuleId, /* [in] */ mdMethodDef inlineeMethodId, /* [out] */ BOOL *incompleteData, /* [out] */ ICorProfilerMethodEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( + + HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( + + HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [out] */ DWORD *pCountSymbolBytes); - - HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( + + HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD symbolsReadOffset, /* [out] */ BYTE *pSymbolBytes, /* [in] */ DWORD countSymbolBytes, /* [out] */ DWORD *pCountSymbolBytesRead); - - HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( + + HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *isDynamic); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( ICorProfilerInfo9 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *functionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId, /* [out] */ ModuleID *moduleId, @@ -14907,29 +15736,29 @@ EXTERN_C const IID IID_ICorProfilerInfo9; /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, /* [out] */ WCHAR wszName[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( + + HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( ICorProfilerInfo9 * This, FunctionID functionID, ReJITID reJitId, ULONG32 cCodeStartAddresses, ULONG32 *pcCodeStartAddresses, UINT_PTR codeStartAddresses[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( ICorProfilerInfo9 * This, UINT_PTR pNativeCodeStartAddress, ULONG32 cMap, ULONG32 *pcMap, COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( ICorProfilerInfo9 * This, UINT_PTR pNativeCodeStartAddress, ULONG32 cCodeInfos, ULONG32 *pcCodeInfos, COR_PRF_CODE_INFO codeInfos[ ]); - + END_INTERFACE } ICorProfilerInfo9Vtbl; @@ -14938,298 +15767,298 @@ EXTERN_C const IID IID_ICorProfilerInfo9; CONST_VTBL struct ICorProfilerInfo9Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo9_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo9_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo9_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo9_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo9_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo9_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo9_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo9_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo9_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo9_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo9_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo9_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo9_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo9_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo9_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo9_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo9_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo9_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo9_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo9_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo9_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) + ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) #define ICorProfilerInfo9_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo9_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo9_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo9_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo9_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) + ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) #define ICorProfilerInfo9_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo9_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo9_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo9_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo9_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo9_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo9_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo9_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo9_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo9_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo9_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) + ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) #define ICorProfilerInfo9_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo9_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) #define ICorProfilerInfo9_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo9_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ - ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) + ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) #define ICorProfilerInfo9_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) #define ICorProfilerInfo9_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo9_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) + ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) #define ICorProfilerInfo9_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \ - ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo9_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo9_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo9_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo9_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo9_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) #define ICorProfilerInfo9_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ - ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo9_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) #define ICorProfilerInfo9_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ - ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo9_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo9_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo9_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo9_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo9_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo9_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo9_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo9_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo9_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) #define ICorProfilerInfo9_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) #define ICorProfilerInfo9_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ - ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) + ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) #define ICorProfilerInfo9_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \ - ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo9_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo9_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) + ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) #define ICorProfilerInfo9_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \ - ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) + ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) #define ICorProfilerInfo9_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) #define ICorProfilerInfo9_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ - ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) + ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) #define ICorProfilerInfo9_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \ - ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) + ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) #define ICorProfilerInfo9_EnumThreads(This,ppEnum) \ - ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) + ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) #define ICorProfilerInfo9_InitializeCurrentThread(This) \ - ( (This)->lpVtbl -> InitializeCurrentThread(This) ) + ( (This)->lpVtbl -> InitializeCurrentThread(This) ) #define ICorProfilerInfo9_RequestReJIT(This,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo9_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \ - ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) + ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) #define ICorProfilerInfo9_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo9_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) #define ICorProfilerInfo9_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \ - ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) + ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) #define ICorProfilerInfo9_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) #define ICorProfilerInfo9_EnumJITedFunctions2(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) #define ICorProfilerInfo9_GetObjectSize2(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) #define ICorProfilerInfo9_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \ - ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) + ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) #define ICorProfilerInfo9_SetEventMask2(This,dwEventsLow,dwEventsHigh) \ - ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) + ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) #define ICorProfilerInfo9_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \ - ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) + ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) #define ICorProfilerInfo9_ApplyMetaData(This,moduleId) \ - ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) + ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) #define ICorProfilerInfo9_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) \ - ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) + ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) #define ICorProfilerInfo9_ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) \ - ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) + ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) #define ICorProfilerInfo9_IsFunctionDynamic(This,functionId,isDynamic) \ - ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) + ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) #define ICorProfilerInfo9_GetFunctionFromIP3(This,ip,functionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) #define ICorProfilerInfo9_GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) \ - ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) + ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) #define ICorProfilerInfo9_GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) \ - ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) + ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) #define ICorProfilerInfo9_GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) #define ICorProfilerInfo9_GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) #endif /* COBJMACROS */ @@ -15246,250 +16075,250 @@ EXTERN_C const IID IID_ICorProfilerInfo9; #define __ICorProfilerInfo10_INTERFACE_DEFINED__ /* interface ICorProfilerInfo10 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo10; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("2F1B5152-C869-40C9-AA5F-3ABE026BD720") ICorProfilerInfo10 : public ICorProfilerInfo9 { public: - virtual HRESULT STDMETHODCALLTYPE EnumerateObjectReferences( + virtual HRESULT STDMETHODCALLTYPE EnumerateObjectReferences( ObjectID objectId, ObjectReferenceCallback callback, void *clientData) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsFrozenObject( + + virtual HRESULT STDMETHODCALLTYPE IsFrozenObject( ObjectID objectId, BOOL *pbFrozen) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLOHObjectSizeThreshold( + + virtual HRESULT STDMETHODCALLTYPE GetLOHObjectSizeThreshold( DWORD *pThreshold) = 0; - - virtual HRESULT STDMETHODCALLTYPE RequestReJITWithInliners( + + virtual HRESULT STDMETHODCALLTYPE RequestReJITWithInliners( /* [in] */ DWORD dwRejitFlags, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]) = 0; - + virtual HRESULT STDMETHODCALLTYPE SuspendRuntime( void) = 0; - + virtual HRESULT STDMETHODCALLTYPE ResumeRuntime( void) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo10Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo10 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo10 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo10 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo10 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo10 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo10 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo10 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo10 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo10 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo10 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo10 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo10 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo10 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo10 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo10 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo10 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo10 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo10 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo10 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo10 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo10 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo10 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo10 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( + + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo10 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -15497,14 +16326,14 @@ EXTERN_C const IID IID_ICorProfilerInfo10; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo10 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo10 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -15514,22 +16343,22 @@ EXTERN_C const IID IID_ICorProfilerInfo10; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo10 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( ICorProfilerInfo10 * This, /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo10 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -15538,23 +16367,23 @@ EXTERN_C const IID IID_ICorProfilerInfo10; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -15562,134 +16391,134 @@ EXTERN_C const IID IID_ICorProfilerInfo10; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( ICorProfilerInfo10 * This, /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData); - - HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo10 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo10 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo10 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo10 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo10 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo10 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo10 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( ICorProfilerInfo10 * This, /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo10 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo10 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo10 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo10 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo10 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo10 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo10 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo10 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out][in] */ ULONG *pcbArgumentInfo, /* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo10 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo10 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -15699,140 +16528,140 @@ EXTERN_C const IID IID_ICorProfilerInfo10; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo10 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - - HRESULT ( STDMETHODCALLTYPE *EnumThreads )( + + HRESULT ( STDMETHODCALLTYPE *EnumThreads )( ICorProfilerInfo10 * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( + + HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( ICorProfilerInfo10 * This); - - HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( + + HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( ICorProfilerInfo10 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RequestRevert )( + + HRESULT ( STDMETHODCALLTYPE *RequestRevert )( ICorProfilerInfo10 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ], /* [size_is][out] */ HRESULT status[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionID, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( ICorProfilerInfo10 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( + + HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG cReJitIds, /* [out] */ ULONG *pcReJitIds, /* [length_is][size_is][out] */ ReJITID reJitIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( + + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( ICorProfilerInfo10 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( ICorProfilerInfo10 * This, /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( + + HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( ICorProfilerInfo10 * This, /* [out] */ DWORD *pdwEventsLow, /* [out] */ DWORD *pdwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( + + HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( ICorProfilerInfo10 * This, /* [in] */ DWORD dwEventsLow, /* [in] */ DWORD dwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( + + HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( ICorProfilerInfo10 * This, /* [in] */ ModuleID inlinersModuleId, /* [in] */ ModuleID inlineeModuleId, /* [in] */ mdMethodDef inlineeMethodId, /* [out] */ BOOL *incompleteData, /* [out] */ ICorProfilerMethodEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( + + HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( + + HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [out] */ DWORD *pCountSymbolBytes); - - HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( + + HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD symbolsReadOffset, /* [out] */ BYTE *pSymbolBytes, /* [in] */ DWORD countSymbolBytes, /* [out] */ DWORD *pCountSymbolBytesRead); - - HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( + + HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *isDynamic); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( ICorProfilerInfo10 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *functionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId, /* [out] */ ModuleID *moduleId, @@ -15841,57 +16670,57 @@ EXTERN_C const IID IID_ICorProfilerInfo10; /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, /* [out] */ WCHAR wszName[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( + + HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( ICorProfilerInfo10 * This, FunctionID functionID, ReJITID reJitId, ULONG32 cCodeStartAddresses, ULONG32 *pcCodeStartAddresses, UINT_PTR codeStartAddresses[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( ICorProfilerInfo10 * This, UINT_PTR pNativeCodeStartAddress, ULONG32 cMap, ULONG32 *pcMap, COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( ICorProfilerInfo10 * This, UINT_PTR pNativeCodeStartAddress, ULONG32 cCodeInfos, ULONG32 *pcCodeInfos, COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )( + + HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )( ICorProfilerInfo10 * This, ObjectID objectId, ObjectReferenceCallback callback, void *clientData); - - HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )( + + HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )( ICorProfilerInfo10 * This, ObjectID objectId, BOOL *pbFrozen); - - HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )( + + HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )( ICorProfilerInfo10 * This, DWORD *pThreshold); - - HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )( + + HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )( ICorProfilerInfo10 * This, /* [in] */ DWORD dwRejitFlags, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )( + + HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )( ICorProfilerInfo10 * This); - - HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )( + + HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )( ICorProfilerInfo10 * This); - + END_INTERFACE } ICorProfilerInfo10Vtbl; @@ -15900,317 +16729,317 @@ EXTERN_C const IID IID_ICorProfilerInfo10; CONST_VTBL struct ICorProfilerInfo10Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo10_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo10_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo10_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo10_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo10_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo10_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo10_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo10_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo10_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo10_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo10_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo10_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo10_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo10_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo10_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo10_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo10_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo10_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo10_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo10_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo10_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) + ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) #define ICorProfilerInfo10_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo10_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo10_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo10_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo10_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) + ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) #define ICorProfilerInfo10_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo10_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo10_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo10_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo10_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo10_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo10_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo10_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo10_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo10_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo10_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) + ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) #define ICorProfilerInfo10_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo10_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) #define ICorProfilerInfo10_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo10_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ - ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) + ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) #define ICorProfilerInfo10_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) #define ICorProfilerInfo10_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo10_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) + ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) #define ICorProfilerInfo10_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \ - ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo10_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo10_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo10_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo10_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo10_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) #define ICorProfilerInfo10_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ - ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo10_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) #define ICorProfilerInfo10_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ - ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo10_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo10_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo10_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo10_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo10_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo10_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo10_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo10_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo10_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) #define ICorProfilerInfo10_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) #define ICorProfilerInfo10_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ - ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) + ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) #define ICorProfilerInfo10_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \ - ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo10_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo10_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) + ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) #define ICorProfilerInfo10_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \ - ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) + ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) #define ICorProfilerInfo10_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) #define ICorProfilerInfo10_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ - ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) + ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) #define ICorProfilerInfo10_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \ - ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) + ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) #define ICorProfilerInfo10_EnumThreads(This,ppEnum) \ - ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) + ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) #define ICorProfilerInfo10_InitializeCurrentThread(This) \ - ( (This)->lpVtbl -> InitializeCurrentThread(This) ) + ( (This)->lpVtbl -> InitializeCurrentThread(This) ) #define ICorProfilerInfo10_RequestReJIT(This,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo10_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \ - ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) + ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) #define ICorProfilerInfo10_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo10_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) #define ICorProfilerInfo10_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \ - ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) + ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) #define ICorProfilerInfo10_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) #define ICorProfilerInfo10_EnumJITedFunctions2(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) #define ICorProfilerInfo10_GetObjectSize2(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) #define ICorProfilerInfo10_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \ - ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) + ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) #define ICorProfilerInfo10_SetEventMask2(This,dwEventsLow,dwEventsHigh) \ - ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) + ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) #define ICorProfilerInfo10_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \ - ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) + ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) #define ICorProfilerInfo10_ApplyMetaData(This,moduleId) \ - ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) + ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) #define ICorProfilerInfo10_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) \ - ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) + ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) #define ICorProfilerInfo10_ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) \ - ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) + ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) #define ICorProfilerInfo10_IsFunctionDynamic(This,functionId,isDynamic) \ - ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) + ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) #define ICorProfilerInfo10_GetFunctionFromIP3(This,ip,functionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) #define ICorProfilerInfo10_GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) \ - ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) + ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) #define ICorProfilerInfo10_GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) \ - ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) + ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) #define ICorProfilerInfo10_GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) #define ICorProfilerInfo10_GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo10_EnumerateObjectReferences(This,objectId,callback,clientData) \ - ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) ) + ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) ) #define ICorProfilerInfo10_IsFrozenObject(This,objectId,pbFrozen) \ - ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) ) + ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) ) #define ICorProfilerInfo10_GetLOHObjectSizeThreshold(This,pThreshold) \ - ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) ) + ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) ) #define ICorProfilerInfo10_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo10_SuspendRuntime(This) \ - ( (This)->lpVtbl -> SuspendRuntime(This) ) + ( (This)->lpVtbl -> SuspendRuntime(This) ) #define ICorProfilerInfo10_ResumeRuntime(This) \ - ( (This)->lpVtbl -> ResumeRuntime(This) ) + ( (This)->lpVtbl -> ResumeRuntime(This) ) #endif /* COBJMACROS */ @@ -16227,239 +17056,239 @@ EXTERN_C const IID IID_ICorProfilerInfo10; #define __ICorProfilerInfo11_INTERFACE_DEFINED__ /* interface ICorProfilerInfo11 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo11; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("06398876-8987-4154-B621-40A00D6E4D04") ICorProfilerInfo11 : public ICorProfilerInfo10 { public: - virtual HRESULT STDMETHODCALLTYPE GetEnvironmentVariable( + virtual HRESULT STDMETHODCALLTYPE GetEnvironmentVariable( /* [string][in] */ const WCHAR *szName, /* [in] */ ULONG cchValue, /* [out] */ ULONG *pcchValue, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchValue, *pcchValue) WCHAR szValue[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetEnvironmentVariable( + + virtual HRESULT STDMETHODCALLTYPE SetEnvironmentVariable( /* [string][in] */ const WCHAR *szName, /* [string][in] */ const WCHAR *szValue) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo11Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo11 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo11 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo11 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo11 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo11 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo11 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo11 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo11 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo11 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo11 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo11 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo11 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo11 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo11 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo11 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo11 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo11 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo11 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo11 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo11 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo11 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo11 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo11 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( + + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo11 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -16467,14 +17296,14 @@ EXTERN_C const IID IID_ICorProfilerInfo11; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo11 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo11 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -16484,22 +17313,22 @@ EXTERN_C const IID IID_ICorProfilerInfo11; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo11 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( ICorProfilerInfo11 * This, /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo11 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -16508,23 +17337,23 @@ EXTERN_C const IID IID_ICorProfilerInfo11; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -16532,134 +17361,134 @@ EXTERN_C const IID IID_ICorProfilerInfo11; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( ICorProfilerInfo11 * This, /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData); - - HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo11 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo11 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo11 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo11 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo11 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo11 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo11 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( ICorProfilerInfo11 * This, /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo11 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo11 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo11 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo11 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo11 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo11 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo11 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo11 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out][in] */ ULONG *pcbArgumentInfo, /* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo11 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo11 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -16669,140 +17498,140 @@ EXTERN_C const IID IID_ICorProfilerInfo11; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo11 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - - HRESULT ( STDMETHODCALLTYPE *EnumThreads )( + + HRESULT ( STDMETHODCALLTYPE *EnumThreads )( ICorProfilerInfo11 * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( + + HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( ICorProfilerInfo11 * This); - - HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( + + HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( ICorProfilerInfo11 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RequestRevert )( + + HRESULT ( STDMETHODCALLTYPE *RequestRevert )( ICorProfilerInfo11 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ], /* [size_is][out] */ HRESULT status[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionID, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( ICorProfilerInfo11 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( + + HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG cReJitIds, /* [out] */ ULONG *pcReJitIds, /* [length_is][size_is][out] */ ReJITID reJitIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( + + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( ICorProfilerInfo11 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( ICorProfilerInfo11 * This, /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( + + HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( ICorProfilerInfo11 * This, /* [out] */ DWORD *pdwEventsLow, /* [out] */ DWORD *pdwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( + + HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( ICorProfilerInfo11 * This, /* [in] */ DWORD dwEventsLow, /* [in] */ DWORD dwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( + + HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( ICorProfilerInfo11 * This, /* [in] */ ModuleID inlinersModuleId, /* [in] */ ModuleID inlineeModuleId, /* [in] */ mdMethodDef inlineeMethodId, /* [out] */ BOOL *incompleteData, /* [out] */ ICorProfilerMethodEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( + + HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( + + HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [out] */ DWORD *pCountSymbolBytes); - - HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( + + HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD symbolsReadOffset, /* [out] */ BYTE *pSymbolBytes, /* [in] */ DWORD countSymbolBytes, /* [out] */ DWORD *pCountSymbolBytesRead); - - HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( + + HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *isDynamic); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( ICorProfilerInfo11 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *functionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId, /* [out] */ ModuleID *moduleId, @@ -16811,70 +17640,70 @@ EXTERN_C const IID IID_ICorProfilerInfo11; /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, /* [out] */ WCHAR wszName[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( + + HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( ICorProfilerInfo11 * This, FunctionID functionID, ReJITID reJitId, ULONG32 cCodeStartAddresses, ULONG32 *pcCodeStartAddresses, UINT_PTR codeStartAddresses[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( ICorProfilerInfo11 * This, UINT_PTR pNativeCodeStartAddress, ULONG32 cMap, ULONG32 *pcMap, COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( ICorProfilerInfo11 * This, UINT_PTR pNativeCodeStartAddress, ULONG32 cCodeInfos, ULONG32 *pcCodeInfos, COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )( + + HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )( ICorProfilerInfo11 * This, ObjectID objectId, ObjectReferenceCallback callback, void *clientData); - - HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )( + + HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )( ICorProfilerInfo11 * This, ObjectID objectId, BOOL *pbFrozen); - - HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )( + + HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )( ICorProfilerInfo11 * This, DWORD *pThreshold); - - HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )( + + HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )( ICorProfilerInfo11 * This, /* [in] */ DWORD dwRejitFlags, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )( + + HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )( ICorProfilerInfo11 * This); - - HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )( + + HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )( ICorProfilerInfo11 * This); - - HRESULT ( STDMETHODCALLTYPE *GetEnvironmentVariable )( + + HRESULT ( STDMETHODCALLTYPE *GetEnvironmentVariable )( ICorProfilerInfo11 * This, /* [string][in] */ const WCHAR *szName, /* [in] */ ULONG cchValue, /* [out] */ ULONG *pcchValue, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchValue, *pcchValue) WCHAR szValue[ ]); - - HRESULT ( STDMETHODCALLTYPE *SetEnvironmentVariable )( + + HRESULT ( STDMETHODCALLTYPE *SetEnvironmentVariable )( ICorProfilerInfo11 * This, /* [string][in] */ const WCHAR *szName, /* [string][in] */ const WCHAR *szValue); - + END_INTERFACE } ICorProfilerInfo11Vtbl; @@ -16883,324 +17712,324 @@ EXTERN_C const IID IID_ICorProfilerInfo11; CONST_VTBL struct ICorProfilerInfo11Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo11_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo11_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo11_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo11_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo11_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo11_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo11_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo11_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo11_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo11_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo11_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo11_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo11_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo11_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo11_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo11_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo11_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo11_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo11_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo11_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo11_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) + ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) #define ICorProfilerInfo11_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo11_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo11_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo11_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo11_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) + ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) #define ICorProfilerInfo11_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo11_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo11_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo11_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo11_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo11_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo11_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo11_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo11_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo11_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo11_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) + ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) #define ICorProfilerInfo11_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo11_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) #define ICorProfilerInfo11_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo11_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ - ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) + ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) #define ICorProfilerInfo11_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) #define ICorProfilerInfo11_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo11_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) + ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) #define ICorProfilerInfo11_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \ - ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo11_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo11_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo11_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo11_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo11_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) #define ICorProfilerInfo11_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ - ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo11_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) #define ICorProfilerInfo11_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ - ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo11_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo11_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo11_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo11_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo11_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo11_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo11_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo11_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo11_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) #define ICorProfilerInfo11_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) #define ICorProfilerInfo11_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ - ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) + ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) #define ICorProfilerInfo11_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \ - ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo11_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo11_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) + ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) #define ICorProfilerInfo11_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \ - ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) + ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) #define ICorProfilerInfo11_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) #define ICorProfilerInfo11_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ - ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) + ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) #define ICorProfilerInfo11_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \ - ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) + ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) #define ICorProfilerInfo11_EnumThreads(This,ppEnum) \ - ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) + ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) #define ICorProfilerInfo11_InitializeCurrentThread(This) \ - ( (This)->lpVtbl -> InitializeCurrentThread(This) ) + ( (This)->lpVtbl -> InitializeCurrentThread(This) ) #define ICorProfilerInfo11_RequestReJIT(This,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo11_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \ - ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) + ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) #define ICorProfilerInfo11_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo11_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) #define ICorProfilerInfo11_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \ - ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) + ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) #define ICorProfilerInfo11_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) #define ICorProfilerInfo11_EnumJITedFunctions2(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) #define ICorProfilerInfo11_GetObjectSize2(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) #define ICorProfilerInfo11_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \ - ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) + ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) #define ICorProfilerInfo11_SetEventMask2(This,dwEventsLow,dwEventsHigh) \ - ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) + ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) #define ICorProfilerInfo11_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \ - ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) + ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) #define ICorProfilerInfo11_ApplyMetaData(This,moduleId) \ - ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) + ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) #define ICorProfilerInfo11_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) \ - ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) + ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) #define ICorProfilerInfo11_ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) \ - ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) + ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) #define ICorProfilerInfo11_IsFunctionDynamic(This,functionId,isDynamic) \ - ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) + ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) #define ICorProfilerInfo11_GetFunctionFromIP3(This,ip,functionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) #define ICorProfilerInfo11_GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) \ - ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) + ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) #define ICorProfilerInfo11_GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) \ - ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) + ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) #define ICorProfilerInfo11_GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) #define ICorProfilerInfo11_GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo11_EnumerateObjectReferences(This,objectId,callback,clientData) \ - ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) ) + ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) ) #define ICorProfilerInfo11_IsFrozenObject(This,objectId,pbFrozen) \ - ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) ) + ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) ) #define ICorProfilerInfo11_GetLOHObjectSizeThreshold(This,pThreshold) \ - ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) ) + ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) ) #define ICorProfilerInfo11_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo11_SuspendRuntime(This) \ - ( (This)->lpVtbl -> SuspendRuntime(This) ) + ( (This)->lpVtbl -> SuspendRuntime(This) ) #define ICorProfilerInfo11_ResumeRuntime(This) \ - ( (This)->lpVtbl -> ResumeRuntime(This) ) + ( (This)->lpVtbl -> ResumeRuntime(This) ) #define ICorProfilerInfo11_GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) \ - ( (This)->lpVtbl -> GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) ) + ( (This)->lpVtbl -> GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) ) #define ICorProfilerInfo11_SetEnvironmentVariable(This,szName,szValue) \ - ( (This)->lpVtbl -> SetEnvironmentVariable(This,szName,szValue) ) + ( (This)->lpVtbl -> SetEnvironmentVariable(This,szName,szValue) ) #endif /* COBJMACROS */ @@ -17217,23 +18046,41 @@ EXTERN_C const IID IID_ICorProfilerInfo11; #define __ICorProfilerInfo12_INTERFACE_DEFINED__ /* interface ICorProfilerInfo12 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo12; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("27b24ccd-1cb1-47c5-96ee-98190dc30959") ICorProfilerInfo12 : public ICorProfilerInfo11 { public: - virtual HRESULT STDMETHODCALLTYPE EventPipeCreateProvider( + virtual HRESULT STDMETHODCALLTYPE EventPipeStartSession( + /* [in] */ const WCHAR *szProviderName, + /* [in] */ UINT32 cProviderConfigs, + /* [size_is][in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[ ], + /* [in] */ BOOL requestRundown, + /* [in] */ BOOL requestSamples, + /* [out] */ EVENTPIPE_SESSION *pSession) = 0; + + virtual HRESULT STDMETHODCALLTYPE EventPipeStopSession( + /* [in] */ EVENTPIPE_SESSION session) = 0; + + virtual HRESULT STDMETHODCALLTYPE EventPipeCreateProvider( /* [string][in] */ const WCHAR *szName, - /* [out] */ EVENTPIPE_PROVIDER *pProviderHandle) = 0; - - virtual HRESULT STDMETHODCALLTYPE EventPipeDefineEvent( - /* [in] */ EVENTPIPE_PROVIDER provHandle, + /* [out] */ EVENTPIPE_PROVIDER *pProvider) = 0; + + virtual HRESULT STDMETHODCALLTYPE EventPipeGetProviderInfo( + /* [in] */ EVENTPIPE_PROVIDER provider, + /* [in] */ ULONG cchName, + /* [out] */ ULONG *pcchName, + /* [annotation][out] */ + _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ]) = 0; + + virtual HRESULT STDMETHODCALLTYPE EventPipeDefineEvent( + /* [in] */ EVENTPIPE_PROVIDER provider, /* [string][in] */ const WCHAR *szName, /* [in] */ UINT32 eventID, /* [in] */ UINT64 keywords, @@ -17243,226 +18090,226 @@ EXTERN_C const IID IID_ICorProfilerInfo12; /* [in] */ BOOL needStack, /* [in] */ UINT32 cParamDescs, /* [size_is][in] */ COR_PRF_EVENTPIPE_PARAM_DESC pParamDescs[ ], - /* [out] */ EVENTPIPE_EVENT *pEventHandle) = 0; - - virtual HRESULT STDMETHODCALLTYPE EventPipeWriteEvent( - /* [in] */ EVENTPIPE_EVENT eventHandle, + /* [out] */ EVENTPIPE_EVENT *pEvent) = 0; + + virtual HRESULT STDMETHODCALLTYPE EventPipeWriteEvent( + /* [in] */ EVENTPIPE_EVENT event, /* [in] */ UINT32 cData, /* [size_is][in] */ COR_PRF_EVENT_DATA data[ ], /* [in] */ LPCGUID pActivityId, /* [in] */ LPCGUID pRelatedActivityId) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo12Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo12 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo12 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo12 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo12 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo12 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo12 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo12 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo12 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo12 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo12 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo12 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo12 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo12 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo12 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo12 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo12 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo12 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo12 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo12 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo12 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo12 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo12 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo12 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( + + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo12 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -17470,14 +18317,14 @@ EXTERN_C const IID IID_ICorProfilerInfo12; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo12 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo12 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -17487,22 +18334,22 @@ EXTERN_C const IID IID_ICorProfilerInfo12; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo12 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( ICorProfilerInfo12 * This, /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo12 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -17511,23 +18358,23 @@ EXTERN_C const IID IID_ICorProfilerInfo12; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -17535,134 +18382,134 @@ EXTERN_C const IID IID_ICorProfilerInfo12; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( ICorProfilerInfo12 * This, /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData); - - HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo12 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo12 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo12 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo12 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo12 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo12 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo12 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( ICorProfilerInfo12 * This, /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo12 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo12 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo12 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo12 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo12 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo12 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo12 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo12 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out][in] */ ULONG *pcbArgumentInfo, /* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, /* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo12 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo12 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -17672,140 +18519,140 @@ EXTERN_C const IID IID_ICorProfilerInfo12; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo12 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - - HRESULT ( STDMETHODCALLTYPE *EnumThreads )( + + HRESULT ( STDMETHODCALLTYPE *EnumThreads )( ICorProfilerInfo12 * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( + + HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( ICorProfilerInfo12 * This); - - HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( + + HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( ICorProfilerInfo12 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RequestRevert )( + + HRESULT ( STDMETHODCALLTYPE *RequestRevert )( ICorProfilerInfo12 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ], /* [size_is][out] */ HRESULT status[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionID, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( ICorProfilerInfo12 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( + + HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG cReJitIds, /* [out] */ ULONG *pcReJitIds, /* [length_is][size_is][out] */ ReJITID reJitIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( + + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( ICorProfilerInfo12 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( ICorProfilerInfo12 * This, /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( + + HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( ICorProfilerInfo12 * This, /* [out] */ DWORD *pdwEventsLow, /* [out] */ DWORD *pdwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( + + HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( ICorProfilerInfo12 * This, /* [in] */ DWORD dwEventsLow, /* [in] */ DWORD dwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( + + HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( ICorProfilerInfo12 * This, /* [in] */ ModuleID inlinersModuleId, /* [in] */ ModuleID inlineeModuleId, /* [in] */ mdMethodDef inlineeMethodId, /* [out] */ BOOL *incompleteData, /* [out] */ ICorProfilerMethodEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( + + HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( + + HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [out] */ DWORD *pCountSymbolBytes); - - HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( + + HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD symbolsReadOffset, /* [out] */ BYTE *pSymbolBytes, /* [in] */ DWORD countSymbolBytes, /* [out] */ DWORD *pCountSymbolBytesRead); - - HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( + + HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *isDynamic); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( + + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( ICorProfilerInfo12 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *functionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( + + HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId, /* [out] */ ModuleID *moduleId, @@ -17814,78 +18661,99 @@ EXTERN_C const IID IID_ICorProfilerInfo12; /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, /* [out] */ WCHAR wszName[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( + + HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( ICorProfilerInfo12 * This, FunctionID functionID, ReJITID reJitId, ULONG32 cCodeStartAddresses, ULONG32 *pcCodeStartAddresses, UINT_PTR codeStartAddresses[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( + + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( ICorProfilerInfo12 * This, UINT_PTR pNativeCodeStartAddress, ULONG32 cMap, ULONG32 *pcMap, COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( + + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( ICorProfilerInfo12 * This, UINT_PTR pNativeCodeStartAddress, ULONG32 cCodeInfos, ULONG32 *pcCodeInfos, COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )( + + HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )( ICorProfilerInfo12 * This, ObjectID objectId, ObjectReferenceCallback callback, void *clientData); - - HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )( + + HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )( ICorProfilerInfo12 * This, ObjectID objectId, BOOL *pbFrozen); - - HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )( + + HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )( ICorProfilerInfo12 * This, DWORD *pThreshold); - - HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )( + + HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )( ICorProfilerInfo12 * This, /* [in] */ DWORD dwRejitFlags, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )( + + HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )( ICorProfilerInfo12 * This); - - HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )( + + HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )( ICorProfilerInfo12 * This); - - HRESULT ( STDMETHODCALLTYPE *GetEnvironmentVariable )( + + HRESULT ( STDMETHODCALLTYPE *GetEnvironmentVariable )( ICorProfilerInfo12 * This, /* [string][in] */ const WCHAR *szName, /* [in] */ ULONG cchValue, /* [out] */ ULONG *pcchValue, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchValue, *pcchValue) WCHAR szValue[ ]); - - HRESULT ( STDMETHODCALLTYPE *SetEnvironmentVariable )( + + HRESULT ( STDMETHODCALLTYPE *SetEnvironmentVariable )( ICorProfilerInfo12 * This, /* [string][in] */ const WCHAR *szName, /* [string][in] */ const WCHAR *szValue); - - HRESULT ( STDMETHODCALLTYPE *EventPipeCreateProvider )( + + HRESULT ( STDMETHODCALLTYPE *EventPipeStartSession )( + ICorProfilerInfo12 * This, + /* [in] */ const WCHAR *szProviderName, + /* [in] */ UINT32 cProviderConfigs, + /* [size_is][in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[ ], + /* [in] */ BOOL requestRundown, + /* [in] */ BOOL requestSamples, + /* [out] */ EVENTPIPE_SESSION *pSession); + + HRESULT ( STDMETHODCALLTYPE *EventPipeStopSession )( + ICorProfilerInfo12 * This, + /* [in] */ EVENTPIPE_SESSION session); + + HRESULT ( STDMETHODCALLTYPE *EventPipeCreateProvider )( ICorProfilerInfo12 * This, /* [string][in] */ const WCHAR *szName, - /* [out] */ EVENTPIPE_PROVIDER *pProviderHandle); - - HRESULT ( STDMETHODCALLTYPE *EventPipeDefineEvent )( + /* [out] */ EVENTPIPE_PROVIDER *pProvider); + + HRESULT ( STDMETHODCALLTYPE *EventPipeGetProviderInfo )( + ICorProfilerInfo12 * This, + /* [in] */ EVENTPIPE_PROVIDER provider, + /* [in] */ ULONG cchName, + /* [out] */ ULONG *pcchName, + /* [annotation][out] */ + _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ]); + + HRESULT ( STDMETHODCALLTYPE *EventPipeDefineEvent )( ICorProfilerInfo12 * This, - /* [in] */ EVENTPIPE_PROVIDER provHandle, + /* [in] */ EVENTPIPE_PROVIDER provider, /* [string][in] */ const WCHAR *szName, /* [in] */ UINT32 eventID, /* [in] */ UINT64 keywords, @@ -17895,16 +18763,16 @@ EXTERN_C const IID IID_ICorProfilerInfo12; /* [in] */ BOOL needStack, /* [in] */ UINT32 cParamDescs, /* [size_is][in] */ COR_PRF_EVENTPIPE_PARAM_DESC pParamDescs[ ], - /* [out] */ EVENTPIPE_EVENT *pEventHandle); - - HRESULT ( STDMETHODCALLTYPE *EventPipeWriteEvent )( + /* [out] */ EVENTPIPE_EVENT *pEvent); + + HRESULT ( STDMETHODCALLTYPE *EventPipeWriteEvent )( ICorProfilerInfo12 * This, - /* [in] */ EVENTPIPE_EVENT eventHandle, + /* [in] */ EVENTPIPE_EVENT event, /* [in] */ UINT32 cData, /* [size_is][in] */ COR_PRF_EVENT_DATA data[ ], /* [in] */ LPCGUID pActivityId, /* [in] */ LPCGUID pRelatedActivityId); - + END_INTERFACE } ICorProfilerInfo12Vtbl; @@ -17913,334 +18781,343 @@ EXTERN_C const IID IID_ICorProfilerInfo12; CONST_VTBL struct ICorProfilerInfo12Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo12_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo12_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo12_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo12_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo12_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo12_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo12_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo12_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo12_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo12_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo12_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo12_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo12_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo12_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo12_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo12_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo12_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo12_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo12_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo12_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo12_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) + ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) #define ICorProfilerInfo12_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo12_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo12_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo12_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo12_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) + ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) #define ICorProfilerInfo12_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo12_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo12_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo12_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo12_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo12_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo12_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo12_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo12_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo12_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo12_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) + ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) #define ICorProfilerInfo12_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo12_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) #define ICorProfilerInfo12_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo12_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ - ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) + ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) #define ICorProfilerInfo12_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) #define ICorProfilerInfo12_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo12_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) + ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) #define ICorProfilerInfo12_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \ - ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo12_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo12_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo12_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo12_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo12_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) #define ICorProfilerInfo12_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ - ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo12_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) #define ICorProfilerInfo12_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ - ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo12_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo12_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo12_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo12_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo12_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo12_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo12_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo12_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo12_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) #define ICorProfilerInfo12_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) #define ICorProfilerInfo12_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ - ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) + ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) #define ICorProfilerInfo12_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \ - ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo12_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo12_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) + ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) #define ICorProfilerInfo12_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \ - ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) + ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) #define ICorProfilerInfo12_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) #define ICorProfilerInfo12_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ - ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) + ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) #define ICorProfilerInfo12_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \ - ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) + ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) #define ICorProfilerInfo12_EnumThreads(This,ppEnum) \ - ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) + ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) #define ICorProfilerInfo12_InitializeCurrentThread(This) \ - ( (This)->lpVtbl -> InitializeCurrentThread(This) ) + ( (This)->lpVtbl -> InitializeCurrentThread(This) ) #define ICorProfilerInfo12_RequestReJIT(This,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo12_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \ - ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) + ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) #define ICorProfilerInfo12_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo12_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) #define ICorProfilerInfo12_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \ - ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) + ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) #define ICorProfilerInfo12_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) #define ICorProfilerInfo12_EnumJITedFunctions2(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) #define ICorProfilerInfo12_GetObjectSize2(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) #define ICorProfilerInfo12_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \ - ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) + ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) #define ICorProfilerInfo12_SetEventMask2(This,dwEventsLow,dwEventsHigh) \ - ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) + ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) #define ICorProfilerInfo12_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \ - ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) + ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) #define ICorProfilerInfo12_ApplyMetaData(This,moduleId) \ - ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) + ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) #define ICorProfilerInfo12_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) \ - ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) + ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) #define ICorProfilerInfo12_ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) \ - ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) + ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) #define ICorProfilerInfo12_IsFunctionDynamic(This,functionId,isDynamic) \ - ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) + ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) #define ICorProfilerInfo12_GetFunctionFromIP3(This,ip,functionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) #define ICorProfilerInfo12_GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) \ - ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) + ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) #define ICorProfilerInfo12_GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) \ - ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) + ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) #define ICorProfilerInfo12_GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) #define ICorProfilerInfo12_GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo12_EnumerateObjectReferences(This,objectId,callback,clientData) \ - ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) ) + ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) ) #define ICorProfilerInfo12_IsFrozenObject(This,objectId,pbFrozen) \ - ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) ) + ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) ) #define ICorProfilerInfo12_GetLOHObjectSizeThreshold(This,pThreshold) \ - ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) ) + ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) ) #define ICorProfilerInfo12_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo12_SuspendRuntime(This) \ - ( (This)->lpVtbl -> SuspendRuntime(This) ) + ( (This)->lpVtbl -> SuspendRuntime(This) ) #define ICorProfilerInfo12_ResumeRuntime(This) \ - ( (This)->lpVtbl -> ResumeRuntime(This) ) + ( (This)->lpVtbl -> ResumeRuntime(This) ) #define ICorProfilerInfo12_GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) \ - ( (This)->lpVtbl -> GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) ) + ( (This)->lpVtbl -> GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) ) #define ICorProfilerInfo12_SetEnvironmentVariable(This,szName,szValue) \ - ( (This)->lpVtbl -> SetEnvironmentVariable(This,szName,szValue) ) + ( (This)->lpVtbl -> SetEnvironmentVariable(This,szName,szValue) ) + +#define ICorProfilerInfo12_EventPipeStartSession(This,szProviderName,cProviderConfigs,pProviderConfigs,requestRundown,requestSamples,pSession) \ + ( (This)->lpVtbl -> EventPipeStartSession(This,szProviderName,cProviderConfigs,pProviderConfigs,requestRundown,requestSamples,pSession) ) -#define ICorProfilerInfo12_EventPipeCreateProvider(This,szName,pProviderHandle) \ - ( (This)->lpVtbl -> EventPipeCreateProvider(This,szName,pProviderHandle) ) +#define ICorProfilerInfo12_EventPipeStopSession(This,session) \ + ( (This)->lpVtbl -> EventPipeStopSession(This,session) ) -#define ICorProfilerInfo12_EventPipeDefineEvent(This,provHandle,szName,eventID,keywords,eventVersion,level,opcode,needStack,cParamDescs,pParamDescs,pEventHandle) \ - ( (This)->lpVtbl -> EventPipeDefineEvent(This,provHandle,szName,eventID,keywords,eventVersion,level,opcode,needStack,cParamDescs,pParamDescs,pEventHandle) ) +#define ICorProfilerInfo12_EventPipeCreateProvider(This,szName,pProvider) \ + ( (This)->lpVtbl -> EventPipeCreateProvider(This,szName,pProvider) ) -#define ICorProfilerInfo12_EventPipeWriteEvent(This,eventHandle,cData,data,pActivityId,pRelatedActivityId) \ - ( (This)->lpVtbl -> EventPipeWriteEvent(This,eventHandle,cData,data,pActivityId,pRelatedActivityId) ) +#define ICorProfilerInfo12_EventPipeGetProviderInfo(This,provider,cchName,pcchName,szName) \ + ( (This)->lpVtbl -> EventPipeGetProviderInfo(This,provider,cchName,pcchName,szName) ) + +#define ICorProfilerInfo12_EventPipeDefineEvent(This,provider,szName,eventID,keywords,eventVersion,level,opcode,needStack,cParamDescs,pParamDescs,pEvent) \ + ( (This)->lpVtbl -> EventPipeDefineEvent(This,provider,szName,eventID,keywords,eventVersion,level,opcode,needStack,cParamDescs,pParamDescs,pEvent) ) + +#define ICorProfilerInfo12_EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId) \ + ( (This)->lpVtbl -> EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId) ) #endif /* COBJMACROS */ @@ -18257,75 +19134,75 @@ EXTERN_C const IID IID_ICorProfilerInfo12; #define __ICorProfilerMethodEnum_INTERFACE_DEFINED__ /* interface ICorProfilerMethodEnum */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerMethodEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("FCCEE788-0088-454B-A811-C99F298D1942") ICorProfilerMethodEnum : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE Skip( + virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ ULONG celt) = 0; - + virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE Clone( + + virtual HRESULT STDMETHODCALLTYPE Clone( /* [out] */ ICorProfilerMethodEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCount( + + virtual HRESULT STDMETHODCALLTYPE GetCount( /* [out] */ ULONG *pcelt) = 0; - - virtual HRESULT STDMETHODCALLTYPE Next( + + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ COR_PRF_METHOD elements[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerMethodEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerMethodEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerMethodEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerMethodEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorProfilerMethodEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorProfilerMethodEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorProfilerMethodEnum * This, /* [out] */ ICorProfilerMethodEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorProfilerMethodEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + HRESULT ( STDMETHODCALLTYPE *Next )( ICorProfilerMethodEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ COR_PRF_METHOD elements[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorProfilerMethodEnumVtbl; @@ -18334,35 +19211,35 @@ EXTERN_C const IID IID_ICorProfilerMethodEnum; CONST_VTBL struct ICorProfilerMethodEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerMethodEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerMethodEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerMethodEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerMethodEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) + ( (This)->lpVtbl -> Skip(This,celt) ) #define ICorProfilerMethodEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) + ( (This)->lpVtbl -> Reset(This) ) #define ICorProfilerMethodEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) + ( (This)->lpVtbl -> Clone(This,ppEnum) ) #define ICorProfilerMethodEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) + ( (This)->lpVtbl -> GetCount(This,pcelt) ) #define ICorProfilerMethodEnum_Next(This,celt,elements,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,elements,pceltFetched) ) + ( (This)->lpVtbl -> Next(This,celt,elements,pceltFetched) ) #endif /* COBJMACROS */ @@ -18379,75 +19256,75 @@ EXTERN_C const IID IID_ICorProfilerMethodEnum; #define __ICorProfilerThreadEnum_INTERFACE_DEFINED__ /* interface ICorProfilerThreadEnum */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerThreadEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("571194f7-25ed-419f-aa8b-7016b3159701") ICorProfilerThreadEnum : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE Skip( + virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ ULONG celt) = 0; - + virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE Clone( + + virtual HRESULT STDMETHODCALLTYPE Clone( /* [out] */ ICorProfilerThreadEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCount( + + virtual HRESULT STDMETHODCALLTYPE GetCount( /* [out] */ ULONG *pcelt) = 0; - - virtual HRESULT STDMETHODCALLTYPE Next( + + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ThreadID ids[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerThreadEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerThreadEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerThreadEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerThreadEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorProfilerThreadEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorProfilerThreadEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorProfilerThreadEnum * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorProfilerThreadEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + HRESULT ( STDMETHODCALLTYPE *Next )( ICorProfilerThreadEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ThreadID ids[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorProfilerThreadEnumVtbl; @@ -18456,35 +19333,35 @@ EXTERN_C const IID IID_ICorProfilerThreadEnum; CONST_VTBL struct ICorProfilerThreadEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerThreadEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerThreadEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerThreadEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerThreadEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) + ( (This)->lpVtbl -> Skip(This,celt) ) #define ICorProfilerThreadEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) + ( (This)->lpVtbl -> Reset(This) ) #define ICorProfilerThreadEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) + ( (This)->lpVtbl -> Clone(This,ppEnum) ) #define ICorProfilerThreadEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) + ( (This)->lpVtbl -> GetCount(This,pcelt) ) #define ICorProfilerThreadEnum_Next(This,celt,ids,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) ) + ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) ) #endif /* COBJMACROS */ @@ -18501,45 +19378,45 @@ EXTERN_C const IID IID_ICorProfilerThreadEnum; #define __ICorProfilerAssemblyReferenceProvider_INTERFACE_DEFINED__ /* interface ICorProfilerAssemblyReferenceProvider */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerAssemblyReferenceProvider; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("66A78C24-2EEF-4F65-B45F-DD1D8038BF3C") ICorProfilerAssemblyReferenceProvider : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE AddAssemblyReference( + virtual HRESULT STDMETHODCALLTYPE AddAssemblyReference( const COR_PRF_ASSEMBLY_REFERENCE_INFO *pAssemblyRefInfo) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerAssemblyReferenceProviderVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerAssemblyReferenceProvider * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerAssemblyReferenceProvider * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerAssemblyReferenceProvider * This); - - HRESULT ( STDMETHODCALLTYPE *AddAssemblyReference )( + + HRESULT ( STDMETHODCALLTYPE *AddAssemblyReference )( ICorProfilerAssemblyReferenceProvider * This, const COR_PRF_ASSEMBLY_REFERENCE_INFO *pAssemblyRefInfo); - + END_INTERFACE } ICorProfilerAssemblyReferenceProviderVtbl; @@ -18548,23 +19425,23 @@ EXTERN_C const IID IID_ICorProfilerAssemblyReferenceProvider; CONST_VTBL struct ICorProfilerAssemblyReferenceProviderVtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerAssemblyReferenceProvider_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerAssemblyReferenceProvider_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerAssemblyReferenceProvider_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerAssemblyReferenceProvider_AddAssemblyReference(This,pAssemblyRefInfo) \ - ( (This)->lpVtbl -> AddAssemblyReference(This,pAssemblyRefInfo) ) + ( (This)->lpVtbl -> AddAssemblyReference(This,pAssemblyRefInfo) ) #endif /* COBJMACROS */ diff --git a/src/coreclr/src/vm/eetoprofinterfaceimpl.cpp b/src/coreclr/src/vm/eetoprofinterfaceimpl.cpp index bdd615a6094ec..7ccd00f1cda00 100644 --- a/src/coreclr/src/vm/eetoprofinterfaceimpl.cpp +++ b/src/coreclr/src/vm/eetoprofinterfaceimpl.cpp @@ -78,6 +78,10 @@ #include "simplerwlock.hpp" #include "eeconfig.h" +#ifdef FEATURE_PERFTRACING +#include "eventpipeprovider.h" +#endif // FEATURE_PERFTRACING + //--------------------------------------------------------------------------------------- // Helpers @@ -408,6 +412,7 @@ EEToProfInterfaceImpl::EEToProfInterfaceImpl() : m_pCallback7(NULL), m_pCallback8(NULL), m_pCallback9(NULL), + m_pCallback10(NULL), m_hmodProfilerDLL(NULL), m_fLoadedViaAttach(FALSE), m_pProfToEE(NULL), @@ -654,47 +659,41 @@ HRESULT EEToProfInterfaceImpl::CreateProfiler( m_hmodProfilerDLL = hmodProfilerDLL.Extract(); hmodProfilerDLL = NULL; - // The profiler may optionally support ICorProfilerCallback3,4,5,6,7,8,9. Let's check. - - ReleaseHolder pCallback9; + // The profiler may optionally support ICorProfilerCallback3,4,5,6,7,8,9,10. Let's check. + ReleaseHolder pCallback10; hr = m_pCallback2->QueryInterface( - IID_ICorProfilerCallback9, - (LPVOID *)&pCallback9); - if (SUCCEEDED(hr) && (pCallback9 != NULL)) + IID_ICorProfilerCallback10, + (LPVOID *)&pCallback10); + if (SUCCEEDED(hr) && (pCallback10 != NULL)) { - // Nifty. Transfer ownership to this class - _ASSERTE(m_pCallback9 == NULL); - m_pCallback9 = pCallback9.Extract(); - pCallback9 = NULL; - - // And while we're at it, we must now also have an ICorProfilerCallback3,4,5,6,7,8 - // due to inheritance relationship of the interfaces - _ASSERTE(m_pCallback8 == NULL); - m_pCallback8 = static_cast(m_pCallback9); - m_pCallback8->AddRef(); - - _ASSERTE(m_pCallback7 == NULL); - m_pCallback7 = static_cast(m_pCallback8); - m_pCallback7->AddRef(); - - _ASSERTE(m_pCallback6 == NULL); - m_pCallback6 = static_cast(m_pCallback7); - m_pCallback6->AddRef(); - - _ASSERTE(m_pCallback5 == NULL); - m_pCallback5 = static_cast(m_pCallback6); - m_pCallback5->AddRef(); - - _ASSERTE(m_pCallback4 == NULL); - m_pCallback4 = static_cast(m_pCallback5); - m_pCallback4->AddRef(); + _ASSERTE(m_pCallback10 == NULL); + m_pCallback10 = pCallback10.Extract(); + pCallback10 = NULL; + } - _ASSERTE(m_pCallback3 == NULL); - m_pCallback3 = static_cast(m_pCallback4); - m_pCallback3->AddRef(); + // Due to inheritance, if we have an interface we must also have + // all the previous versions + if (m_pCallback10 == NULL) + { + ReleaseHolder pCallback9; + hr = m_pCallback2->QueryInterface( + IID_ICorProfilerCallback9, + (LPVOID *)&pCallback9); + if (SUCCEEDED(hr) && (pCallback9 != NULL)) + { + _ASSERTE(m_pCallback9 == NULL); + m_pCallback9 = pCallback9.Extract(); + pCallback9 = NULL; + } + } + else + { + _ASSERTE(m_pCallback9 == NULL); + m_pCallback9 = static_cast(m_pCallback10); + m_pCallback9->AddRef(); } - if (m_pCallback8 == NULL) + if (m_pCallback9 == NULL) { ReleaseHolder pCallback8; hr = m_pCallback2->QueryInterface( @@ -702,37 +701,19 @@ HRESULT EEToProfInterfaceImpl::CreateProfiler( (LPVOID *)&pCallback8); if (SUCCEEDED(hr) && (pCallback8 != NULL)) { - // Nifty. Transfer ownership to this class _ASSERTE(m_pCallback8 == NULL); m_pCallback8 = pCallback8.Extract(); pCallback8 = NULL; - - // And while we're at it, we must now also have an ICorProfilerCallback3,4,5,6,7 - // due to inheritance relationship of the interfaces - - _ASSERTE(m_pCallback7 == NULL); - m_pCallback7 = static_cast(m_pCallback8); - m_pCallback7->AddRef(); - - _ASSERTE(m_pCallback6 == NULL); - m_pCallback6 = static_cast(m_pCallback7); - m_pCallback6->AddRef(); - - _ASSERTE(m_pCallback5 == NULL); - m_pCallback5 = static_cast(m_pCallback6); - m_pCallback5->AddRef(); - - _ASSERTE(m_pCallback4 == NULL); - m_pCallback4 = static_cast(m_pCallback5); - m_pCallback4->AddRef(); - - _ASSERTE(m_pCallback3 == NULL); - m_pCallback3 = static_cast(m_pCallback4); - m_pCallback3->AddRef(); } } + else + { + _ASSERTE(m_pCallback8 == NULL); + m_pCallback8 = static_cast(m_pCallback9); + m_pCallback8->AddRef(); + } - if (m_pCallback7 == NULL) + if (m_pCallback8 == NULL) { ReleaseHolder pCallback7; hr = m_pCallback2->QueryInterface( @@ -740,33 +721,19 @@ HRESULT EEToProfInterfaceImpl::CreateProfiler( (LPVOID *)&pCallback7); if (SUCCEEDED(hr) && (pCallback7 != NULL)) { - // Nifty. Transfer ownership to this class _ASSERTE(m_pCallback7 == NULL); m_pCallback7 = pCallback7.Extract(); pCallback7 = NULL; - - // And while we're at it, we must now also have an ICorProfilerCallback3,4,5,6 - // due to inheritance relationship of the interfaces - - _ASSERTE(m_pCallback6 == NULL); - m_pCallback6 = static_cast(m_pCallback7); - m_pCallback6->AddRef(); - - _ASSERTE(m_pCallback5 == NULL); - m_pCallback5 = static_cast(m_pCallback6); - m_pCallback5->AddRef(); - - _ASSERTE(m_pCallback4 == NULL); - m_pCallback4 = static_cast(m_pCallback5); - m_pCallback4->AddRef(); - - _ASSERTE(m_pCallback3 == NULL); - m_pCallback3 = static_cast(m_pCallback4); - m_pCallback3->AddRef(); } } + else + { + _ASSERTE(m_pCallback7 == NULL); + m_pCallback7 = static_cast(m_pCallback8); + m_pCallback7->AddRef(); + } - if (m_pCallback6 == NULL) + if (m_pCallback7 == NULL) { ReleaseHolder pCallback6; hr = m_pCallback2->QueryInterface( @@ -774,88 +741,77 @@ HRESULT EEToProfInterfaceImpl::CreateProfiler( (LPVOID *)&pCallback6); if (SUCCEEDED(hr) && (pCallback6 != NULL)) { - // Nifty. Transfer ownership to this class _ASSERTE(m_pCallback6 == NULL); m_pCallback6 = pCallback6.Extract(); pCallback6 = NULL; - - // And while we're at it, we must now also have an ICorProfilerCallback3,4,5 - // due to inheritance relationship of the interfaces - - _ASSERTE(m_pCallback5 == NULL); - m_pCallback5 = static_cast(m_pCallback6); - m_pCallback5->AddRef(); - - _ASSERTE(m_pCallback4 == NULL); - m_pCallback4 = static_cast(m_pCallback5); - m_pCallback4->AddRef(); - - _ASSERTE(m_pCallback3 == NULL); - m_pCallback3 = static_cast(m_pCallback4); - m_pCallback3->AddRef(); } } + else + { + _ASSERTE(m_pCallback6 == NULL); + m_pCallback6 = static_cast(m_pCallback7); + m_pCallback6->AddRef(); + } - if (m_pCallback5 == NULL) + if (m_pCallback6 == NULL) { ReleaseHolder pCallback5; hr = m_pCallback2->QueryInterface( IID_ICorProfilerCallback5, - (LPVOID *) &pCallback5); + (LPVOID *)&pCallback5); if (SUCCEEDED(hr) && (pCallback5 != NULL)) { - // Nifty. Transfer ownership to this class _ASSERTE(m_pCallback5 == NULL); m_pCallback5 = pCallback5.Extract(); pCallback5 = NULL; - - // And while we're at it, we must now also have an ICorProfilerCallback3, and - // ICorProfilerCallback4 due to inheritance relationship of the interfaces - _ASSERTE(m_pCallback4 == NULL); - m_pCallback4 = static_cast(m_pCallback5); - m_pCallback4->AddRef(); - - _ASSERTE(m_pCallback3 == NULL); - m_pCallback3 = static_cast(m_pCallback4); - m_pCallback3->AddRef(); } } + else + { + _ASSERTE(m_pCallback5 == NULL); + m_pCallback5 = static_cast(m_pCallback6); + m_pCallback5->AddRef(); + } - if (m_pCallback4 == NULL) + if (m_pCallback5 == NULL) { ReleaseHolder pCallback4; hr = m_pCallback2->QueryInterface( IID_ICorProfilerCallback4, - (LPVOID *) &pCallback4); + (LPVOID *)&pCallback4); if (SUCCEEDED(hr) && (pCallback4 != NULL)) { - // Nifty. Transfer ownership to this class _ASSERTE(m_pCallback4 == NULL); m_pCallback4 = pCallback4.Extract(); pCallback4 = NULL; - - // And while we're at it, we must now also have an ICorProfilerCallback3, and - // due to inheritance relationship of the interfaces - _ASSERTE(m_pCallback3 == NULL); - m_pCallback3 = static_cast(m_pCallback4); - m_pCallback3->AddRef(); } } + else + { + _ASSERTE(m_pCallback4 == NULL); + m_pCallback4 = static_cast(m_pCallback5); + m_pCallback4->AddRef(); + } - if (m_pCallback3 == NULL) + if (m_pCallback4 == NULL) { ReleaseHolder pCallback3; hr = m_pCallback2->QueryInterface( IID_ICorProfilerCallback3, - (LPVOID *) &pCallback3); + (LPVOID *)&pCallback3); if (SUCCEEDED(hr) && (pCallback3 != NULL)) { - // Nifty. Transfer ownership to this class _ASSERTE(m_pCallback3 == NULL); m_pCallback3 = pCallback3.Extract(); pCallback3 = NULL; } } + else + { + _ASSERTE(m_pCallback3 == NULL); + m_pCallback3 = static_cast(m_pCallback4); + m_pCallback3->AddRef(); + } return S_OK; } @@ -6308,5 +6264,43 @@ HRESULT EEToProfInterfaceImpl::GetAssemblyReferences(LPCWSTR wszAssemblyPath, IA return hr; } +HRESULT EEToProfInterfaceImpl::EventPipeEventDelivered( + EventPipeProvider *provider, + DWORD eventId, + DWORD eventVersion, + ULONG cbMetadataBlob, + LPCBYTE metadataBlob, + DWORD eventThreadId, + ULONG cbEventData, + LPCBYTE eventData, + ULONG numStackFrames, + UINT_PTR stackFrames[]) +{ + CONTRACTL + { + NOTHROW; + GC_NOTRIGGER; + MODE_ANY; + } + CONTRACTL_END; + + CLR_TO_PROFILER_ENTRYPOINT_EX( + kEE2PNoTrigger, + (LF_CORPROF, + LL_INFO1000, + "**PROF: EventPipeEventDelivered.\n")); + +#ifdef FEATURE_PERFTRACING + if (m_pCallback10 == NULL) + { + return S_OK; + } + + EVENTPIPE_PROVIDER providerID = (EVENTPIPE_PROVIDER)provider; + return m_pCallback10->EventPipeEventDelivered(providerID, eventId, eventVersion, cbMetadataBlob, metadataBlob, eventThreadId, cbEventData, eventData, numStackFrames, stackFrames); +#else // FEATURE_PERFTRACING + return E_NOTIMPL; +#endif // FEATURE_PERFTRACING +} #endif // PROFILING_SUPPORTED diff --git a/src/coreclr/src/vm/eetoprofinterfaceimpl.h b/src/coreclr/src/vm/eetoprofinterfaceimpl.h index b00b3969626b9..6f0a0349b02de 100644 --- a/src/coreclr/src/vm/eetoprofinterfaceimpl.h +++ b/src/coreclr/src/vm/eetoprofinterfaceimpl.h @@ -23,6 +23,8 @@ #include "eventtracebase.h" #include "gcinterface.h" +class EventPipeProvider; + class SimpleRWLock; class ProfToEEInterfaceImpl; @@ -485,6 +487,21 @@ class EEToProfInterfaceImpl HRESULT GetAssemblyReferences(LPCWSTR wszAssemblyPath, IAssemblyBindingClosure * pClosure, AssemblyReferenceClosureWalkContextForProfAPI * pContext); + // + // Event Pipe + // + HRESULT EventPipeEventDelivered( + EventPipeProvider *provider, + DWORD eventId, + DWORD eventVersion, + ULONG cbMetadataBlob, + LPCBYTE metadataBlob, + DWORD eventThreadId, + ULONG cbEventData, + LPCBYTE eventData, + ULONG numStackFrames, + UINT_PTR stackFrames[]); + private: // @@ -546,15 +563,16 @@ class EEToProfInterfaceImpl // Pointer to the profiler's implementation of the callback interface(s). // Profilers MUST support ICorProfilerCallback2. - // Profilers MAY optionally support ICorProfilerCallback3,4,5,6,7,8,9 - ICorProfilerCallback2 * m_pCallback2; - ICorProfilerCallback3 * m_pCallback3; - ICorProfilerCallback4 * m_pCallback4; - ICorProfilerCallback5 * m_pCallback5; - ICorProfilerCallback6 * m_pCallback6; - ICorProfilerCallback7 * m_pCallback7; - ICorProfilerCallback8 * m_pCallback8; - ICorProfilerCallback9 * m_pCallback9; + // Profilers MAY optionally support ICorProfilerCallback3,4,5,6,7,8,9,10 + ICorProfilerCallback2 * m_pCallback2; + ICorProfilerCallback3 * m_pCallback3; + ICorProfilerCallback4 * m_pCallback4; + ICorProfilerCallback5 * m_pCallback5; + ICorProfilerCallback6 * m_pCallback6; + ICorProfilerCallback7 * m_pCallback7; + ICorProfilerCallback8 * m_pCallback8; + ICorProfilerCallback9 * m_pCallback9; + ICorProfilerCallback10 * m_pCallback10; HMODULE m_hmodProfilerDLL; diff --git a/src/coreclr/src/vm/eventpipe.cpp b/src/coreclr/src/vm/eventpipe.cpp index be9ad821014b6..2ea070a314bdb 100644 --- a/src/coreclr/src/vm/eventpipe.cpp +++ b/src/coreclr/src/vm/eventpipe.cpp @@ -133,7 +133,7 @@ void EventPipe::FinishInitialize() // // If EventPipe environment variables are specified, parse them and start a session -// +// void EventPipe::EnableViaEnvironmentVariables() { STANDARD_VM_CONTRACT; @@ -299,7 +299,8 @@ EventPipeSessionID EventPipe::Enable( EventPipeSerializationFormat format, const bool rundownRequested, IpcStream *const pStream, - const bool enableSampleProfiler) + const bool enableSampleProfiler, + EventPipeSessionSynchronousCallback callback) { CONTRACTL { @@ -336,7 +337,9 @@ EventPipeSessionID EventPipe::Enable( rundownRequested, circularBufferSizeInMB, pProviders, - numProviders); + numProviders, + false, //TODO: what is the difference between rundownRequested above and this rundownEnabled? + callback); const bool fSuccess = EnableInternal(pSession, pEventPipeProviderCallbackDataQueue, enableSampleProfiler); if (fSuccess) @@ -772,7 +775,7 @@ void EventPipe::WriteEventInternal( { _ASSERTE(pRundownSession != nullptr); if (pRundownSession != nullptr) - pRundownSession->WriteEventBuffered( + pRundownSession->WriteEvent( pThread, event, payload, @@ -804,7 +807,7 @@ void EventPipe::WriteEventInternal( // Disable is allowed to set s_pSessions[i] = NULL at any time and that may have occured in between // the check and the load if (pSession != nullptr) - pSession->WriteEventBuffered( + pSession->WriteEvent( pThread, event, payload, diff --git a/src/coreclr/src/vm/eventpipe.h b/src/coreclr/src/vm/eventpipe.h index 97a79cc5a8da0..86f5865d78b3c 100644 --- a/src/coreclr/src/vm/eventpipe.h +++ b/src/coreclr/src/vm/eventpipe.h @@ -64,7 +64,8 @@ class EventPipe EventPipeSerializationFormat format, const bool rundownRequested, IpcStream *const pStream, - const bool enableSampleProfiler = true); + const bool enableSampleProfiler = true, + EventPipeSessionSynchronousCallback callback = nullptr); // Disable tracing via the event pipe. static void Disable(EventPipeSessionID id); diff --git a/src/coreclr/src/vm/eventpipecommontypes.h b/src/coreclr/src/vm/eventpipecommontypes.h index fe08196312fda..d274082426471 100644 --- a/src/coreclr/src/vm/eventpipecommontypes.h +++ b/src/coreclr/src/vm/eventpipecommontypes.h @@ -9,6 +9,8 @@ #include "common.h" +class EventPipeProvider; + enum class EventPipeEventLevel { LogAlways, @@ -21,6 +23,8 @@ enum class EventPipeEventLevel struct EventPipeProviderConfiguration { + friend class ProfToEEInterfaceImpl; + private: LPCWSTR m_pProviderName = nullptr; UINT64 m_keywords = 0; @@ -115,6 +119,18 @@ class EventPipeProviderCallbackDataQueue SList> list; }; +typedef void (*EventPipeSessionSynchronousCallback)( + EventPipeProvider *provider, + DWORD eventId, + DWORD eventVersion, + ULONG cbMetadataBlob, + LPCBYTE metadataBlob, + DWORD eventThreadId, + ULONG cbEventData, + LPCBYTE eventData, + ULONG numStackFrames, + UINT_PTR stackFrames[]); + #endif // FEATURE_PERFTRACING #endif // __EVENTPIPE_PROVIDERCALLBACKDATA_H__ diff --git a/src/coreclr/src/vm/eventpipesession.cpp b/src/coreclr/src/vm/eventpipesession.cpp index 3c699b7d44581..d808ad5093f54 100644 --- a/src/coreclr/src/vm/eventpipesession.cpp +++ b/src/coreclr/src/vm/eventpipesession.cpp @@ -9,6 +9,7 @@ #include "eventpipeprovider.h" #include "eventpipesession.h" #include "eventpipesessionprovider.h" +#include "eventpipeeventpayload.h" #ifdef FEATURE_PERFTRACING @@ -22,12 +23,14 @@ EventPipeSession::EventPipeSession( uint32_t circularBufferSizeInMB, const EventPipeProviderConfiguration *pProviders, uint32_t numProviders, - bool rundownEnabled) : m_index(index), - m_pProviderList(new EventPipeSessionProviderList(pProviders, numProviders)), - m_rundownEnabled(rundownEnabled), - m_SessionType(sessionType), - m_format(format), - m_rundownRequested(rundownSwitch) + bool rundownEnabled, + EventPipeSessionSynchronousCallback callback) : m_index(index), + m_pProviderList(new EventPipeSessionProviderList(pProviders, numProviders)), + m_rundownEnabled(rundownEnabled), + m_SessionType(sessionType), + m_format(format), + m_rundownRequested(rundownSwitch), + m_synchronousCallback(callback) { CONTRACTL { @@ -39,6 +42,7 @@ EventPipeSession::EventPipeSession( PRECONDITION(circularBufferSizeInMB > 0); PRECONDITION(numProviders > 0 && pProviders != nullptr); PRECONDITION(EventPipe::IsLockOwnedByCurrentThread()); + PRECONDITION((m_synchronousCallback != nullptr) == (m_SessionType == EventPipeSessionType::Synchronous)); } CONTRACTL_END; @@ -305,7 +309,7 @@ bool EventPipeSession::WriteAllBuffersToFile(bool *pEventsWritten) return !m_pFile->HasErrors(); } -bool EventPipeSession::WriteEventBuffered( +bool EventPipeSession::WriteEvent( Thread *pThread, EventPipeEvent &event, EventPipeEventPayload &payload, @@ -323,9 +327,29 @@ bool EventPipeSession::WriteEventBuffered( CONTRACTL_END; // Filter events specific to "this" session based on precomputed flag on provider/events. - return event.IsEnabled(GetMask()) ? - m_pBufferManager->WriteEvent(pThread, *this, event, payload, pActivityId, pRelatedActivityId, pEventThread, pStack) : - false; + if (event.IsEnabled(GetMask())) + { + if (m_synchronousCallback != nullptr) + { + m_synchronousCallback(event.GetProvider(), + event.GetEventID(), + event.GetEventVersion(), + event.GetMetadataLength(), + event.GetMetadata(), + pEventThread == nullptr ? 0 : pEventThread->GetThreadId(), + payload.GetSize(), + payload.GetFlatData(), + pStack == nullptr ? 0 : pStack->GetSize(), + pStack == nullptr ? nullptr : reinterpret_cast(pStack->GetPointer())); + return true; + } + else + { + return m_pBufferManager->WriteEvent(pThread, *this, event, payload, pActivityId, pRelatedActivityId, pEventThread, pStack); + } + } + + return false; } void EventPipeSession::WriteSequencePointUnbuffered() @@ -383,6 +407,12 @@ void EventPipeSession::StartStreaming() if (m_SessionType == EventPipeSessionType::IpcStream) CreateIpcStreamingThread(); + + if (m_SessionType == EventPipeSessionType::Synchronous) + { + _ASSERTE(m_pFile == nullptr); + _ASSERTE(!IsIpcStreamingEnabled()); + } } void EventPipeSession::EnableRundown() diff --git a/src/coreclr/src/vm/eventpipesession.h b/src/coreclr/src/vm/eventpipesession.h index cc86d9b9d26ae..5285538d423a0 100644 --- a/src/coreclr/src/vm/eventpipesession.h +++ b/src/coreclr/src/vm/eventpipesession.h @@ -22,7 +22,8 @@ enum class EventPipeSessionType { File, Listener, - IpcStream + IpcStream, + Synchronous }; enum class EventPipeSerializationFormat @@ -68,6 +69,9 @@ class EventPipeSession // For determininig if a particular session needs rundown events const bool m_rundownRequested; + // For synchronous sessions + EventPipeSessionSynchronousCallback m_synchronousCallback; + // Start date and time in UTC. FILETIME m_sessionStartTime; @@ -105,7 +109,9 @@ class EventPipeSession uint32_t circularBufferSizeInMB, const EventPipeProviderConfiguration *pProviders, uint32_t numProviders, - bool rundownEnabled = false); + bool rundownEnabled = false, + EventPipeSessionSynchronousCallback callback = nullptr); + ~EventPipeSession(); uint64_t GetMask() const @@ -190,7 +196,7 @@ class EventPipeSession bool WriteAllBuffersToFile(bool *pEventsWritten); - bool WriteEventBuffered( + bool WriteEvent( Thread *pThread, EventPipeEvent &event, EventPipeEventPayload &payload, diff --git a/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp b/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp index ca5e8674da367..bb3f0dce55f21 100644 --- a/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp +++ b/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp @@ -142,6 +142,7 @@ #include "eventpipeprovider.h" #include "eventpipemetadatagenerator.h" #include "eventpipeeventpayload.h" +#include "eventpipesession.h" #endif // FEATURE_PERFTRACING //--------------------------------------------------------------------------------------- @@ -7028,7 +7029,128 @@ HRESULT ProfToEEInterfaceImpl::SetEnvironmentVariable(const WCHAR *szName, const return SetEnvironmentVariableW(szName, szValue) ? S_OK : HRESULT_FROM_WIN32(GetLastError()); } -HRESULT ProfToEEInterfaceImpl::EventPipeCreateProvider(const WCHAR *szName, EVENTPIPE_PROVIDER *pProviderHandle) +HRESULT ProfToEEInterfaceImpl::EventPipeStartSession( + const WCHAR* szProviderName, + UINT32 cProviderConfigs, + COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[], + BOOL requestRundown, + BOOL requestSamples, + EVENTPIPE_SESSION* pSession) +{ + CONTRACTL + { + NOTHROW; + GC_TRIGGERS; + MODE_ANY; + EE_THREAD_NOT_REQUIRED; + } + CONTRACTL_END; + + PROFILER_TO_CLR_ENTRYPOINT_ASYNC_EX(kP2EEAllowableAfterAttach | kP2EETriggers, + (LF_CORPROF, + LL_INFO1000, + "**PROF: EventPipeStartSession.\n")); + +#ifdef FEATURE_PERFTRACING + + static_assert(offsetof(EventPipeProviderConfiguration, m_pProviderName) == offsetof(COR_PRF_EVENTPIPE_PROVIDER_CONFIG, providerName) + && offsetof(EventPipeProviderConfiguration, m_keywords) == offsetof(COR_PRF_EVENTPIPE_PROVIDER_CONFIG, keywords) + && offsetof(EventPipeProviderConfiguration, m_loggingLevel) == offsetof(COR_PRF_EVENTPIPE_PROVIDER_CONFIG, loggingLevel) + && offsetof(EventPipeProviderConfiguration, m_pFilterData) == offsetof(COR_PRF_EVENTPIPE_PROVIDER_CONFIG, filterData) + && sizeof(EventPipeProviderConfiguration) == sizeof(COR_PRF_EVENTPIPE_PROVIDER_CONFIG), + "Layouts of EventPipeProviderConfiguration type and COR_PRF_EVENTPIPE_PROVIDER_CONFIG type do not match!"); + + if (szProviderName == NULL + || cProviderConfigs == 0 + || pProviderConfigs == NULL + || pSession == NULL) + { + return E_INVALIDARG; + } + + HRESULT hr = S_OK; + EX_TRY + { + auto eventPipeFunc = [](EventPipeProvider *provider, + DWORD eventId, + DWORD eventVersion, + ULONG cbMetadataBlob, + LPCBYTE metadataBlob, + DWORD eventThreadId, + ULONG cbEventData, + LPCBYTE eventData, + ULONG numStackFrames, + UINT_PTR stackFrames[]) + { + BEGIN_PIN_PROFILER(CORProfilerIsMonitoringEventPipe()); + g_profControlBlock.pProfInterface->EventPipeEventDelivered(provider, + eventId, + eventVersion, + cbMetadataBlob, + metadataBlob, + eventThreadId, + cbEventData, + eventData, + numStackFrames, + stackFrames); + END_PIN_PROFILER(); + }; + + EventPipeProviderConfiguration *pProviders = reinterpret_cast(pProviderConfigs); + UINT64 sessionID = EventPipe::Enable(NULL, + 100, // circularBufferSizeInMB (shouldn't need this once it's synchronous) + pProviders, + cProviderConfigs, + EventPipeSessionType::Synchronous, + EventPipeSerializationFormat::NetTraceV4, + requestRundown, + NULL, + requestSamples, + eventPipeFunc); + EventPipe::StartStreaming(sessionID); + + *pSession = sessionID; + } + EX_CATCH_HRESULT(hr); + + return hr; +#else // FEATURE_PERFTRACING + return E_NOTIMPL; +#endif // FEATURE_PERFTRACING +} + +HRESULT ProfToEEInterfaceImpl::EventPipeStopSession( + EVENTPIPE_SESSION session) +{ + CONTRACTL + { + NOTHROW; + GC_TRIGGERS; + MODE_ANY; + EE_THREAD_NOT_REQUIRED; + } + CONTRACTL_END; + + PROFILER_TO_CLR_ENTRYPOINT_ASYNC_EX(kP2EEAllowableAfterAttach | kP2EETriggers, + (LF_CORPROF, + LL_INFO1000, + "**PROF: EventPipeStopSession.\n")); + +#ifdef FEATURE_PERFTRACING + HRESULT hr = S_OK; + EX_TRY + { + EventPipe::Disable(session); + } + EX_CATCH_HRESULT(hr); + + return hr; +#else // FEATURE_PERFTRACING + return E_NOTIMPL; +#endif // FEATURE_PERFTRACING +} + +HRESULT ProfToEEInterfaceImpl::EventPipeCreateProvider(const WCHAR *szName, EVENTPIPE_PROVIDER *pProvider) { CONTRACTL { @@ -7045,7 +7167,7 @@ HRESULT ProfToEEInterfaceImpl::EventPipeCreateProvider(const WCHAR *szName, EVEN "**PROF: EventPipeCreateProvider.\n")); #ifdef FEATURE_PERFTRACING - if (szName == NULL || pProviderHandle == NULL) + if (szName == NULL || pProvider == NULL) { return E_INVALIDARG; } @@ -7053,14 +7175,83 @@ HRESULT ProfToEEInterfaceImpl::EventPipeCreateProvider(const WCHAR *szName, EVEN HRESULT hr = S_OK; EX_TRY { - EventPipeProvider *pProvider = EventPipe::CreateProvider(szName, NULL, NULL); - if (pProvider == NULL) + EventPipeProvider *pRealProvider = EventPipe::CreateProvider(szName, NULL, NULL); + if (pRealProvider == NULL) { hr = E_FAIL; } else { - *pProviderHandle = reinterpret_cast(pProvider); + *pProvider = reinterpret_cast(pRealProvider); + } + } + EX_CATCH_HRESULT(hr); + + return hr; +#else // FEATURE_PERFTRACING + return E_NOTIMPL; +#endif // FEATURE_PERFTRACING +} + +HRESULT ProfToEEInterfaceImpl::EventPipeGetProviderInfo( + EVENTPIPE_PROVIDER provider, + ULONG cchName, + ULONG *pcchName, + WCHAR szName[]) +{ + CONTRACTL + { + NOTHROW; + GC_NOTRIGGER; + MODE_ANY; + EE_THREAD_NOT_REQUIRED; + } + CONTRACTL_END; + + PROFILER_TO_CLR_ENTRYPOINT_ASYNC_EX(kP2EEAllowableAfterAttach, + (LF_CORPROF, + LL_INFO1000, + "**PROF: EventPipeGetProviderInfo.\n")); + +#ifdef FEATURE_PERFTRACING + if (cchName == 0 || szName == NULL) + { + // The only thing this API returns is the name, so bail + // if we can't return the name. + return E_INVALIDARG; + } + + EventPipeProvider *pRealProvider = reinterpret_cast(provider); + if (pRealProvider == NULL) + { + // Bogus provider passed in + return E_INVALIDARG; + } + + HRESULT hr = S_OK; + EX_TRY + { + const SString &providerName = pRealProvider->GetProviderName(); + ULONG numChars = providerName.GetCount() + 1; + if (pcchName != NULL) + { + *pcchName = numChars; + } + + if (numChars >= cchName) + { + hr = HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER); + } + else + { + size_t pos = 0; + for (SString::CIterator it = providerName.Begin(); it != providerName.End(); ++it) + { + szName[pos] = *it; + ++pos; + } + + szName[pos] = '\0'; } } EX_CATCH_HRESULT(hr); @@ -7072,7 +7263,7 @@ HRESULT ProfToEEInterfaceImpl::EventPipeCreateProvider(const WCHAR *szName, EVEN } HRESULT ProfToEEInterfaceImpl::EventPipeDefineEvent( - EVENTPIPE_PROVIDER provHandle, + EVENTPIPE_PROVIDER provider, const WCHAR *szName, UINT32 eventID, UINT64 keywords, @@ -7082,7 +7273,7 @@ HRESULT ProfToEEInterfaceImpl::EventPipeDefineEvent( BOOL needStack, UINT32 cParamDescs, COR_PRF_EVENTPIPE_PARAM_DESC pParamDescs[], - EVENTPIPE_EVENT *pEventHandle) + EVENTPIPE_EVENT *pEvent) { CONTRACTL { @@ -7097,9 +7288,10 @@ HRESULT ProfToEEInterfaceImpl::EventPipeDefineEvent( (LF_CORPROF, LL_INFO1000, "**PROF: EventPipeDefineEvent.\n")); + #ifdef FEATURE_PERFTRACING - EventPipeProvider *pProvider = reinterpret_cast(provHandle); - if (pProvider == NULL || szName == NULL || pEventHandle == NULL) + EventPipeProvider *pProvider = reinterpret_cast(provider); + if (pProvider == NULL || szName == NULL || pEvent == NULL) { return E_INVALIDARG; } @@ -7142,7 +7334,7 @@ HRESULT ProfToEEInterfaceImpl::EventPipeDefineEvent( &metadataLength); // Add the event. - EventPipeEvent *pEvent = pProvider->AddEvent( + EventPipeEvent *pRealEvent = pProvider->AddEvent( eventID, keywords, eventVersion, @@ -7151,7 +7343,7 @@ HRESULT ProfToEEInterfaceImpl::EventPipeDefineEvent( pMetadata, (unsigned int)metadataLength); - *pEventHandle = reinterpret_cast(pEvent); + *pEvent = reinterpret_cast(pRealEvent); } EX_CATCH_HRESULT(hr); @@ -7162,7 +7354,7 @@ HRESULT ProfToEEInterfaceImpl::EventPipeDefineEvent( } HRESULT ProfToEEInterfaceImpl::EventPipeWriteEvent( - EVENTPIPE_EVENT eventHandle, + EVENTPIPE_EVENT event, UINT32 cData, COR_PRF_EVENT_DATA data[], LPCGUID pActivityId, @@ -7182,7 +7374,7 @@ HRESULT ProfToEEInterfaceImpl::EventPipeWriteEvent( LL_INFO1000, "**PROF: EventPipeWriteEvent.\n")); #ifdef FEATURE_PERFTRACING - EventPipeEvent *pEvent = reinterpret_cast(eventHandle); + EventPipeEvent *pEvent = reinterpret_cast(event); if (pEvent == NULL) { diff --git a/src/coreclr/src/vm/proftoeeinterfaceimpl.h b/src/coreclr/src/vm/proftoeeinterfaceimpl.h index e00d23c857b55..d5eeb76495d55 100644 --- a/src/coreclr/src/vm/proftoeeinterfaceimpl.h +++ b/src/coreclr/src/vm/proftoeeinterfaceimpl.h @@ -644,12 +644,29 @@ class ProfToEEInterfaceImpl : public ICorProfilerInfo12 // begin ICorProfilerInfo12 + COM_METHOD EventPipeStartSession( + const WCHAR* szProviderName, + UINT32 cProviderConfigs, + COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[], + BOOL requestRundown, + BOOL requestSamples, + EVENTPIPE_SESSION* pSession); + + COM_METHOD EventPipeStopSession( + EVENTPIPE_SESSION session); + COM_METHOD EventPipeCreateProvider( const WCHAR *szName, - EVENTPIPE_PROVIDER *pProviderHandle); + EVENTPIPE_PROVIDER *pProvider); + + COM_METHOD EventPipeGetProviderInfo( + EVENTPIPE_PROVIDER provider, + ULONG cchName, + ULONG *pcchName, + WCHAR szName[]); COM_METHOD EventPipeDefineEvent( - EVENTPIPE_PROVIDER provHandle, + EVENTPIPE_PROVIDER provider, const WCHAR *szName, UINT32 eventID, UINT64 keywords, @@ -659,10 +676,10 @@ class ProfToEEInterfaceImpl : public ICorProfilerInfo12 BOOL needStack, UINT32 cParamDescs, COR_PRF_EVENTPIPE_PARAM_DESC pParamDescs[], - EVENTPIPE_EVENT *pEventHandle); + EVENTPIPE_EVENT *pEvent); COM_METHOD EventPipeWriteEvent( - EVENTPIPE_EVENT eventHandle, + EVENTPIPE_EVENT event, UINT32 cData, COR_PRF_EVENT_DATA data[], LPCGUID pActivityId, From 7e2bbd8c7f55ccc7e770e4e8f2314e0b5b42c0b1 Mon Sep 17 00:00:00 2001 From: David Mason Date: Mon, 25 May 2020 12:47:40 -0700 Subject: [PATCH 02/24] Add provider callback and ability to query provider name --- src/coreclr/src/inc/corprof.idl | 6 +++ src/coreclr/src/vm/eetoprofinterfaceimpl.cpp | 30 +++++++++++ src/coreclr/src/vm/eetoprofinterfaceimpl.h | 2 + src/coreclr/src/vm/eventpipeconfiguration.cpp | 7 +++ src/coreclr/src/vm/proftoeeinterfaceimpl.cpp | 53 +++++++++++++++++++ src/coreclr/src/vm/proftoeeinterfaceimpl.h | 4 ++ 6 files changed, 102 insertions(+) diff --git a/src/coreclr/src/inc/corprof.idl b/src/coreclr/src/inc/corprof.idl index 3f507fac23c52..21932fb5594c0 100644 --- a/src/coreclr/src/inc/corprof.idl +++ b/src/coreclr/src/inc/corprof.idl @@ -2546,6 +2546,8 @@ interface ICorProfilerCallback10 : ICorProfilerCallback9 [in, size_is(cbEventData)] LPCBYTE eventData, [in] ULONG numStackFrames, [in, length_is(numStackFrames)] UINT_PTR stackFrames[]); + + HRESULT EventPipeProviderCreated([in] EVENTPIPE_PROVIDER provider); } /* @@ -4122,6 +4124,10 @@ interface ICorProfilerInfo12 : ICorProfilerInfo11 [in] BOOL requestSamples, [out] EVENTPIPE_SESSION* pSession); + HRESULT EventPipeAddProviderToSession( + [in] EVENTPIPE_SESSION session, + [in] COR_PRF_EVENTPIPE_PROVIDER_CONFIG providerConfig); + HRESULT EventPipeStopSession( [in] EVENTPIPE_SESSION session); diff --git a/src/coreclr/src/vm/eetoprofinterfaceimpl.cpp b/src/coreclr/src/vm/eetoprofinterfaceimpl.cpp index 7ccd00f1cda00..1b8bdfb11c1fa 100644 --- a/src/coreclr/src/vm/eetoprofinterfaceimpl.cpp +++ b/src/coreclr/src/vm/eetoprofinterfaceimpl.cpp @@ -6303,4 +6303,34 @@ HRESULT EEToProfInterfaceImpl::EventPipeEventDelivered( #endif // FEATURE_PERFTRACING } +HRESULT EEToProfInterfaceImpl::EventPipeProviderCreated(EventPipeProvider *provider) +{ + CONTRACTL + { + NOTHROW; + // The profiler will likely call back in to the other EventPipe apis, + // some of which trigger + GC_TRIGGERS; + MODE_ANY; + } + CONTRACTL_END; + + CLR_TO_PROFILER_ENTRYPOINT((LF_CORPROF, + LL_INFO10, + "**PROF: EventPipeProviderCreated.\n" + )); + +#ifdef FEATURE_PERFTRACING + if (m_pCallback10 == NULL) + { + return S_OK; + } + + EVENTPIPE_PROVIDER providerID = (EVENTPIPE_PROVIDER)provider; + return m_pCallback10->EventPipeProviderCreated(providerID); +#else // FEATURE_PERFTRACING + return E_NOTIMPL; +#endif // FEATURE_PERFTRACING +} + #endif // PROFILING_SUPPORTED diff --git a/src/coreclr/src/vm/eetoprofinterfaceimpl.h b/src/coreclr/src/vm/eetoprofinterfaceimpl.h index 6f0a0349b02de..7a9ff6e01a966 100644 --- a/src/coreclr/src/vm/eetoprofinterfaceimpl.h +++ b/src/coreclr/src/vm/eetoprofinterfaceimpl.h @@ -502,6 +502,8 @@ class EEToProfInterfaceImpl ULONG numStackFrames, UINT_PTR stackFrames[]); + HRESULT EventPipeProviderCreated(EventPipeProvider *provider); + private: // diff --git a/src/coreclr/src/vm/eventpipeconfiguration.cpp b/src/coreclr/src/vm/eventpipeconfiguration.cpp index 69c0dd29840d9..8ee643c2d1e9b 100644 --- a/src/coreclr/src/vm/eventpipeconfiguration.cpp +++ b/src/coreclr/src/vm/eventpipeconfiguration.cpp @@ -159,6 +159,13 @@ bool EventPipeConfiguration::RegisterProvider(EventPipeProvider &provider, Event m_pProviderList->InsertTail(new SListElem(&provider)); } + { + // Let the profiler know the provider has been created so it can register if it wants to + BEGIN_PIN_PROFILER(CORProfilerIsMonitoringEventPipe()); + g_profControlBlock.pProfInterface->EventPipeProviderCreated(&provider); + END_PIN_PROFILER(); + } + INT64 keywordForAllSessions; EventPipeEventLevel levelForAllSessions; ComputeKeywordAndLevel(provider, /* out */ keywordForAllSessions, /* out */ levelForAllSessions); diff --git a/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp b/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp index bb3f0dce55f21..e9c27d227b55d 100644 --- a/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp +++ b/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp @@ -143,6 +143,7 @@ #include "eventpipemetadatagenerator.h" #include "eventpipeeventpayload.h" #include "eventpipesession.h" +#include "eventpipesessionprovider.h" #endif // FEATURE_PERFTRACING //--------------------------------------------------------------------------------------- @@ -7119,6 +7120,58 @@ HRESULT ProfToEEInterfaceImpl::EventPipeStartSession( #endif // FEATURE_PERFTRACING } +HRESULT ProfToEEInterfaceImpl::EventPipeAddProviderToSession( + EVENTPIPE_SESSION session, + COR_PRF_EVENTPIPE_PROVIDER_CONFIG providerConfig) +{ + + CONTRACTL + { + NOTHROW; + GC_TRIGGERS; + MODE_ANY; + EE_THREAD_NOT_REQUIRED; + } + CONTRACTL_END; + + PROFILER_TO_CLR_ENTRYPOINT_ASYNC_EX(kP2EEAllowableAfterAttach | kP2EETriggers, + (LF_CORPROF, + LL_INFO1000, + "**PROF: EventPipeAddProviderToSession.\n")); + +#ifdef FEATURE_PERFTRACING + if (providerConfig.providerName == NULL) + { + return E_INVALIDARG; + } + + HRESULT hr = S_OK; + EX_TRY + { + EventPipeSession *pSession = EventPipe::GetSession(session); + if (pSession == NULL) + { + hr = E_INVALIDARG; + } + else + { + EventPipeSessionProvider *pProvider = new EventPipeSessionProvider( + providerConfig.providerName, + providerConfig.keywords, + (EventPipeEventLevel)providerConfig.loggingLevel, + providerConfig.filterData); + + pSession->AddSessionProvider(pProvider); + } + } + EX_CATCH_HRESULT(hr); + + return hr; +#else // FEATURE_PERFTRACING + return E_NOTIMPL; +#endif // FEATURE_PERFTRACING +} + HRESULT ProfToEEInterfaceImpl::EventPipeStopSession( EVENTPIPE_SESSION session) { diff --git a/src/coreclr/src/vm/proftoeeinterfaceimpl.h b/src/coreclr/src/vm/proftoeeinterfaceimpl.h index d5eeb76495d55..bba14608ac605 100644 --- a/src/coreclr/src/vm/proftoeeinterfaceimpl.h +++ b/src/coreclr/src/vm/proftoeeinterfaceimpl.h @@ -652,6 +652,10 @@ class ProfToEEInterfaceImpl : public ICorProfilerInfo12 BOOL requestSamples, EVENTPIPE_SESSION* pSession); + COM_METHOD EventPipeAddProviderToSession( + EVENTPIPE_SESSION session, + COR_PRF_EVENTPIPE_PROVIDER_CONFIG providerConfig); + COM_METHOD EventPipeStopSession( EVENTPIPE_SESSION session); From a6ecda8817401359b6ab044518b8c88a75b26d19 Mon Sep 17 00:00:00 2001 From: David Mason Date: Tue, 26 May 2020 00:33:01 -0700 Subject: [PATCH 03/24] add guids to API --- src/coreclr/src/inc/corprof.idl | 4 +++- src/coreclr/src/vm/eetoprofinterfaceimpl.cpp | 17 +++++++++++++++-- src/coreclr/src/vm/eetoprofinterfaceimpl.h | 4 +++- src/coreclr/src/vm/eventpipecommontypes.h | 4 +++- src/coreclr/src/vm/eventpipesession.cpp | 4 +++- src/coreclr/src/vm/proftoeeinterfaceimpl.cpp | 8 ++++++-- .../eventpipeprofiler/eventpipeprofiler.cpp | 4 ++-- 7 files changed, 35 insertions(+), 10 deletions(-) diff --git a/src/coreclr/src/inc/corprof.idl b/src/coreclr/src/inc/corprof.idl index 21932fb5594c0..3cc028a6bb6c0 100644 --- a/src/coreclr/src/inc/corprof.idl +++ b/src/coreclr/src/inc/corprof.idl @@ -2541,9 +2541,11 @@ interface ICorProfilerCallback10 : ICorProfilerCallback9 [in] DWORD eventVersion, [in] ULONG cbMetadataBlob, [in, size_is(cbMetadataBlob)] LPCBYTE metadataBlob, - [in] DWORD eventThreadId, [in] ULONG cbEventData, [in, size_is(cbEventData)] LPCBYTE eventData, + [in] LPCGUID pActivityId, + [in] LPCGUID pRelatedActivityId, + [in] ThreadID eventThread, [in] ULONG numStackFrames, [in, length_is(numStackFrames)] UINT_PTR stackFrames[]); diff --git a/src/coreclr/src/vm/eetoprofinterfaceimpl.cpp b/src/coreclr/src/vm/eetoprofinterfaceimpl.cpp index 1b8bdfb11c1fa..bd5da913d1f9b 100644 --- a/src/coreclr/src/vm/eetoprofinterfaceimpl.cpp +++ b/src/coreclr/src/vm/eetoprofinterfaceimpl.cpp @@ -6270,9 +6270,11 @@ HRESULT EEToProfInterfaceImpl::EventPipeEventDelivered( DWORD eventVersion, ULONG cbMetadataBlob, LPCBYTE metadataBlob, - DWORD eventThreadId, ULONG cbEventData, LPCBYTE eventData, + LPCGUID pActivityId, + LPCGUID pRelatedActivityId, + Thread *pEventThread, ULONG numStackFrames, UINT_PTR stackFrames[]) { @@ -6297,7 +6299,18 @@ HRESULT EEToProfInterfaceImpl::EventPipeEventDelivered( } EVENTPIPE_PROVIDER providerID = (EVENTPIPE_PROVIDER)provider; - return m_pCallback10->EventPipeEventDelivered(providerID, eventId, eventVersion, cbMetadataBlob, metadataBlob, eventThreadId, cbEventData, eventData, numStackFrames, stackFrames); + return m_pCallback10->EventPipeEventDelivered(providerID, + eventId, + eventVersion, + cbMetadataBlob, + metadataBlob, + cbEventData, + eventData, + pActivityId, + pRelatedActivityId, + reinterpret_cast(pEventThread), + numStackFrames, + stackFrames); #else // FEATURE_PERFTRACING return E_NOTIMPL; #endif // FEATURE_PERFTRACING diff --git a/src/coreclr/src/vm/eetoprofinterfaceimpl.h b/src/coreclr/src/vm/eetoprofinterfaceimpl.h index 7a9ff6e01a966..195d015ebbb18 100644 --- a/src/coreclr/src/vm/eetoprofinterfaceimpl.h +++ b/src/coreclr/src/vm/eetoprofinterfaceimpl.h @@ -496,9 +496,11 @@ class EEToProfInterfaceImpl DWORD eventVersion, ULONG cbMetadataBlob, LPCBYTE metadataBlob, - DWORD eventThreadId, ULONG cbEventData, LPCBYTE eventData, + LPCGUID pActivityId, + LPCGUID pRelatedActivityId, + Thread *pEventThread, ULONG numStackFrames, UINT_PTR stackFrames[]); diff --git a/src/coreclr/src/vm/eventpipecommontypes.h b/src/coreclr/src/vm/eventpipecommontypes.h index d274082426471..8191c94b92bd0 100644 --- a/src/coreclr/src/vm/eventpipecommontypes.h +++ b/src/coreclr/src/vm/eventpipecommontypes.h @@ -125,9 +125,11 @@ typedef void (*EventPipeSessionSynchronousCallback)( DWORD eventVersion, ULONG cbMetadataBlob, LPCBYTE metadataBlob, - DWORD eventThreadId, ULONG cbEventData, LPCBYTE eventData, + LPCGUID pActivityId, + LPCGUID pRelatedActivityId, + Thread *pEventThread, ULONG numStackFrames, UINT_PTR stackFrames[]); diff --git a/src/coreclr/src/vm/eventpipesession.cpp b/src/coreclr/src/vm/eventpipesession.cpp index d808ad5093f54..c2a89781ad7da 100644 --- a/src/coreclr/src/vm/eventpipesession.cpp +++ b/src/coreclr/src/vm/eventpipesession.cpp @@ -336,9 +336,11 @@ bool EventPipeSession::WriteEvent( event.GetEventVersion(), event.GetMetadataLength(), event.GetMetadata(), - pEventThread == nullptr ? 0 : pEventThread->GetThreadId(), payload.GetSize(), payload.GetFlatData(), + pActivityId, + pRelatedActivityId, + pEventThread, pStack == nullptr ? 0 : pStack->GetSize(), pStack == nullptr ? nullptr : reinterpret_cast(pStack->GetPointer())); return true; diff --git a/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp b/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp index e9c27d227b55d..cd2f02d398ddd 100644 --- a/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp +++ b/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp @@ -7077,9 +7077,11 @@ HRESULT ProfToEEInterfaceImpl::EventPipeStartSession( DWORD eventVersion, ULONG cbMetadataBlob, LPCBYTE metadataBlob, - DWORD eventThreadId, ULONG cbEventData, LPCBYTE eventData, + LPCGUID pActivityId, + LPCGUID pRelatedActivityId, + Thread *pEventThread, ULONG numStackFrames, UINT_PTR stackFrames[]) { @@ -7089,9 +7091,11 @@ HRESULT ProfToEEInterfaceImpl::EventPipeStartSession( eventVersion, cbMetadataBlob, metadataBlob, - eventThreadId, cbEventData, eventData, + pActivityId, + pRelatedActivityId, + pEventThread, numStackFrames, stackFrames); END_PIN_PROFILER(); diff --git a/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipeprofiler.cpp b/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipeprofiler.cpp index c4b7bb89aa9e7..68b9a30fe433c 100644 --- a/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipeprofiler.cpp +++ b/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipeprofiler.cpp @@ -259,7 +259,7 @@ HRESULT EventPipeProfiler::FunctionSeen(FunctionID functionID) HRESULT hr = _pCorProfilerInfo12->EventPipeWriteEvent( _allTypesEvent, - sizeof(eventData)/sizeof(eventData[0]), + sizeof(eventData)/sizeof(COR_PRF_EVENT_DATA), eventData, NULL, NULL); @@ -305,9 +305,9 @@ HRESULT EventPipeProfiler::FunctionSeen(FunctionID functionID) { hr = _pCorProfilerInfo12->EventPipeWriteEvent( _emptyEvent, - NULL, 0, NULL, + NULL, NULL); if (FAILED(hr)) { From af29c79afc866e04807f017ced5c038b8039d14a Mon Sep 17 00:00:00 2001 From: David Mason Date: Tue, 26 May 2020 14:09:28 -0700 Subject: [PATCH 04/24] stop creating a buffer manager for synchronous sessions --- src/coreclr/src/vm/eventpipe.cpp | 2 +- src/coreclr/src/vm/eventpipesession.cpp | 36 ++++++++++++++++---- src/coreclr/src/vm/proftoeeinterfaceimpl.cpp | 2 +- 3 files changed, 32 insertions(+), 8 deletions(-) diff --git a/src/coreclr/src/vm/eventpipe.cpp b/src/coreclr/src/vm/eventpipe.cpp index 2ea070a314bdb..7c98169d54685 100644 --- a/src/coreclr/src/vm/eventpipe.cpp +++ b/src/coreclr/src/vm/eventpipe.cpp @@ -308,7 +308,7 @@ EventPipeSessionID EventPipe::Enable( GC_TRIGGERS; MODE_PREEMPTIVE; PRECONDITION(format < EventPipeSerializationFormat::Count); - PRECONDITION(circularBufferSizeInMB > 0); + PRECONDITION(sessionType == EventPipeSessionType::Synchronous || circularBufferSizeInMB > 0); PRECONDITION(numProviders > 0 && pProviders != nullptr); } CONTRACTL_END; diff --git a/src/coreclr/src/vm/eventpipesession.cpp b/src/coreclr/src/vm/eventpipesession.cpp index c2a89781ad7da..6841b59295ccd 100644 --- a/src/coreclr/src/vm/eventpipesession.cpp +++ b/src/coreclr/src/vm/eventpipesession.cpp @@ -30,7 +30,8 @@ EventPipeSession::EventPipeSession( m_SessionType(sessionType), m_format(format), m_rundownRequested(rundownSwitch), - m_synchronousCallback(callback) + m_synchronousCallback(callback), + m_pBufferManager(nullptr) { CONTRACTL { @@ -39,7 +40,7 @@ EventPipeSession::EventPipeSession( MODE_PREEMPTIVE; PRECONDITION(index < EventPipe::MaxNumberOfSessions); PRECONDITION(format < EventPipeSerializationFormat::Count); - PRECONDITION(circularBufferSizeInMB > 0); + PRECONDITION(m_SessionType == EventPipeSessionType::Synchronous || circularBufferSizeInMB > 0); PRECONDITION(numProviders > 0 && pProviders != nullptr); PRECONDITION(EventPipe::IsLockOwnedByCurrentThread()); PRECONDITION((m_synchronousCallback != nullptr) == (m_SessionType == EventPipeSessionType::Synchronous)); @@ -55,7 +56,10 @@ EventPipeSession::EventPipeSession( sequencePointAllocationBudget = 10 * 1024 * 1024; } - m_pBufferManager = new EventPipeBufferManager(this, static_cast(circularBufferSizeInMB) << 20, sequencePointAllocationBudget); + if (m_SessionType != EventPipeSessionType::Synchronous) + { + m_pBufferManager = new EventPipeBufferManager(this, static_cast(circularBufferSizeInMB) << 20, sequencePointAllocationBudget); + } // Create the event pipe file. // A NULL output path means that we should not write the results to a file. @@ -93,7 +97,10 @@ EventPipeSession::~EventPipeSession() CONTRACTL_END; delete m_pProviderList; - delete m_pBufferManager; + if (m_pBufferManager != nullptr) + { + delete m_pBufferManager; + } delete m_pFile; } @@ -297,7 +304,7 @@ bool EventPipeSession::WriteAllBuffersToFile(bool *pEventsWritten) } CONTRACTL_END; - if (m_pFile == nullptr) + if (m_pFile == nullptr || m_pBufferManager == nullptr) return true; // Get the current time stamp. @@ -347,6 +354,7 @@ bool EventPipeSession::WriteEvent( } else { + _ASSERTE(m_pBufferManager != nullptr); return m_pBufferManager->WriteEvent(pThread, *this, event, payload, pActivityId, pRelatedActivityId, pEventThread, pStack); } } @@ -364,7 +372,7 @@ void EventPipeSession::WriteSequencePointUnbuffered() } CONTRACTL_END; - if (m_pFile == nullptr) + if (m_pFile == nullptr || m_pBufferManager == nullptr) return; EventPipeSequencePoint sequencePoint; m_pBufferManager->InitSequencePointThreadList(&sequencePoint); @@ -382,6 +390,11 @@ EventPipeEventInstance *EventPipeSession::GetNextEvent() } CONTRACTL_END; + if (m_pBufferManager == nullptr) + { + return nullptr; + } + return m_pBufferManager->GetNextEvent(); } @@ -389,6 +402,11 @@ CLREvent *EventPipeSession::GetWaitEvent() { LIMITED_METHOD_CONTRACT; + if (m_pBufferManager == nullptr) + { + return nullptr; + } + return m_pBufferManager->GetWaitEvent(); } @@ -476,6 +494,7 @@ void EventPipeSession::DisableIpcStreamingThread() CONTRACTL_END; _ASSERTE(!g_fProcessDetach); + _ASSERTE(m_pBufferManager != nullptr); // The IPC streaming thread will watch this value and exit // when profiling is disabled. @@ -517,6 +536,11 @@ void EventPipeSession::SuspendWriteEvent() } CONTRACTL_END; + if (m_pBufferManager == nullptr) + { + return; + } + // Force all in-progress writes to either finish or cancel // This is required to ensure we can safely flush and delete the buffers m_pBufferManager->SuspendWriteEvent(GetIndex()); diff --git a/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp b/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp index cd2f02d398ddd..f09d7df1e59be 100644 --- a/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp +++ b/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp @@ -7103,7 +7103,7 @@ HRESULT ProfToEEInterfaceImpl::EventPipeStartSession( EventPipeProviderConfiguration *pProviders = reinterpret_cast(pProviderConfigs); UINT64 sessionID = EventPipe::Enable(NULL, - 100, // circularBufferSizeInMB (shouldn't need this once it's synchronous) + 0, // We don't use a circular buffer since it's synchronous pProviders, cProviderConfigs, EventPipeSessionType::Synchronous, From 7198ac55ae8c5ddfe94908d09fe7360fca4d6649 Mon Sep 17 00:00:00 2001 From: David Mason Date: Tue, 26 May 2020 14:35:58 -0700 Subject: [PATCH 05/24] Take lock before adding provider to session --- src/coreclr/src/vm/eventpipe.cpp | 22 ++++++++++++++++++++ src/coreclr/src/vm/eventpipe.h | 3 +++ src/coreclr/src/vm/eventpipesession.cpp | 1 + src/coreclr/src/vm/proftoeeinterfaceimpl.cpp | 2 +- 4 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/coreclr/src/vm/eventpipe.cpp b/src/coreclr/src/vm/eventpipe.cpp index 7c98169d54685..328fef8f857e5 100644 --- a/src/coreclr/src/vm/eventpipe.cpp +++ b/src/coreclr/src/vm/eventpipe.cpp @@ -639,6 +639,28 @@ EventPipeProvider *EventPipe::GetProvider(const SString &providerName) return s_config.GetProvider(providerName); } +void EventPipe::AddProviderToSession(EventPipeSessionProvider *pProvider, EventPipeSession *pSession) +{ + CONTRACTL + { + THROWS; + GC_TRIGGERS; + MODE_PREEMPTIVE; + } + + CONTRACTL_END; + + if (pProvider == nullptr || pSession == nullptr) + { + return; + } + { + CrstHolder _crst(GetLock()); + + pSession->AddSessionProvider(pProvider); + } +} + void EventPipe::DeleteProvider(EventPipeProvider *pProvider) { CONTRACTL diff --git a/src/coreclr/src/vm/eventpipe.h b/src/coreclr/src/vm/eventpipe.h index 86f5865d78b3c..2942d3f8eeb0f 100644 --- a/src/coreclr/src/vm/eventpipe.h +++ b/src/coreclr/src/vm/eventpipe.h @@ -19,6 +19,7 @@ class EventPipeFile; class EventPipeEventSource; class EventPipeProvider; class EventPipeSession; +class EventPipeSessionProvider; class IpcStream; enum class EventPipeSessionType; enum class EventPipeSerializationFormat; @@ -95,6 +96,8 @@ class EventPipe // Get a provider. static EventPipeProvider *GetProvider(const SString &providerName); + static void AddProviderToSession(EventPipeSessionProvider *pProvider, EventPipeSession *pSession); + // Delete a provider. static void DeleteProvider(EventPipeProvider *pProvider); diff --git a/src/coreclr/src/vm/eventpipesession.cpp b/src/coreclr/src/vm/eventpipesession.cpp index 6841b59295ccd..e3887d26ffc6c 100644 --- a/src/coreclr/src/vm/eventpipesession.cpp +++ b/src/coreclr/src/vm/eventpipesession.cpp @@ -275,6 +275,7 @@ void EventPipeSession::AddSessionProvider(EventPipeSessionProvider *pProvider) THROWS; GC_TRIGGERS; MODE_PREEMPTIVE; + PRECONDITION(EventPipe::IsLockOwnedByCurrentThread()); } CONTRACTL_END; diff --git a/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp b/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp index f09d7df1e59be..f133a2a4c3d6d 100644 --- a/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp +++ b/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp @@ -7165,7 +7165,7 @@ HRESULT ProfToEEInterfaceImpl::EventPipeAddProviderToSession( (EventPipeEventLevel)providerConfig.loggingLevel, providerConfig.filterData); - pSession->AddSessionProvider(pProvider); + EventPipe::AddProviderToSession(pProvider, pSession); } } EX_CATCH_HRESULT(hr); From 7f3642cbb3c8a3696221685bdb07ea8a4a4ce41a Mon Sep 17 00:00:00 2001 From: David Mason Date: Tue, 26 May 2020 15:19:27 -0700 Subject: [PATCH 06/24] fix linux build error --- src/coreclr/src/vm/eventpipesession.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/coreclr/src/vm/eventpipesession.cpp b/src/coreclr/src/vm/eventpipesession.cpp index e3887d26ffc6c..10836de1a4140 100644 --- a/src/coreclr/src/vm/eventpipesession.cpp +++ b/src/coreclr/src/vm/eventpipesession.cpp @@ -26,12 +26,12 @@ EventPipeSession::EventPipeSession( bool rundownEnabled, EventPipeSessionSynchronousCallback callback) : m_index(index), m_pProviderList(new EventPipeSessionProviderList(pProviders, numProviders)), + m_pBufferManager(nullptr), m_rundownEnabled(rundownEnabled), m_SessionType(sessionType), m_format(format), m_rundownRequested(rundownSwitch), - m_synchronousCallback(callback), - m_pBufferManager(nullptr) + m_synchronousCallback(callback) { CONTRACTL { From 1eb39d7981b85e1ea0597bb79670e6cc92a06524 Mon Sep 17 00:00:00 2001 From: David Mason Date: Thu, 28 May 2020 00:57:24 -0700 Subject: [PATCH 07/24] refactoring --- src/coreclr/src/inc/corprof.idl | 9 +- src/coreclr/src/vm/eventpipe.cpp | 1 - src/coreclr/src/vm/eventpipesession.cpp | 3 +- src/coreclr/src/vm/eventpipesession.h | 5 +- src/coreclr/src/vm/proftoeeinterfaceimpl.cpp | 90 +++++++++++--------- src/coreclr/src/vm/proftoeeinterfaceimpl.h | 22 +++-- 6 files changed, 75 insertions(+), 55 deletions(-) diff --git a/src/coreclr/src/inc/corprof.idl b/src/coreclr/src/inc/corprof.idl index 3cc028a6bb6c0..626ae1a5801a0 100644 --- a/src/coreclr/src/inc/corprof.idl +++ b/src/coreclr/src/inc/corprof.idl @@ -4118,12 +4118,11 @@ interface ICorProfilerInfo11 : ICorProfilerInfo10 interface ICorProfilerInfo12 : ICorProfilerInfo11 { HRESULT EventPipeStartSession( - [in] const WCHAR* szProviderName, [in] UINT32 cProviderConfigs, [in, size_is(cProviderConfigs)] COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[], [in] BOOL requestRundown, - [in] BOOL requestSamples, + [in] BOOL requestCPUSamples, [out] EVENTPIPE_SESSION* pSession); HRESULT EventPipeAddProviderToSession( @@ -4134,7 +4133,7 @@ interface ICorProfilerInfo12 : ICorProfilerInfo11 [in] EVENTPIPE_SESSION session); HRESULT EventPipeCreateProvider( - [in, string] const WCHAR *szName, + [in, string] const WCHAR *providerName, [out] EVENTPIPE_PROVIDER *pProvider); HRESULT EventPipeGetProviderInfo( @@ -4142,11 +4141,11 @@ interface ICorProfilerInfo12 : ICorProfilerInfo11 [in] ULONG cchName, [out] ULONG *pcchName, [out, annotation("_Out_writes_to_(cchName, *pcchName)")] - WCHAR szName[]); + WCHAR providerName[]); HRESULT EventPipeDefineEvent( [in] EVENTPIPE_PROVIDER provider, - [in, string] const WCHAR *szName, + [in, string] const WCHAR *eventName, [in] UINT32 eventID, [in] UINT64 keywords, [in] UINT32 eventVersion, diff --git a/src/coreclr/src/vm/eventpipe.cpp b/src/coreclr/src/vm/eventpipe.cpp index 328fef8f857e5..dcec88cdbd99d 100644 --- a/src/coreclr/src/vm/eventpipe.cpp +++ b/src/coreclr/src/vm/eventpipe.cpp @@ -338,7 +338,6 @@ EventPipeSessionID EventPipe::Enable( circularBufferSizeInMB, pProviders, numProviders, - false, //TODO: what is the difference between rundownRequested above and this rundownEnabled? callback); const bool fSuccess = EnableInternal(pSession, pEventPipeProviderCallbackDataQueue, enableSampleProfiler); diff --git a/src/coreclr/src/vm/eventpipesession.cpp b/src/coreclr/src/vm/eventpipesession.cpp index 10836de1a4140..25d3d504b619a 100644 --- a/src/coreclr/src/vm/eventpipesession.cpp +++ b/src/coreclr/src/vm/eventpipesession.cpp @@ -23,11 +23,10 @@ EventPipeSession::EventPipeSession( uint32_t circularBufferSizeInMB, const EventPipeProviderConfiguration *pProviders, uint32_t numProviders, - bool rundownEnabled, EventPipeSessionSynchronousCallback callback) : m_index(index), m_pProviderList(new EventPipeSessionProviderList(pProviders, numProviders)), m_pBufferManager(nullptr), - m_rundownEnabled(rundownEnabled), + m_rundownEnabled(false), m_SessionType(sessionType), m_format(format), m_rundownRequested(rundownSwitch), diff --git a/src/coreclr/src/vm/eventpipesession.h b/src/coreclr/src/vm/eventpipesession.h index 5285538d423a0..acdf4c14bf191 100644 --- a/src/coreclr/src/vm/eventpipesession.h +++ b/src/coreclr/src/vm/eventpipesession.h @@ -109,7 +109,6 @@ class EventPipeSession uint32_t circularBufferSizeInMB, const EventPipeProviderConfiguration *pProviders, uint32_t numProviders, - bool rundownEnabled = false, EventPipeSessionSynchronousCallback callback = nullptr); ~EventPipeSession(); @@ -196,6 +195,10 @@ class EventPipeSession bool WriteAllBuffersToFile(bool *pEventsWritten); + // If a session is non-synchronous (i.e. a file, pipe, etc) WriteEvent will + // put the event in a buffer and return as quick as possible. If a session is + // synchronous (callback to the profiler) then this method will block until the + // profiler is done parsing and reacting to it. bool WriteEvent( Thread *pThread, EventPipeEvent &event, diff --git a/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp b/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp index f133a2a4c3d6d..9e1a3d978dbcb 100644 --- a/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp +++ b/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp @@ -7031,11 +7031,10 @@ HRESULT ProfToEEInterfaceImpl::SetEnvironmentVariable(const WCHAR *szName, const } HRESULT ProfToEEInterfaceImpl::EventPipeStartSession( - const WCHAR* szProviderName, UINT32 cProviderConfigs, COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[], BOOL requestRundown, - BOOL requestSamples, + BOOL requestCPUSamples, EVENTPIPE_SESSION* pSession) { CONTRACTL @@ -7061,8 +7060,7 @@ HRESULT ProfToEEInterfaceImpl::EventPipeStartSession( && sizeof(EventPipeProviderConfiguration) == sizeof(COR_PRF_EVENTPIPE_PROVIDER_CONFIG), "Layouts of EventPipeProviderConfiguration type and COR_PRF_EVENTPIPE_PROVIDER_CONFIG type do not match!"); - if (szProviderName == NULL - || cProviderConfigs == 0 + if (cProviderConfigs == 0 || pProviderConfigs == NULL || pSession == NULL) { @@ -7072,35 +7070,6 @@ HRESULT ProfToEEInterfaceImpl::EventPipeStartSession( HRESULT hr = S_OK; EX_TRY { - auto eventPipeFunc = [](EventPipeProvider *provider, - DWORD eventId, - DWORD eventVersion, - ULONG cbMetadataBlob, - LPCBYTE metadataBlob, - ULONG cbEventData, - LPCBYTE eventData, - LPCGUID pActivityId, - LPCGUID pRelatedActivityId, - Thread *pEventThread, - ULONG numStackFrames, - UINT_PTR stackFrames[]) - { - BEGIN_PIN_PROFILER(CORProfilerIsMonitoringEventPipe()); - g_profControlBlock.pProfInterface->EventPipeEventDelivered(provider, - eventId, - eventVersion, - cbMetadataBlob, - metadataBlob, - cbEventData, - eventData, - pActivityId, - pRelatedActivityId, - pEventThread, - numStackFrames, - stackFrames); - END_PIN_PROFILER(); - }; - EventPipeProviderConfiguration *pProviders = reinterpret_cast(pProviderConfigs); UINT64 sessionID = EventPipe::Enable(NULL, 0, // We don't use a circular buffer since it's synchronous @@ -7110,8 +7079,8 @@ HRESULT ProfToEEInterfaceImpl::EventPipeStartSession( EventPipeSerializationFormat::NetTraceV4, requestRundown, NULL, - requestSamples, - eventPipeFunc); + requestCPUSamples, + &ProfToEEInterfaceImpl::EventPipeCallbackHelper); EventPipe::StartStreaming(sessionID); *pSession = sessionID; @@ -7207,7 +7176,9 @@ HRESULT ProfToEEInterfaceImpl::EventPipeStopSession( #endif // FEATURE_PERFTRACING } -HRESULT ProfToEEInterfaceImpl::EventPipeCreateProvider(const WCHAR *szName, EVENTPIPE_PROVIDER *pProvider) +HRESULT ProfToEEInterfaceImpl::EventPipeCreateProvider( + const WCHAR *providerName, + EVENTPIPE_PROVIDER *pProvider) { CONTRACTL { @@ -7224,7 +7195,7 @@ HRESULT ProfToEEInterfaceImpl::EventPipeCreateProvider(const WCHAR *szName, EVEN "**PROF: EventPipeCreateProvider.\n")); #ifdef FEATURE_PERFTRACING - if (szName == NULL || pProvider == NULL) + if (providerName == NULL || pProvider == NULL) { return E_INVALIDARG; } @@ -7232,7 +7203,7 @@ HRESULT ProfToEEInterfaceImpl::EventPipeCreateProvider(const WCHAR *szName, EVEN HRESULT hr = S_OK; EX_TRY { - EventPipeProvider *pRealProvider = EventPipe::CreateProvider(szName, NULL, NULL); + EventPipeProvider *pRealProvider = EventPipe::CreateProvider(providerName, NULL, NULL); if (pRealProvider == NULL) { hr = E_FAIL; @@ -7321,7 +7292,7 @@ HRESULT ProfToEEInterfaceImpl::EventPipeGetProviderInfo( HRESULT ProfToEEInterfaceImpl::EventPipeDefineEvent( EVENTPIPE_PROVIDER provider, - const WCHAR *szName, + const WCHAR *eventName, UINT32 eventID, UINT64 keywords, UINT32 eventVersion, @@ -7348,7 +7319,7 @@ HRESULT ProfToEEInterfaceImpl::EventPipeDefineEvent( #ifdef FEATURE_PERFTRACING EventPipeProvider *pProvider = reinterpret_cast(provider); - if (pProvider == NULL || szName == NULL || pEvent == NULL) + if (pProvider == NULL || eventName == NULL || pEvent == NULL) { return E_INVALIDARG; } @@ -7381,7 +7352,7 @@ HRESULT ProfToEEInterfaceImpl::EventPipeDefineEvent( size_t metadataLength; NewArrayHolder pMetadata = EventPipeMetadataGenerator::GenerateEventMetadata( eventID, - szName, + eventName, keywords, eventVersion, (EventPipeEventLevel)level, @@ -7452,6 +7423,43 @@ HRESULT ProfToEEInterfaceImpl::EventPipeWriteEvent( #endif // FEATURE_PERFTRACING } +void ProfToEEInterfaceImpl::EventPipeCallbackHelper(EventPipeProvider *provider, + DWORD eventId, + DWORD eventVersion, + ULONG cbMetadataBlob, + LPCBYTE metadataBlob, + ULONG cbEventData, + LPCBYTE eventData, + LPCGUID pActivityId, + LPCGUID pRelatedActivityId, + Thread *pEventThread, + ULONG numStackFrames, + UINT_PTR stackFrames[]) +{ + // If we got here we know a profiler has started an EventPipe session + BEGIN_PIN_PROFILER(true); + // But, a profiler could always register for a session and then detach without + // closing the session. So check if we have an interface before proceeding. + if (g_profControlBlock.pProfInterface != nullptr) + { + g_profControlBlock.pProfInterface->EventPipeEventDelivered(provider, + eventId, + eventVersion, + cbMetadataBlob, + metadataBlob, + cbEventData, + eventData, + pActivityId, + pRelatedActivityId, + pEventThread, + numStackFrames, + stackFrames); + } + END_PIN_PROFILER(); +}; + + + /* * GetStringLayout * diff --git a/src/coreclr/src/vm/proftoeeinterfaceimpl.h b/src/coreclr/src/vm/proftoeeinterfaceimpl.h index bba14608ac605..8bb31a4c6f83d 100644 --- a/src/coreclr/src/vm/proftoeeinterfaceimpl.h +++ b/src/coreclr/src/vm/proftoeeinterfaceimpl.h @@ -645,11 +645,10 @@ class ProfToEEInterfaceImpl : public ICorProfilerInfo12 // begin ICorProfilerInfo12 COM_METHOD EventPipeStartSession( - const WCHAR* szProviderName, UINT32 cProviderConfigs, COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[], BOOL requestRundown, - BOOL requestSamples, + BOOL requestCPUSamples, EVENTPIPE_SESSION* pSession); COM_METHOD EventPipeAddProviderToSession( @@ -660,18 +659,18 @@ class ProfToEEInterfaceImpl : public ICorProfilerInfo12 EVENTPIPE_SESSION session); COM_METHOD EventPipeCreateProvider( - const WCHAR *szName, + const WCHAR *providerName, EVENTPIPE_PROVIDER *pProvider); COM_METHOD EventPipeGetProviderInfo( EVENTPIPE_PROVIDER provider, ULONG cchName, ULONG *pcchName, - WCHAR szName[]); + WCHAR providerName[]); COM_METHOD EventPipeDefineEvent( EVENTPIPE_PROVIDER provider, - const WCHAR *szName, + const WCHAR *eventName, UINT32 eventID, UINT64 keywords, UINT32 eventVersion, @@ -695,6 +694,19 @@ class ProfToEEInterfaceImpl : public ICorProfilerInfo12 // Internal Helper Functions + static void EventPipeCallbackHelper(EventPipeProvider *provider, + DWORD eventId, + DWORD eventVersion, + ULONG cbMetadataBlob, + LPCBYTE metadataBlob, + ULONG cbEventData, + LPCBYTE eventData, + LPCGUID pActivityId, + LPCGUID pRelatedActivityId, + Thread *pEventThread, + ULONG numStackFrames, + UINT_PTR stackFrames[]); + HRESULT GetCodeInfoHelper(FunctionID functionId, ReJITID reJitId, ULONG32 cCodeInfos, From ce70d0083c840e2f4903d0019f076f600ec2f97a Mon Sep 17 00:00:00 2001 From: David Mason Date: Fri, 19 Jun 2020 15:03:57 -0700 Subject: [PATCH 08/24] Get rid of enablecpusampling argument --- src/coreclr/src/inc/corprof.idl | 1 - src/coreclr/src/pal/prebuilt/inc/corprof.h | 68 ++++++---- src/coreclr/src/vm/eventpipe.cpp | 37 ++---- src/coreclr/src/vm/eventpipe.h | 4 +- src/coreclr/src/vm/eventpipesession.cpp | 13 +- src/coreclr/src/vm/eventpipesession.h | 9 +- .../src/vm/eventpipesessionprovider.cpp | 29 +++++ src/coreclr/src/vm/eventpipesessionprovider.h | 16 ++- src/coreclr/src/vm/proftoeeinterfaceimpl.cpp | 2 - src/coreclr/src/vm/proftoeeinterfaceimpl.h | 1 - src/coreclr/src/vm/sampleprofiler.cpp | 122 ++++++++++++------ src/coreclr/src/vm/sampleprofiler.h | 9 +- 12 files changed, 208 insertions(+), 103 deletions(-) diff --git a/src/coreclr/src/inc/corprof.idl b/src/coreclr/src/inc/corprof.idl index 626ae1a5801a0..5574d5fbdc26c 100644 --- a/src/coreclr/src/inc/corprof.idl +++ b/src/coreclr/src/inc/corprof.idl @@ -4122,7 +4122,6 @@ interface ICorProfilerInfo12 : ICorProfilerInfo11 [in, size_is(cProviderConfigs)] COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[], [in] BOOL requestRundown, - [in] BOOL requestCPUSamples, [out] EVENTPIPE_SESSION* pSession); HRESULT EventPipeAddProviderToSession( diff --git a/src/coreclr/src/pal/prebuilt/inc/corprof.h b/src/coreclr/src/pal/prebuilt/inc/corprof.h index 2a73f4896f347..9a1e4b490a66f 100644 --- a/src/coreclr/src/pal/prebuilt/inc/corprof.h +++ b/src/coreclr/src/pal/prebuilt/inc/corprof.h @@ -662,7 +662,7 @@ enum __MIDL___MIDL_itf_corprof_0000_0000_0014 COR_PRF_EVENTPIPE_VERBOSE = 5 } COR_PRF_EVENTPIPE_LEVEL; -typedef /* [public][public] */ struct __MIDL___MIDL_itf_corprof_0000_0000_0015 +typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_corprof_0000_0000_0015 { const WCHAR *providerName; UINT64 keywords; @@ -7548,12 +7548,17 @@ EXTERN_C const IID IID_ICorProfilerCallback10; /* [in] */ DWORD eventVersion, /* [in] */ ULONG cbMetadataBlob, /* [size_is][in] */ LPCBYTE metadataBlob, - /* [in] */ DWORD eventThreadId, /* [in] */ ULONG cbEventData, /* [size_is][in] */ LPCBYTE eventData, + /* [in] */ LPCGUID pActivityId, + /* [in] */ LPCGUID pRelatedActivityId, + /* [in] */ ThreadID eventThread, /* [in] */ ULONG numStackFrames, /* [length_is][in] */ UINT_PTR stackFrames[ ]) = 0; + virtual HRESULT STDMETHODCALLTYPE EventPipeProviderCreated( + /* [in] */ EVENTPIPE_PROVIDER provider) = 0; + }; @@ -8009,12 +8014,18 @@ EXTERN_C const IID IID_ICorProfilerCallback10; /* [in] */ DWORD eventVersion, /* [in] */ ULONG cbMetadataBlob, /* [size_is][in] */ LPCBYTE metadataBlob, - /* [in] */ DWORD eventThreadId, /* [in] */ ULONG cbEventData, /* [size_is][in] */ LPCBYTE eventData, + /* [in] */ LPCGUID pActivityId, + /* [in] */ LPCGUID pRelatedActivityId, + /* [in] */ ThreadID eventThread, /* [in] */ ULONG numStackFrames, /* [length_is][in] */ UINT_PTR stackFrames[ ]); + HRESULT ( STDMETHODCALLTYPE *EventPipeProviderCreated )( + ICorProfilerCallback10 * This, + /* [in] */ EVENTPIPE_PROVIDER provider); + END_INTERFACE } ICorProfilerCallback10Vtbl; @@ -8323,8 +8334,11 @@ EXTERN_C const IID IID_ICorProfilerCallback10; ( (This)->lpVtbl -> DynamicMethodUnloaded(This,functionId) ) -#define ICorProfilerCallback10_EventPipeEventDelivered(This,provider,eventId,eventVersion,cbMetadataBlob,metadataBlob,eventThreadId,cbEventData,eventData,numStackFrames,stackFrames) \ - ( (This)->lpVtbl -> EventPipeEventDelivered(This,provider,eventId,eventVersion,cbMetadataBlob,metadataBlob,eventThreadId,cbEventData,eventData,numStackFrames,stackFrames) ) +#define ICorProfilerCallback10_EventPipeEventDelivered(This,provider,eventId,eventVersion,cbMetadataBlob,metadataBlob,cbEventData,eventData,pActivityId,pRelatedActivityId,eventThread,numStackFrames,stackFrames) \ + ( (This)->lpVtbl -> EventPipeEventDelivered(This,provider,eventId,eventVersion,cbMetadataBlob,metadataBlob,cbEventData,eventData,pActivityId,pRelatedActivityId,eventThread,numStackFrames,stackFrames) ) + +#define ICorProfilerCallback10_EventPipeProviderCreated(This,provider) \ + ( (This)->lpVtbl -> EventPipeProviderCreated(This,provider) ) #endif /* COBJMACROS */ @@ -18058,18 +18072,20 @@ EXTERN_C const IID IID_ICorProfilerInfo12; { public: virtual HRESULT STDMETHODCALLTYPE EventPipeStartSession( - /* [in] */ const WCHAR *szProviderName, /* [in] */ UINT32 cProviderConfigs, /* [size_is][in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[ ], /* [in] */ BOOL requestRundown, - /* [in] */ BOOL requestSamples, /* [out] */ EVENTPIPE_SESSION *pSession) = 0; + virtual HRESULT STDMETHODCALLTYPE EventPipeAddProviderToSession( + /* [in] */ EVENTPIPE_SESSION session, + /* [in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG providerConfig) = 0; + virtual HRESULT STDMETHODCALLTYPE EventPipeStopSession( /* [in] */ EVENTPIPE_SESSION session) = 0; virtual HRESULT STDMETHODCALLTYPE EventPipeCreateProvider( - /* [string][in] */ const WCHAR *szName, + /* [string][in] */ const WCHAR *providerName, /* [out] */ EVENTPIPE_PROVIDER *pProvider) = 0; virtual HRESULT STDMETHODCALLTYPE EventPipeGetProviderInfo( @@ -18077,11 +18093,11 @@ EXTERN_C const IID IID_ICorProfilerInfo12; /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, /* [annotation][out] */ - _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ]) = 0; + _Out_writes_to_(cchName, *pcchName) WCHAR providerName[ ]) = 0; virtual HRESULT STDMETHODCALLTYPE EventPipeDefineEvent( /* [in] */ EVENTPIPE_PROVIDER provider, - /* [string][in] */ const WCHAR *szName, + /* [string][in] */ const WCHAR *eventName, /* [in] */ UINT32 eventID, /* [in] */ UINT64 keywords, /* [in] */ UINT32 eventVersion, @@ -18727,20 +18743,23 @@ EXTERN_C const IID IID_ICorProfilerInfo12; HRESULT ( STDMETHODCALLTYPE *EventPipeStartSession )( ICorProfilerInfo12 * This, - /* [in] */ const WCHAR *szProviderName, /* [in] */ UINT32 cProviderConfigs, /* [size_is][in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[ ], /* [in] */ BOOL requestRundown, - /* [in] */ BOOL requestSamples, /* [out] */ EVENTPIPE_SESSION *pSession); + HRESULT ( STDMETHODCALLTYPE *EventPipeAddProviderToSession )( + ICorProfilerInfo12 * This, + /* [in] */ EVENTPIPE_SESSION session, + /* [in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG providerConfig); + HRESULT ( STDMETHODCALLTYPE *EventPipeStopSession )( ICorProfilerInfo12 * This, /* [in] */ EVENTPIPE_SESSION session); HRESULT ( STDMETHODCALLTYPE *EventPipeCreateProvider )( ICorProfilerInfo12 * This, - /* [string][in] */ const WCHAR *szName, + /* [string][in] */ const WCHAR *providerName, /* [out] */ EVENTPIPE_PROVIDER *pProvider); HRESULT ( STDMETHODCALLTYPE *EventPipeGetProviderInfo )( @@ -18749,12 +18768,12 @@ EXTERN_C const IID IID_ICorProfilerInfo12; /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, /* [annotation][out] */ - _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ]); + _Out_writes_to_(cchName, *pcchName) WCHAR providerName[ ]); HRESULT ( STDMETHODCALLTYPE *EventPipeDefineEvent )( ICorProfilerInfo12 * This, /* [in] */ EVENTPIPE_PROVIDER provider, - /* [string][in] */ const WCHAR *szName, + /* [string][in] */ const WCHAR *eventName, /* [in] */ UINT32 eventID, /* [in] */ UINT64 keywords, /* [in] */ UINT32 eventVersion, @@ -19101,20 +19120,23 @@ EXTERN_C const IID IID_ICorProfilerInfo12; ( (This)->lpVtbl -> SetEnvironmentVariable(This,szName,szValue) ) -#define ICorProfilerInfo12_EventPipeStartSession(This,szProviderName,cProviderConfigs,pProviderConfigs,requestRundown,requestSamples,pSession) \ - ( (This)->lpVtbl -> EventPipeStartSession(This,szProviderName,cProviderConfigs,pProviderConfigs,requestRundown,requestSamples,pSession) ) +#define ICorProfilerInfo12_EventPipeStartSession(This,cProviderConfigs,pProviderConfigs,requestRundown,pSession) \ + ( (This)->lpVtbl -> EventPipeStartSession(This,cProviderConfigs,pProviderConfigs,requestRundown,pSession) ) + +#define ICorProfilerInfo12_EventPipeAddProviderToSession(This,session,providerConfig) \ + ( (This)->lpVtbl -> EventPipeAddProviderToSession(This,session,providerConfig) ) #define ICorProfilerInfo12_EventPipeStopSession(This,session) \ ( (This)->lpVtbl -> EventPipeStopSession(This,session) ) -#define ICorProfilerInfo12_EventPipeCreateProvider(This,szName,pProvider) \ - ( (This)->lpVtbl -> EventPipeCreateProvider(This,szName,pProvider) ) +#define ICorProfilerInfo12_EventPipeCreateProvider(This,providerName,pProvider) \ + ( (This)->lpVtbl -> EventPipeCreateProvider(This,providerName,pProvider) ) -#define ICorProfilerInfo12_EventPipeGetProviderInfo(This,provider,cchName,pcchName,szName) \ - ( (This)->lpVtbl -> EventPipeGetProviderInfo(This,provider,cchName,pcchName,szName) ) +#define ICorProfilerInfo12_EventPipeGetProviderInfo(This,provider,cchName,pcchName,providerName) \ + ( (This)->lpVtbl -> EventPipeGetProviderInfo(This,provider,cchName,pcchName,providerName) ) -#define ICorProfilerInfo12_EventPipeDefineEvent(This,provider,szName,eventID,keywords,eventVersion,level,opcode,needStack,cParamDescs,pParamDescs,pEvent) \ - ( (This)->lpVtbl -> EventPipeDefineEvent(This,provider,szName,eventID,keywords,eventVersion,level,opcode,needStack,cParamDescs,pParamDescs,pEvent) ) +#define ICorProfilerInfo12_EventPipeDefineEvent(This,provider,eventName,eventID,keywords,eventVersion,level,opcode,needStack,cParamDescs,pParamDescs,pEvent) \ + ( (This)->lpVtbl -> EventPipeDefineEvent(This,provider,eventName,eventID,keywords,eventVersion,level,opcode,needStack,cParamDescs,pParamDescs,pEvent) ) #define ICorProfilerInfo12_EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId) \ ( (This)->lpVtbl -> EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId) ) diff --git a/src/coreclr/src/vm/eventpipe.cpp b/src/coreclr/src/vm/eventpipe.cpp index dcec88cdbd99d..30d08119f84ca 100644 --- a/src/coreclr/src/vm/eventpipe.cpp +++ b/src/coreclr/src/vm/eventpipe.cpp @@ -39,7 +39,6 @@ Volatile EventPipe::s_allowWrite = 0; unsigned int * EventPipe::s_pProcGroupOffsets = nullptr; #endif Volatile EventPipe::s_numberOfSessions(0); -bool EventPipe::s_enableSampleProfilerAtStartup = false; CQuickArrayList EventPipe::s_rgDeferredEventPipeSessionIds = CQuickArrayList(); bool EventPipe::s_CanStartThreads = false; @@ -125,10 +124,7 @@ void EventPipe::FinishInitialize() } } - if (s_enableSampleProfilerAtStartup) - { - SampleProfiler::Enable(); - } + SampleProfiler::CanStartSampling(); } // @@ -168,7 +164,6 @@ void EventPipe::EnableViaEnvironmentVariables() pProviders[0] = EventPipeProviderConfiguration(W("Microsoft-Windows-DotNETRuntime"), 0x4c14fccbd, 5, nullptr); pProviders[1] = EventPipeProviderConfiguration(W("Microsoft-Windows-DotNETRuntimePrivate"), 0x4002000b, 5, nullptr); pProviders[2] = EventPipeProviderConfiguration(W("Microsoft-DotNETCore-SampleProfiler"), 0x0, 5, nullptr); - s_enableSampleProfilerAtStartup = true; } else { @@ -198,11 +193,6 @@ void EventPipe::EnableViaEnvironmentVariables() return; } - if (wcscmp(W("Microsoft-DotNETCore-SampleProfiler"), configuration.GetProviderName()) == 0) - { - s_enableSampleProfilerAtStartup = true; - } - pProviders[i++] = EventPipeProviderConfiguration( configuration.GetProviderName(), configuration.GetEnabledKeywordsMask(), @@ -226,8 +216,7 @@ void EventPipe::EnableViaEnvironmentVariables() EventPipeSessionType::File, EventPipeSerializationFormat::NetTraceV4, true, - nullptr, - false + nullptr ); EventPipe::StartStreaming(sessionID); } @@ -299,7 +288,6 @@ EventPipeSessionID EventPipe::Enable( EventPipeSerializationFormat format, const bool rundownRequested, IpcStream *const pStream, - const bool enableSampleProfiler, EventPipeSessionSynchronousCallback callback) { CONTRACTL @@ -340,7 +328,7 @@ EventPipeSessionID EventPipe::Enable( numProviders, callback); - const bool fSuccess = EnableInternal(pSession, pEventPipeProviderCallbackDataQueue, enableSampleProfiler); + const bool fSuccess = EnableInternal(pSession, pEventPipeProviderCallbackDataQueue); if (fSuccess) sessionId = reinterpret_cast(pSession); else @@ -352,8 +340,7 @@ EventPipeSessionID EventPipe::Enable( bool EventPipe::EnableInternal( EventPipeSession *const pSession, - EventPipeProviderCallbackDataQueue* pEventPipeProviderCallbackDataQueue, - const bool enableSampleProfiler) + EventPipeProviderCallbackDataQueue* pEventPipeProviderCallbackDataQueue) { CONTRACTL { @@ -401,14 +388,16 @@ bool EventPipe::EnableInternal( // Enable tracing. s_config.Enable(*pSession, pEventPipeProviderCallbackDataQueue); - // Enable the sample profiler or defer until we can create threads - if (enableSampleProfiler && s_CanStartThreads) + // Find out if the session requested samples + bool enableSampleProfiler = false; + EventPipeSessionProviderIterator providerList = pSession->GetProviders(); + EventPipeSessionProvider *pProvider = nullptr; + while (providerList.Next(&pProvider)) { - SampleProfiler::Enable(); - } - else if (enableSampleProfiler && !s_CanStartThreads) - { - s_enableSampleProfilerAtStartup = true; + if (wcscmp(pProvider->GetProviderName(), W("Microsoft-DotNETCore-SampleProfiler")) == 0) + { + SampleProfiler::Enable(); + } } return true; diff --git a/src/coreclr/src/vm/eventpipe.h b/src/coreclr/src/vm/eventpipe.h index 2942d3f8eeb0f..e5047dfc18343 100644 --- a/src/coreclr/src/vm/eventpipe.h +++ b/src/coreclr/src/vm/eventpipe.h @@ -65,7 +65,6 @@ class EventPipe EventPipeSerializationFormat format, const bool rundownRequested, IpcStream *const pStream, - const bool enableSampleProfiler = true, EventPipeSessionSynchronousCallback callback = nullptr); // Disable tracing via the event pipe. @@ -184,8 +183,7 @@ class EventPipe // Enable the specified EventPipe session. static bool EnableInternal( EventPipeSession *const pSession, - EventPipeProviderCallbackDataQueue *pEventPipeProviderCallbackDataQueue, - const bool enableSampleProfiler = true); + EventPipeProviderCallbackDataQueue *pEventPipeProviderCallbackDataQueue); // Callback function for the stack walker. For each frame walked, this callback is invoked. static StackWalkAction StackWalkCallback(CrawlFrame *pCf, StackContents *pData); diff --git a/src/coreclr/src/vm/eventpipesession.cpp b/src/coreclr/src/vm/eventpipesession.cpp index 25d3d504b619a..a6b4b99367c06 100644 --- a/src/coreclr/src/vm/eventpipesession.cpp +++ b/src/coreclr/src/vm/eventpipesession.cpp @@ -536,14 +536,15 @@ void EventPipeSession::SuspendWriteEvent() } CONTRACTL_END; - if (m_pBufferManager == nullptr) + // TODO: disable has already been called, keep a list of all EventPipe threads + // and then iterate waiting until no thread is writing to this session before continuing + + if (m_pBufferManager != nullptr) { - return; + // Force all in-progress writes to either finish or cancel + // This is required to ensure we can safely flush and delete the buffers + m_pBufferManager->SuspendWriteEvent(GetIndex()); } - - // Force all in-progress writes to either finish or cancel - // This is required to ensure we can safely flush and delete the buffers - m_pBufferManager->SuspendWriteEvent(GetIndex()); } void EventPipeSession::ExecuteRundown() diff --git a/src/coreclr/src/vm/eventpipesession.h b/src/coreclr/src/vm/eventpipesession.h index acdf4c14bf191..4c98831c10122 100644 --- a/src/coreclr/src/vm/eventpipesession.h +++ b/src/coreclr/src/vm/eventpipesession.h @@ -9,12 +9,11 @@ #include "common.h" #include "threadsuspend.h" +#include "eventpipesessionprovider.h" class EventPipeBufferManager; class EventPipeEventInstance; class EventPipeFile; -class EventPipeSessionProvider; -class EventPipeSessionProviderList; class EventPipeThread; // TODO: Revisit the need of this enum and its usage. @@ -187,6 +186,12 @@ class EventPipeSession return m_pIpcStreamingThread; } + EventPipeSessionProviderIterator GetProviders() + { + LIMITED_METHOD_CONTRACT; + return m_pProviderList->GetProviders(); + } + // Add a new provider to the session. void AddSessionProvider(EventPipeSessionProvider *pProvider); diff --git a/src/coreclr/src/vm/eventpipesessionprovider.cpp b/src/coreclr/src/vm/eventpipesessionprovider.cpp index 0120a629da923..49e5b36812903 100644 --- a/src/coreclr/src/vm/eventpipesessionprovider.cpp +++ b/src/coreclr/src/vm/eventpipesessionprovider.cpp @@ -8,6 +8,29 @@ #ifdef FEATURE_PERFTRACING +EventPipeSessionProviderIterator::EventPipeSessionProviderIterator(SList> *pList) : + m_pList(pList), + m_iterator(pList->begin()) +{ + _ASSERTE(m_pList != nullptr); +} + +bool EventPipeSessionProviderIterator::Next(EventPipeSessionProvider **ppProvider) +{ + CONTRACTL + { + THROWS; + GC_NOTRIGGER; + MODE_ANY; + PRECONDITION(ppProvider != nullptr); + } + CONTRACTL_END; + + *ppProvider = *m_iterator; + ++m_iterator; + return m_iterator != m_pList->end(); +} + EventPipeSessionProvider::EventPipeSessionProvider( LPCWSTR providerName, UINT64 keywords, @@ -177,6 +200,12 @@ EventPipeSessionProvider *EventPipeSessionProviderList::GetSessionProvider(const return pSessionProvider; } +EventPipeSessionProviderIterator EventPipeSessionProviderList::GetProviders() +{ + LIMITED_METHOD_CONTRACT; + return EventPipeSessionProviderIterator(m_pProviders); +} + bool EventPipeSessionProviderList::IsEmpty() const { LIMITED_METHOD_CONTRACT; diff --git a/src/coreclr/src/vm/eventpipesessionprovider.h b/src/coreclr/src/vm/eventpipesessionprovider.h index 642cf4f90ce0b..a2f01f4082934 100644 --- a/src/coreclr/src/vm/eventpipesessionprovider.h +++ b/src/coreclr/src/vm/eventpipesessionprovider.h @@ -6,6 +6,18 @@ enum class EventPipeEventLevel; class EventPipeProvider; +class EventPipeSessionProviderIterator +{ +private: + SList> *m_pList; + SList>::Iterator m_iterator; + +public: + EventPipeSessionProviderIterator(SList> *pList); + + bool Next(EventPipeSessionProvider **ppProvider); +}; + class EventPipeSessionProvider { public: @@ -59,6 +71,8 @@ class EventPipeSessionProviderList // Return NULL if one doesn't exist. EventPipeSessionProvider* GetSessionProvider(const EventPipeProvider *pProvider) const; + EventPipeSessionProviderIterator GetProviders(); + // Returns true if the list is empty. bool IsEmpty() const; @@ -72,7 +86,7 @@ class EventPipeSessionProviderList EventPipeSessionProviderList &&operator=(EventPipeSessionProviderList &&rhs) = delete; private: - SList> *m_pProviders = nullptr; + SList> *m_pProviders = nullptr; // A catch-all provider used when tracing is enabled for all events. EventPipeSessionProvider *m_pCatchAllProvider = nullptr; diff --git a/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp b/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp index 9e1a3d978dbcb..72b9a8aee2e72 100644 --- a/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp +++ b/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp @@ -7034,7 +7034,6 @@ HRESULT ProfToEEInterfaceImpl::EventPipeStartSession( UINT32 cProviderConfigs, COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[], BOOL requestRundown, - BOOL requestCPUSamples, EVENTPIPE_SESSION* pSession) { CONTRACTL @@ -7079,7 +7078,6 @@ HRESULT ProfToEEInterfaceImpl::EventPipeStartSession( EventPipeSerializationFormat::NetTraceV4, requestRundown, NULL, - requestCPUSamples, &ProfToEEInterfaceImpl::EventPipeCallbackHelper); EventPipe::StartStreaming(sessionID); diff --git a/src/coreclr/src/vm/proftoeeinterfaceimpl.h b/src/coreclr/src/vm/proftoeeinterfaceimpl.h index 8bb31a4c6f83d..3bb424c1bf560 100644 --- a/src/coreclr/src/vm/proftoeeinterfaceimpl.h +++ b/src/coreclr/src/vm/proftoeeinterfaceimpl.h @@ -648,7 +648,6 @@ class ProfToEEInterfaceImpl : public ICorProfilerInfo12 UINT32 cProviderConfigs, COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[], BOOL requestRundown, - BOOL requestCPUSamples, EVENTPIPE_SESSION* pSession); COM_METHOD EventPipeAddProviderToSession( diff --git a/src/coreclr/src/vm/sampleprofiler.cpp b/src/coreclr/src/vm/sampleprofiler.cpp index d93b47114fb1c..967541c136e94 100644 --- a/src/coreclr/src/vm/sampleprofiler.cpp +++ b/src/coreclr/src/vm/sampleprofiler.cpp @@ -16,7 +16,7 @@ const unsigned long NUM_NANOSECONDS_IN_1_MS = 1000000; -Volatile SampleProfiler::s_profilingEnabled = false; +Volatile SampleProfiler::s_profilingEnabled = FALSE; Thread *SampleProfiler::s_pSamplingThread = NULL; const WCHAR *SampleProfiler::s_providerName = W("Microsoft-DotNETCore-SampleProfiler"); EventPipeProvider *SampleProfiler::s_pEventPipeProvider = NULL; @@ -25,8 +25,9 @@ SampleProfiler::SampleProfilerPayload SampleProfiler::s_ExternalPayload = {Sampl SampleProfiler::SampleProfilerPayload SampleProfiler::s_ManagedPayload = {SampleProfilerSampleType::Managed}; CLREventStatic SampleProfiler::s_threadShutdownEvent; unsigned long SampleProfiler::s_samplingRateInNs = NUM_NANOSECONDS_IN_1_MS; // 1ms -bool SampleProfiler::s_timePeriodIsSet = FALSE; -int32_t SampleProfiler::s_RefCount = 0; +bool SampleProfiler::s_timePeriodIsSet = false; +Volatile SampleProfiler::s_canStartSampling = FALSE; +int32_t SampleProfiler::s_refCount = 0; #ifndef TARGET_UNIX PVOID SampleProfiler::s_timeBeginPeriodFn = NULL; @@ -68,45 +69,18 @@ void SampleProfiler::Enable() MODE_ANY; PRECONDITION(s_pEventPipeProvider != nullptr); PRECONDITION(s_pThreadTimeEvent != nullptr); - PRECONDITION((s_pSamplingThread == NULL && s_RefCount == 0) || ((s_pSamplingThread != NULL && s_RefCount > 0))); + PRECONDITION((s_pSamplingThread == NULL && s_refCount == 0) || ((s_pSamplingThread != NULL && s_refCount > 0))); // Synchronization of multiple callers occurs in EventPipe::Enable. PRECONDITION(EventPipe::IsLockOwnedByCurrentThread()); } CONTRACTL_END; - const bool fSuccess = LoadDependencies(); - -#ifndef TARGET_UNIX - _ASSERTE(fSuccess); - // TODO: Stress log on failure? -#else - _ASSERTE(!fSuccess); -#endif - - // Check to see if the sample profiler event is enabled. If it is not, do not spin up the sampling thread. - if (!s_pThreadTimeEvent->IsEnabled()) - return; - - if (!s_profilingEnabled) + if (s_canStartSampling) { - s_profilingEnabled = true; - s_pSamplingThread = SetupUnstartedThread(); - if (s_pSamplingThread->CreateNewThread(0, ThreadProc, NULL)) - { - // Start the sampling thread. - s_pSamplingThread->SetBackground(TRUE); - s_pSamplingThread->StartThread(); - } - else - { - _ASSERT(!"Unable to create sample profiler thread."); - } - - s_threadShutdownEvent.CreateManualEvent(FALSE); - - SetTimeGranularity(); + EnableInternal(); } - ++s_RefCount; + + ++s_refCount; } void SampleProfiler::Disable() @@ -118,7 +92,7 @@ void SampleProfiler::Disable() MODE_ANY; // Synchronization of multiple callers occurs in EventPipe::Disable. PRECONDITION(EventPipe::IsLockOwnedByCurrentThread()); - PRECONDITION(s_RefCount >= 0); + PRECONDITION(s_refCount >= 0); } CONTRACTL_END; @@ -126,7 +100,7 @@ void SampleProfiler::Disable() if (!s_profilingEnabled) return; - if (s_RefCount == 1) + if (s_refCount == 1) { _ASSERTE(!g_fProcessDetach); @@ -142,7 +116,28 @@ void SampleProfiler::Disable() ResetTimeGranularity(); UnloadDependencies(); } - --s_RefCount; + --s_refCount; +} + +void SampleProfiler::CanStartSampling() +{ + CONTRACTL + { + THROWS; + GC_TRIGGERS; + MODE_ANY; + PRECONDITION(s_pEventPipeProvider != nullptr); + PRECONDITION(s_pThreadTimeEvent != nullptr); + // Synchronization of multiple callers occurs in EventPipe::Enable. + PRECONDITION(EventPipe::IsLockOwnedByCurrentThread()); + } + CONTRACTL_END; + + s_canStartSampling = TRUE; + if (s_refCount > 0) + { + EnableInternal(); + } } void SampleProfiler::SetSamplingRate(unsigned long nanoseconds) @@ -334,7 +329,7 @@ bool SampleProfiler::LoadDependencies() CONTRACTL_END; #ifndef TARGET_UNIX - if (s_RefCount > 0) + if (s_refCount > 0) return true; // Already loaded. s_hMultimediaLib = WszLoadLibrary(W("winmm.dll")); @@ -372,4 +367,53 @@ void SampleProfiler::UnloadDependencies() #endif //TARGET_UNIX } +void SampleProfiler::EnableInternal() +{ + CONTRACTL + { + THROWS; + GC_TRIGGERS; + MODE_ANY; + PRECONDITION(s_pEventPipeProvider != nullptr); + PRECONDITION(s_pThreadTimeEvent != nullptr); + PRECONDITION((s_pSamplingThread == NULL && s_refCount == 0) || ((s_pSamplingThread != NULL && s_refCount > 0))); + // Synchronization of multiple callers occurs in EventPipe::Enable. + PRECONDITION(EventPipe::IsLockOwnedByCurrentThread()); + } + CONTRACTL_END; + + const bool fSuccess = LoadDependencies(); + +#ifndef TARGET_UNIX + _ASSERTE(fSuccess); + // TODO: Stress log on failure? +#else + _ASSERTE(!fSuccess); +#endif + + // Check to see if the sample profiler event is enabled. If it is not, do not spin up the sampling thread. + if (!s_pThreadTimeEvent->IsEnabled()) + return; + + if (!s_profilingEnabled) + { + s_profilingEnabled = true; + s_pSamplingThread = SetupUnstartedThread(); + if (s_pSamplingThread->CreateNewThread(0, ThreadProc, NULL)) + { + // Start the sampling thread. + s_pSamplingThread->SetBackground(TRUE); + s_pSamplingThread->StartThread(); + } + else + { + _ASSERT(!"Unable to create sample profiler thread."); + } + + s_threadShutdownEvent.CreateManualEvent(FALSE); + + SetTimeGranularity(); + } +} + #endif // FEATURE_PERFTRACING diff --git a/src/coreclr/src/vm/sampleprofiler.h b/src/coreclr/src/vm/sampleprofiler.h index 5524193ed1ba5..5852ee2595728 100644 --- a/src/coreclr/src/vm/sampleprofiler.h +++ b/src/coreclr/src/vm/sampleprofiler.h @@ -32,6 +32,9 @@ class SampleProfiler // Disable profiling. static void Disable(); + // Let the sampler know it's safe to start sampling + static void CanStartSampling(); + // Set the sampling rate. static void SetSamplingRate(unsigned long nanoseconds); @@ -70,6 +73,8 @@ class SampleProfiler static bool LoadDependencies(); static void UnloadDependencies(); + static void EnableInternal(); + #ifndef TARGET_UNIX static HINSTANCE s_hMultimediaLib; static PVOID s_timeBeginPeriodFn; @@ -106,7 +111,9 @@ class SampleProfiler // Whether or not timeBeginPeriod has been used to set the scheduler period static bool s_timePeriodIsSet; - static int32_t s_RefCount; + static Volatile s_canStartSampling; + + static int32_t s_refCount; }; #endif // FEATURE_PERFTRACING From d644cba01c0954f20ee7621ca712c58a9e230e48 Mon Sep 17 00:00:00 2001 From: David Mason Date: Fri, 19 Jun 2020 16:21:53 -0700 Subject: [PATCH 09/24] move EventPipeProviderCreated profiler callback outside of lock --- src/coreclr/src/vm/eventpipe.cpp | 13 ++++++++----- src/coreclr/src/vm/eventpipe.h | 11 ++++++++++- src/coreclr/src/vm/eventpipeconfiguration.cpp | 7 ------- src/coreclr/src/vm/sampleprofiler.cpp | 10 ++++++---- 4 files changed, 24 insertions(+), 17 deletions(-) diff --git a/src/coreclr/src/vm/eventpipe.cpp b/src/coreclr/src/vm/eventpipe.cpp index 30d08119f84ca..8f6bdcc451f51 100644 --- a/src/coreclr/src/vm/eventpipe.cpp +++ b/src/coreclr/src/vm/eventpipe.cpp @@ -593,6 +593,7 @@ EventPipeProvider *EventPipe::CreateProvider(const SString &providerName, EventP pProvider = CreateProvider(providerName, pCallbackFunction, pCallbackData, pEventPipeProviderCallbackDataQueue); }); + NotifyProfilerProviderCreated(pProvider); return pProvider; } @@ -607,11 +608,13 @@ EventPipeProvider *EventPipe::CreateProvider(const SString &providerName, EventP } CONTRACTL_END; - return s_config.CreateProvider( - providerName, - pCallbackFunction, - pCallbackData, - pEventPipeProviderCallbackDataQueue); + EventPipeProvider *pProvider = s_config.CreateProvider(providerName, + pCallbackFunction, + pCallbackData, + pEventPipeProviderCallbackDataQueue); + + NotifyProfilerProviderCreated(pProvider); + return pProvider; } EventPipeProvider *EventPipe::GetProvider(const SString &providerName) diff --git a/src/coreclr/src/vm/eventpipe.h b/src/coreclr/src/vm/eventpipe.h index e5047dfc18343..4c30ef9809e87 100644 --- a/src/coreclr/src/vm/eventpipe.h +++ b/src/coreclr/src/vm/eventpipe.h @@ -217,6 +217,16 @@ class EventPipe return &s_configCrst; } + static void NotifyProfilerProviderCreated(EventPipeProvider *pProvider) + { +#ifndef DACCESS_COMPILE + // Let the profiler know the provider has been created so it can register if it wants to + BEGIN_PIN_PROFILER(CORProfilerIsMonitoringEventPipe()); + g_profControlBlock.pProfInterface->EventPipeProviderCreated(pProvider); + END_PIN_PROFILER(); +#endif // DACCESS_COMPILE + } + static CrstStatic s_configCrst; static Volatile s_state; static EventPipeConfiguration s_config; @@ -235,7 +245,6 @@ class EventPipe static unsigned int * s_pProcGroupOffsets; #endif static Volatile s_numberOfSessions; - static bool s_enableSampleProfilerAtStartup; }; static_assert(EventPipe::MaxNumberOfSessions == 64, "Maximum number of EventPipe sessions is not 64."); diff --git a/src/coreclr/src/vm/eventpipeconfiguration.cpp b/src/coreclr/src/vm/eventpipeconfiguration.cpp index 8ee643c2d1e9b..69c0dd29840d9 100644 --- a/src/coreclr/src/vm/eventpipeconfiguration.cpp +++ b/src/coreclr/src/vm/eventpipeconfiguration.cpp @@ -159,13 +159,6 @@ bool EventPipeConfiguration::RegisterProvider(EventPipeProvider &provider, Event m_pProviderList->InsertTail(new SListElem(&provider)); } - { - // Let the profiler know the provider has been created so it can register if it wants to - BEGIN_PIN_PROFILER(CORProfilerIsMonitoringEventPipe()); - g_profControlBlock.pProfInterface->EventPipeProviderCreated(&provider); - END_PIN_PROFILER(); - } - INT64 keywordForAllSessions; EventPipeEventLevel levelForAllSessions; ComputeKeywordAndLevel(provider, /* out */ keywordForAllSessions, /* out */ levelForAllSessions); diff --git a/src/coreclr/src/vm/sampleprofiler.cpp b/src/coreclr/src/vm/sampleprofiler.cpp index 967541c136e94..da7c2771e0b9d 100644 --- a/src/coreclr/src/vm/sampleprofiler.cpp +++ b/src/coreclr/src/vm/sampleprofiler.cpp @@ -75,6 +75,12 @@ void SampleProfiler::Enable() } CONTRACTL_END; + // Check to see if the sample profiler event is enabled. If it is not, do not spin up the sampling thread. + if (!s_pThreadTimeEvent->IsEnabled()) + { + return; + } + if (s_canStartSampling) { EnableInternal(); @@ -391,10 +397,6 @@ void SampleProfiler::EnableInternal() _ASSERTE(!fSuccess); #endif - // Check to see if the sample profiler event is enabled. If it is not, do not spin up the sampling thread. - if (!s_pThreadTimeEvent->IsEnabled()) - return; - if (!s_profilingEnabled) { s_profilingEnabled = true; From 8d1b5bcf7aa8b1a9f37fee5ea17c281ff2c1de60 Mon Sep 17 00:00:00 2001 From: David Mason Date: Sat, 20 Jun 2020 14:59:28 -0700 Subject: [PATCH 10/24] refactor SuspendWriteEvent so it covers the synchronous callback case as well --- src/coreclr/src/inc/CrstTypes.def | 3 + src/coreclr/src/inc/crsttypes.h | 227 +++++++++--------- src/coreclr/src/vm/eventpipe.cpp | 4 +- src/coreclr/src/vm/eventpipebuffermanager.cpp | 16 +- src/coreclr/src/vm/eventpipecommontypes.h | 33 +++ src/coreclr/src/vm/eventpipesession.cpp | 48 +++- src/coreclr/src/vm/eventpipesession.h | 2 + .../src/vm/eventpipesessionprovider.cpp | 23 -- src/coreclr/src/vm/eventpipesessionprovider.h | 12 +- src/coreclr/src/vm/eventpipethread.cpp | 54 ++++- src/coreclr/src/vm/eventpipethread.h | 21 +- src/coreclr/src/vm/sampleprofiler.cpp | 3 - 12 files changed, 277 insertions(+), 169 deletions(-) diff --git a/src/coreclr/src/inc/CrstTypes.def b/src/coreclr/src/inc/CrstTypes.def index 58a5fe2daf529..ca009614db769 100644 --- a/src/coreclr/src/inc/CrstTypes.def +++ b/src/coreclr/src/inc/CrstTypes.def @@ -680,6 +680,9 @@ Crst EventPipe AcquiredBefore ThreadIdDispenser ThreadStore DomainLocalBlock InstMethodHashTable End +Crst EventPipeThreads +End + Crst NotifyGdb End diff --git a/src/coreclr/src/inc/crsttypes.h b/src/coreclr/src/inc/crsttypes.h index 15ff9d8bfc550..2d1b3f7aedb4d 100644 --- a/src/coreclr/src/inc/crsttypes.h +++ b/src/coreclr/src/inc/crsttypes.h @@ -58,118 +58,119 @@ enum CrstType CrstDynLinkZapItems = 39, CrstEtwTypeLogHash = 40, CrstEventPipe = 41, - CrstEventStore = 42, - CrstException = 43, - CrstExecuteManLock = 44, - CrstExecuteManRangeLock = 45, - CrstExternalObjectContextCache = 46, - CrstFCall = 47, - CrstFriendAccessCache = 48, - CrstFuncPtrStubs = 49, - CrstFusionAppCtx = 50, - CrstGCCover = 51, - CrstGlobalStrLiteralMap = 52, - CrstHandleTable = 53, - CrstHostAssemblyMap = 54, - CrstHostAssemblyMapAdd = 55, - CrstIbcProfile = 56, - CrstIJWFixupData = 57, - CrstIJWHash = 58, - CrstILStubGen = 59, - CrstInlineTrackingMap = 60, - CrstInstMethodHashTable = 61, - CrstInterfaceVTableMap = 62, - CrstInterop = 63, - CrstInteropData = 64, - CrstIOThreadpoolWorker = 65, - CrstIsJMCMethod = 66, - CrstISymUnmanagedReader = 67, - CrstJit = 68, - CrstJitGenericHandleCache = 69, - CrstJitInlineTrackingMap = 70, - CrstJitPatchpoint = 71, - CrstJitPerf = 72, - CrstJumpStubCache = 73, - CrstLeafLock = 74, - CrstListLock = 75, - CrstLoaderAllocator = 76, - CrstLoaderAllocatorReferences = 77, - CrstLoaderHeap = 78, - CrstMda = 79, - CrstMetadataTracker = 80, - CrstMethodDescBackpatchInfoTracker = 81, - CrstModIntPairList = 82, - CrstModule = 83, - CrstModuleFixup = 84, - CrstModuleLookupTable = 85, - CrstMulticoreJitHash = 86, - CrstMulticoreJitManager = 87, - CrstMUThunkHash = 88, - CrstNativeBinderInit = 89, - CrstNativeImageCache = 90, - CrstNativeImageEagerFixups = 91, - CrstNativeImageLoad = 92, - CrstNls = 93, - CrstNotifyGdb = 94, - CrstObjectList = 95, - CrstOnEventManager = 96, - CrstPatchEntryPoint = 97, - CrstPEImage = 98, - CrstPEImagePDBStream = 99, - CrstPendingTypeLoadEntry = 100, - CrstPinHandle = 101, - CrstPinnedByrefValidation = 102, - CrstProfilerGCRefDataFreeList = 103, - CrstProfilingAPIStatus = 104, - CrstPublisherCertificate = 105, - CrstRCWCache = 106, - CrstRCWCleanupList = 107, - CrstRCWRefCache = 108, - CrstReadyToRunEntryPointToMethodDescMap = 109, - CrstReDacl = 110, - CrstReflection = 111, - CrstReJITGlobalRequest = 112, - CrstRemoting = 113, - CrstRetThunkCache = 114, - CrstRWLock = 115, - CrstSavedExceptionInfo = 116, - CrstSaveModuleProfileData = 117, - CrstSecurityStackwalkCache = 118, - CrstSharedAssemblyCreate = 119, - CrstSigConvert = 120, - CrstSingleUseLock = 121, - CrstSpecialStatics = 122, - CrstSqmManager = 123, - CrstStackSampler = 124, - CrstStressLog = 125, - CrstStrongName = 126, - CrstStubCache = 127, - CrstStubDispatchCache = 128, - CrstStubUnwindInfoHeapSegments = 129, - CrstSyncBlockCache = 130, - CrstSyncHashLock = 131, - CrstSystemBaseDomain = 132, - CrstSystemDomain = 133, - CrstSystemDomainDelayedUnloadList = 134, - CrstThreadIdDispenser = 135, - CrstThreadpoolEventCache = 136, - CrstThreadpoolTimerQueue = 137, - CrstThreadpoolWaitThreads = 138, - CrstThreadpoolWorker = 139, - CrstThreadStaticDataHashTable = 140, - CrstThreadStore = 141, - CrstTieredCompilation = 142, - CrstTPMethodTable = 143, - CrstTypeEquivalenceMap = 144, - CrstTypeIDMap = 145, - CrstUMEntryThunkCache = 146, - CrstUMThunkHash = 147, - CrstUniqueStack = 148, - CrstUnresolvedClassLock = 149, - CrstUnwindInfoTableLock = 150, - CrstVSDIndirectionCellLock = 151, - CrstWrapperTemplate = 152, - kNumberOfCrstTypes = 153 + CrstEventPipeThreads = 42, + CrstEventStore = 43, + CrstException = 44, + CrstExecuteManLock = 45, + CrstExecuteManRangeLock = 46, + CrstExternalObjectContextCache = 47, + CrstFCall = 48, + CrstFriendAccessCache = 49, + CrstFuncPtrStubs = 50, + CrstFusionAppCtx = 51, + CrstGCCover = 52, + CrstGlobalStrLiteralMap = 53, + CrstHandleTable = 54, + CrstHostAssemblyMap = 55, + CrstHostAssemblyMapAdd = 56, + CrstIbcProfile = 57, + CrstIJWFixupData = 58, + CrstIJWHash = 59, + CrstILStubGen = 60, + CrstInlineTrackingMap = 61, + CrstInstMethodHashTable = 62, + CrstInterfaceVTableMap = 63, + CrstInterop = 64, + CrstInteropData = 65, + CrstIOThreadpoolWorker = 66, + CrstIsJMCMethod = 67, + CrstISymUnmanagedReader = 68, + CrstJit = 69, + CrstJitGenericHandleCache = 70, + CrstJitInlineTrackingMap = 71, + CrstJitPatchpoint = 72, + CrstJitPerf = 73, + CrstJumpStubCache = 74, + CrstLeafLock = 75, + CrstListLock = 76, + CrstLoaderAllocator = 77, + CrstLoaderAllocatorReferences = 78, + CrstLoaderHeap = 79, + CrstMda = 80, + CrstMetadataTracker = 81, + CrstMethodDescBackpatchInfoTracker = 82, + CrstModIntPairList = 83, + CrstModule = 84, + CrstModuleFixup = 85, + CrstModuleLookupTable = 86, + CrstMulticoreJitHash = 87, + CrstMulticoreJitManager = 88, + CrstMUThunkHash = 89, + CrstNativeBinderInit = 90, + CrstNativeImageCache = 91, + CrstNativeImageEagerFixups = 92, + CrstNativeImageLoad = 93, + CrstNls = 94, + CrstNotifyGdb = 95, + CrstObjectList = 96, + CrstOnEventManager = 97, + CrstPatchEntryPoint = 98, + CrstPEImage = 99, + CrstPEImagePDBStream = 100, + CrstPendingTypeLoadEntry = 101, + CrstPinHandle = 102, + CrstPinnedByrefValidation = 103, + CrstProfilerGCRefDataFreeList = 104, + CrstProfilingAPIStatus = 105, + CrstPublisherCertificate = 106, + CrstRCWCache = 107, + CrstRCWCleanupList = 108, + CrstRCWRefCache = 109, + CrstReadyToRunEntryPointToMethodDescMap = 110, + CrstReDacl = 111, + CrstReflection = 112, + CrstReJITGlobalRequest = 113, + CrstRemoting = 114, + CrstRetThunkCache = 115, + CrstRWLock = 116, + CrstSavedExceptionInfo = 117, + CrstSaveModuleProfileData = 118, + CrstSecurityStackwalkCache = 119, + CrstSharedAssemblyCreate = 120, + CrstSigConvert = 121, + CrstSingleUseLock = 122, + CrstSpecialStatics = 123, + CrstSqmManager = 124, + CrstStackSampler = 125, + CrstStressLog = 126, + CrstStrongName = 127, + CrstStubCache = 128, + CrstStubDispatchCache = 129, + CrstStubUnwindInfoHeapSegments = 130, + CrstSyncBlockCache = 131, + CrstSyncHashLock = 132, + CrstSystemBaseDomain = 133, + CrstSystemDomain = 134, + CrstSystemDomainDelayedUnloadList = 135, + CrstThreadIdDispenser = 136, + CrstThreadpoolEventCache = 137, + CrstThreadpoolTimerQueue = 138, + CrstThreadpoolWaitThreads = 139, + CrstThreadpoolWorker = 140, + CrstThreadStaticDataHashTable = 141, + CrstThreadStore = 142, + CrstTieredCompilation = 143, + CrstTPMethodTable = 144, + CrstTypeEquivalenceMap = 145, + CrstTypeIDMap = 146, + CrstUMEntryThunkCache = 147, + CrstUMThunkHash = 148, + CrstUniqueStack = 149, + CrstUnresolvedClassLock = 150, + CrstUnwindInfoTableLock = 151, + CrstVSDIndirectionCellLock = 152, + CrstWrapperTemplate = 153, + kNumberOfCrstTypes = 154 }; #endif // __CRST_TYPES_INCLUDED @@ -222,6 +223,7 @@ int g_rgCrstLevelMap[] = 3, // CrstDynLinkZapItems 0, // CrstEtwTypeLogHash 18, // CrstEventPipe + 0, // CrstEventPipeThreads 0, // CrstEventStore 0, // CrstException 7, // CrstExecuteManLock @@ -380,6 +382,7 @@ LPCSTR g_rgCrstNameMap[] = "CrstDynLinkZapItems", "CrstEtwTypeLogHash", "CrstEventPipe", + "CrstEventPipeThreads", "CrstEventStore", "CrstException", "CrstExecuteManLock", diff --git a/src/coreclr/src/vm/eventpipe.cpp b/src/coreclr/src/vm/eventpipe.cpp index 8f6bdcc451f51..957b86ac6862f 100644 --- a/src/coreclr/src/vm/eventpipe.cpp +++ b/src/coreclr/src/vm/eventpipe.cpp @@ -58,10 +58,12 @@ void EventPipe::Initialize() return; } - const bool tracingInitialized = s_configCrst.InitNoThrow( + bool tracingInitialized = s_configCrst.InitNoThrow( CrstEventPipe, (CrstFlags)(CRST_REENTRANCY | CRST_TAKEN_DURING_SHUTDOWN | CRST_HOST_BREAKABLE)); + tracingInitialized &= EventPipeThread::Initialize(); + // Initialize the session container to nullptr. for (VolatilePtr &session : s_pSessions) session.Store(nullptr); diff --git a/src/coreclr/src/vm/eventpipebuffermanager.cpp b/src/coreclr/src/vm/eventpipebuffermanager.cpp index f0f5f45394394..ac2ab5dfa4b68 100644 --- a/src/coreclr/src/vm/eventpipebuffermanager.cpp +++ b/src/coreclr/src/vm/eventpipebuffermanager.cpp @@ -1045,8 +1045,9 @@ void EventPipeBufferManager::SuspendWriteEvent(uint32_t sessionIndex) } } - // Wait for any straggler WriteEvent threads that may have already allocated a buffer but - // hadn't yet relinquished it. +#ifdef _DEBUG + // Sanity check that we don't have any straggler threads. They should have been taken care of in + // EventPipeSession::SuspendWriteEvent already. { SpinLockHolder _slh(&m_lock); SListElem *pElem = m_pThreadSessionStateList->GetHead(); @@ -1059,20 +1060,13 @@ void EventPipeBufferManager::SuspendWriteEvent(uint32_t sessionIndex) EventPipeThread *const pEventPipeThread = pBufferList->GetThread(); if (pEventPipeThread != nullptr) { - YIELD_WHILE(pEventPipeThread->GetSessionWriteInProgress() == sessionIndex); - // It still guarantees that the thread has returned its buffer, but it also now guarantees that - // that the thread has returned from Session::WriteEvent() and has relinquished the session pointer - // This yield is guaranteed to eventually finish because threads will eventually exit WriteEvent() - // setting the flag back to -1. If the thread could quickly re-enter WriteEvent and set the flag - // back to this_session_id we could theoretically get unlucky and never observe the gap, but - // setting s_pSessions[this_session_id] = NULL above guaranteed that can't happen indefinately. - // Sooner or later the thread is going to see the NULL value and once it does it won't store - // this_session_id into the flag again. + _ASSERTE(pEventPipeThread->GetSessionWriteInProgress() != sessionIndex); } } pElem = m_pThreadSessionStateList->GetNext(pElem); } } +#endif // _DEBUG } void EventPipeBufferManager::DeAllocateBuffers() diff --git a/src/coreclr/src/vm/eventpipecommontypes.h b/src/coreclr/src/vm/eventpipecommontypes.h index 8191c94b92bd0..88bc1b2ff122d 100644 --- a/src/coreclr/src/vm/eventpipecommontypes.h +++ b/src/coreclr/src/vm/eventpipecommontypes.h @@ -119,6 +119,39 @@ class EventPipeProviderCallbackDataQueue SList> list; }; +template +class EventPipeIterator +{ +private: + SList> *m_pList; + typename SList>::Iterator m_iterator; + +public: + EventPipeIterator(SList> *pList) : + m_pList(pList), + m_iterator(pList->begin()) + { + _ASSERTE(m_pList != nullptr); + } + + bool Next(T *ppProvider) + { + CONTRACTL + { + THROWS; + GC_NOTRIGGER; + MODE_ANY; + PRECONDITION(ppProvider != nullptr); + } + CONTRACTL_END; + + *ppProvider = *m_iterator; + ++m_iterator; + return m_iterator != m_pList->end(); + } + +}; + typedef void (*EventPipeSessionSynchronousCallback)( EventPipeProvider *provider, DWORD eventId, diff --git a/src/coreclr/src/vm/eventpipesession.cpp b/src/coreclr/src/vm/eventpipesession.cpp index a6b4b99367c06..8a62c2d8241a4 100644 --- a/src/coreclr/src/vm/eventpipesession.cpp +++ b/src/coreclr/src/vm/eventpipesession.cpp @@ -267,6 +267,36 @@ bool EventPipeSession::IsValid() const return !m_pProviderList->IsEmpty(); } +bool EventPipeSession::HasOnlyRundownProviders() const +{ + CONTRACTL + { + THROWS; + GC_TRIGGERS; + MODE_PREEMPTIVE; + PRECONDITION(EventPipe::IsLockOwnedByCurrentThread()); + } + CONTRACTL_END; + + if (m_pProviderList->IsEmpty()) + { + return true; + } + + EventPipeSessionProviderIterator providers = m_pProviderList->GetProviders(); + EventPipeSessionProvider *pProvider; + while (providers.Next(&pProvider)) + { + if (wcscmp(pProvider->GetProviderName(), W("Microsoft-Windows-DotNETRuntime")) != 0 + && wcscmp(pProvider->GetProviderName(), W("Microsoft-Windows-DotNETRuntimePrivate")) != 0) + { + return false; + } + } + + return true; +} + void EventPipeSession::AddSessionProvider(EventPipeSessionProvider *pProvider) { CONTRACTL @@ -533,11 +563,25 @@ void EventPipeSession::SuspendWriteEvent() THROWS; GC_TRIGGERS; MODE_PREEMPTIVE; + // Need to disable the session before calling this method + PRECONDITION(HasOnlyRundownProviders()); } CONTRACTL_END; - // TODO: disable has already been called, keep a list of all EventPipe threads - // and then iterate waiting until no thread is writing to this session before continuing + { + CrstHolder crst(EventPipeThread::GetGlobalThreadLock()); + + EventPipeThreadIterator eventPipeThreads = EventPipeThread::GetThreads(); + EventPipeThread *pThread = nullptr; + while (eventPipeThreads.Next(&pThread)) + { + // Wait for the thread to finish any writes to this session + YIELD_WHILE(pThread->GetSessionWriteInProgress() == GetIndex()); + + // Since we've already disabled the session, the thread won't call back in to this + // session once its done with the current write + } + } if (m_pBufferManager != nullptr) { diff --git a/src/coreclr/src/vm/eventpipesession.h b/src/coreclr/src/vm/eventpipesession.h index 4c98831c10122..4476652bba9cf 100644 --- a/src/coreclr/src/vm/eventpipesession.h +++ b/src/coreclr/src/vm/eventpipesession.h @@ -241,6 +241,8 @@ class EventPipeSession // Determine if the session is valid or not. Invalid sessions can be detected before they are enabled. bool IsValid() const; + bool HasOnlyRundownProviders() const; + bool HasIpcStreamingStarted() /* This is not const because CrtsHolder does not take a const* */; }; diff --git a/src/coreclr/src/vm/eventpipesessionprovider.cpp b/src/coreclr/src/vm/eventpipesessionprovider.cpp index 49e5b36812903..c3e05c097238f 100644 --- a/src/coreclr/src/vm/eventpipesessionprovider.cpp +++ b/src/coreclr/src/vm/eventpipesessionprovider.cpp @@ -8,29 +8,6 @@ #ifdef FEATURE_PERFTRACING -EventPipeSessionProviderIterator::EventPipeSessionProviderIterator(SList> *pList) : - m_pList(pList), - m_iterator(pList->begin()) -{ - _ASSERTE(m_pList != nullptr); -} - -bool EventPipeSessionProviderIterator::Next(EventPipeSessionProvider **ppProvider) -{ - CONTRACTL - { - THROWS; - GC_NOTRIGGER; - MODE_ANY; - PRECONDITION(ppProvider != nullptr); - } - CONTRACTL_END; - - *ppProvider = *m_iterator; - ++m_iterator; - return m_iterator != m_pList->end(); -} - EventPipeSessionProvider::EventPipeSessionProvider( LPCWSTR providerName, UINT64 keywords, diff --git a/src/coreclr/src/vm/eventpipesessionprovider.h b/src/coreclr/src/vm/eventpipesessionprovider.h index a2f01f4082934..37c715bdf36b3 100644 --- a/src/coreclr/src/vm/eventpipesessionprovider.h +++ b/src/coreclr/src/vm/eventpipesessionprovider.h @@ -6,17 +6,7 @@ enum class EventPipeEventLevel; class EventPipeProvider; -class EventPipeSessionProviderIterator -{ -private: - SList> *m_pList; - SList>::Iterator m_iterator; - -public: - EventPipeSessionProviderIterator(SList> *pList); - - bool Next(EventPipeSessionProvider **ppProvider); -}; +typedef EventPipeIterator EventPipeSessionProviderIterator; class EventPipeSessionProvider { diff --git a/src/coreclr/src/vm/eventpipethread.cpp b/src/coreclr/src/vm/eventpipethread.cpp index 24c678658fbab..fba21678ef117 100644 --- a/src/coreclr/src/vm/eventpipethread.cpp +++ b/src/coreclr/src/vm/eventpipethread.cpp @@ -88,8 +88,6 @@ void EventPipeThreadSessionState::IncrementSequenceNumber() m_sequenceNumber++; } - - void ReleaseEventPipeThreadRef(EventPipeThread *pThread) { LIMITED_METHOD_CONTRACT; @@ -104,6 +102,9 @@ void AcquireEventPipeThreadRef(EventPipeThread *pThread) thread_local EventPipeThreadHolder EventPipeThread::gCurrentEventPipeThreadHolder; +CrstStatic EventPipeThread::s_threadsCrst; +SList> EventPipeThread::s_pThreads; + EventPipeThread::EventPipeThread() { CONTRACTL @@ -136,13 +137,22 @@ EventPipeThread::~EventPipeThread() #endif } -/*static */ EventPipeThread *EventPipeThread::Get() +bool EventPipeThread::Initialize() +{ + LIMITED_METHOD_CONTRACT; + + return s_threadsCrst.InitNoThrow( + CrstEventPipeThreads, + (CrstFlags)(CRST_TAKEN_DURING_SHUTDOWN)); +} + +EventPipeThread *EventPipeThread::Get() { LIMITED_METHOD_CONTRACT; return gCurrentEventPipeThreadHolder; } -/*static */ EventPipeThread* EventPipeThread::GetOrCreate() +EventPipeThread* EventPipeThread::GetOrCreate() { CONTRACTL { @@ -157,6 +167,11 @@ EventPipeThread::~EventPipeThread() EX_TRY { gCurrentEventPipeThreadHolder = new EventPipeThread(); + + { + CrstHolder crst(&s_threadsCrst); + s_pThreads.InsertTail(new SListElem((EventPipeThread *)gCurrentEventPipeThreadHolder)); + } } EX_CATCH { @@ -166,6 +181,13 @@ EventPipeThread::~EventPipeThread() return gCurrentEventPipeThreadHolder; } +EventPipeThreadIterator EventPipeThread::GetThreads() +{ + LIMITED_METHOD_CONTRACT; + + return EventPipeThreadIterator(&s_pThreads); +} + void EventPipeThread::AddRef() { LIMITED_METHOD_CONTRACT; @@ -175,8 +197,32 @@ void EventPipeThread::AddRef() void EventPipeThread::Release() { LIMITED_METHOD_CONTRACT; + if (FastInterlockDecrement(&m_refCount) == 0) { + CrstHolder crst(&s_threadsCrst); + + // Remove ourselves from the global list + SListElem *pElem = s_pThreads.GetHead(); + while (pElem != nullptr) + { + // A null value shouldn't ever be added to the list + _ASSERTE(pElem->GetValue() != nullptr); + + if (pElem->GetValue() == this) + { + break; + } + + pElem = s_pThreads.GetNext(pElem); + } + + if (pElem == nullptr || s_pThreads.FindAndRemove(pElem) == nullptr) + { + // We should always be in the list + _ASSERTE(!"We couldn't find ourselves in the global thread list"); + } + // https://isocpp.org/wiki/faq/freestore-mgmt#delete-this // As long as you're careful, it's okay (not evil) for an object to commit suicide (delete this). delete this; diff --git a/src/coreclr/src/vm/eventpipethread.h b/src/coreclr/src/vm/eventpipethread.h index 981efb02d10cb..f4b4a20ecd403 100644 --- a/src/coreclr/src/vm/eventpipethread.h +++ b/src/coreclr/src/vm/eventpipethread.h @@ -19,7 +19,9 @@ class EventPipeThread; void ReleaseEventPipeThreadRef(EventPipeThread* pThread); void AcquireEventPipeThreadRef(EventPipeThread* pThread); -typedef Wrapper EventPipeThreadHolder; +typedef Wrapper EventPipeThreadHolder; + +typedef EventPipeIterator EventPipeThreadIterator; class EventPipeThreadSessionState { @@ -85,6 +87,9 @@ class EventPipeThread { static thread_local EventPipeThreadHolder gCurrentEventPipeThreadHolder; + static CrstStatic s_threadsCrst; + static SList> s_pThreads; + ~EventPipeThread(); // The EventPipeThreadHolder maintains one count while the thread is alive @@ -115,11 +120,23 @@ class EventPipeThread // EventPipeSession *m_pRundownSession = nullptr; + // Use Get/GetOrCreate instead + EventPipeThread(); + public: + static bool Initialize(); + static EventPipeThread *Get(); static EventPipeThread* GetOrCreate(); - EventPipeThread(); + static EventPipeThreadIterator GetThreads(); + static CrstStatic *GetGlobalThreadLock() + { + LIMITED_METHOD_CONTRACT; + + return &s_threadsCrst; + } + void AddRef(); void Release(); SpinLock *GetLock(); diff --git a/src/coreclr/src/vm/sampleprofiler.cpp b/src/coreclr/src/vm/sampleprofiler.cpp index da7c2771e0b9d..cd73512080a8e 100644 --- a/src/coreclr/src/vm/sampleprofiler.cpp +++ b/src/coreclr/src/vm/sampleprofiler.cpp @@ -132,9 +132,6 @@ void SampleProfiler::CanStartSampling() THROWS; GC_TRIGGERS; MODE_ANY; - PRECONDITION(s_pEventPipeProvider != nullptr); - PRECONDITION(s_pThreadTimeEvent != nullptr); - // Synchronization of multiple callers occurs in EventPipe::Enable. PRECONDITION(EventPipe::IsLockOwnedByCurrentThread()); } CONTRACTL_END; From 7cb9a1a449a7a8a213004edb8eef0e030a7641d1 Mon Sep 17 00:00:00 2001 From: David Mason Date: Sun, 21 Jun 2020 01:01:30 -0700 Subject: [PATCH 11/24] after EventPipe starts shutting down return an error for EventPipeStartSession --- src/coreclr/src/vm/proftoeeinterfaceimpl.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp b/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp index 72b9a8aee2e72..24a3db57ec66f 100644 --- a/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp +++ b/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp @@ -7079,9 +7079,16 @@ HRESULT ProfToEEInterfaceImpl::EventPipeStartSession( requestRundown, NULL, &ProfToEEInterfaceImpl::EventPipeCallbackHelper); - EventPipe::StartStreaming(sessionID); + if (sessionID != 0) + { + EventPipe::StartStreaming(sessionID); - *pSession = sessionID; + *pSession = sessionID; + } + else + { + hr = E_FAIL; + } } EX_CATCH_HRESULT(hr); From c132d071e2c2b2c2eec9eef1fc9616ac45b5f615 Mon Sep 17 00:00:00 2001 From: David Mason Date: Sun, 21 Jun 2020 23:53:18 -0700 Subject: [PATCH 12/24] switch to spinlock since we can't use crst in gc_notrigger/coop --- src/coreclr/src/inc/CrstTypes.def | 3 - src/coreclr/src/inc/crsttypes.h | 227 ++++++++++++------------ src/coreclr/src/vm/eventpipe.cpp | 4 +- src/coreclr/src/vm/eventpipesession.cpp | 2 +- src/coreclr/src/vm/eventpipethread.cpp | 12 +- src/coreclr/src/vm/eventpipethread.h | 8 +- 6 files changed, 124 insertions(+), 132 deletions(-) diff --git a/src/coreclr/src/inc/CrstTypes.def b/src/coreclr/src/inc/CrstTypes.def index ca009614db769..58a5fe2daf529 100644 --- a/src/coreclr/src/inc/CrstTypes.def +++ b/src/coreclr/src/inc/CrstTypes.def @@ -680,9 +680,6 @@ Crst EventPipe AcquiredBefore ThreadIdDispenser ThreadStore DomainLocalBlock InstMethodHashTable End -Crst EventPipeThreads -End - Crst NotifyGdb End diff --git a/src/coreclr/src/inc/crsttypes.h b/src/coreclr/src/inc/crsttypes.h index 2d1b3f7aedb4d..15ff9d8bfc550 100644 --- a/src/coreclr/src/inc/crsttypes.h +++ b/src/coreclr/src/inc/crsttypes.h @@ -58,119 +58,118 @@ enum CrstType CrstDynLinkZapItems = 39, CrstEtwTypeLogHash = 40, CrstEventPipe = 41, - CrstEventPipeThreads = 42, - CrstEventStore = 43, - CrstException = 44, - CrstExecuteManLock = 45, - CrstExecuteManRangeLock = 46, - CrstExternalObjectContextCache = 47, - CrstFCall = 48, - CrstFriendAccessCache = 49, - CrstFuncPtrStubs = 50, - CrstFusionAppCtx = 51, - CrstGCCover = 52, - CrstGlobalStrLiteralMap = 53, - CrstHandleTable = 54, - CrstHostAssemblyMap = 55, - CrstHostAssemblyMapAdd = 56, - CrstIbcProfile = 57, - CrstIJWFixupData = 58, - CrstIJWHash = 59, - CrstILStubGen = 60, - CrstInlineTrackingMap = 61, - CrstInstMethodHashTable = 62, - CrstInterfaceVTableMap = 63, - CrstInterop = 64, - CrstInteropData = 65, - CrstIOThreadpoolWorker = 66, - CrstIsJMCMethod = 67, - CrstISymUnmanagedReader = 68, - CrstJit = 69, - CrstJitGenericHandleCache = 70, - CrstJitInlineTrackingMap = 71, - CrstJitPatchpoint = 72, - CrstJitPerf = 73, - CrstJumpStubCache = 74, - CrstLeafLock = 75, - CrstListLock = 76, - CrstLoaderAllocator = 77, - CrstLoaderAllocatorReferences = 78, - CrstLoaderHeap = 79, - CrstMda = 80, - CrstMetadataTracker = 81, - CrstMethodDescBackpatchInfoTracker = 82, - CrstModIntPairList = 83, - CrstModule = 84, - CrstModuleFixup = 85, - CrstModuleLookupTable = 86, - CrstMulticoreJitHash = 87, - CrstMulticoreJitManager = 88, - CrstMUThunkHash = 89, - CrstNativeBinderInit = 90, - CrstNativeImageCache = 91, - CrstNativeImageEagerFixups = 92, - CrstNativeImageLoad = 93, - CrstNls = 94, - CrstNotifyGdb = 95, - CrstObjectList = 96, - CrstOnEventManager = 97, - CrstPatchEntryPoint = 98, - CrstPEImage = 99, - CrstPEImagePDBStream = 100, - CrstPendingTypeLoadEntry = 101, - CrstPinHandle = 102, - CrstPinnedByrefValidation = 103, - CrstProfilerGCRefDataFreeList = 104, - CrstProfilingAPIStatus = 105, - CrstPublisherCertificate = 106, - CrstRCWCache = 107, - CrstRCWCleanupList = 108, - CrstRCWRefCache = 109, - CrstReadyToRunEntryPointToMethodDescMap = 110, - CrstReDacl = 111, - CrstReflection = 112, - CrstReJITGlobalRequest = 113, - CrstRemoting = 114, - CrstRetThunkCache = 115, - CrstRWLock = 116, - CrstSavedExceptionInfo = 117, - CrstSaveModuleProfileData = 118, - CrstSecurityStackwalkCache = 119, - CrstSharedAssemblyCreate = 120, - CrstSigConvert = 121, - CrstSingleUseLock = 122, - CrstSpecialStatics = 123, - CrstSqmManager = 124, - CrstStackSampler = 125, - CrstStressLog = 126, - CrstStrongName = 127, - CrstStubCache = 128, - CrstStubDispatchCache = 129, - CrstStubUnwindInfoHeapSegments = 130, - CrstSyncBlockCache = 131, - CrstSyncHashLock = 132, - CrstSystemBaseDomain = 133, - CrstSystemDomain = 134, - CrstSystemDomainDelayedUnloadList = 135, - CrstThreadIdDispenser = 136, - CrstThreadpoolEventCache = 137, - CrstThreadpoolTimerQueue = 138, - CrstThreadpoolWaitThreads = 139, - CrstThreadpoolWorker = 140, - CrstThreadStaticDataHashTable = 141, - CrstThreadStore = 142, - CrstTieredCompilation = 143, - CrstTPMethodTable = 144, - CrstTypeEquivalenceMap = 145, - CrstTypeIDMap = 146, - CrstUMEntryThunkCache = 147, - CrstUMThunkHash = 148, - CrstUniqueStack = 149, - CrstUnresolvedClassLock = 150, - CrstUnwindInfoTableLock = 151, - CrstVSDIndirectionCellLock = 152, - CrstWrapperTemplate = 153, - kNumberOfCrstTypes = 154 + CrstEventStore = 42, + CrstException = 43, + CrstExecuteManLock = 44, + CrstExecuteManRangeLock = 45, + CrstExternalObjectContextCache = 46, + CrstFCall = 47, + CrstFriendAccessCache = 48, + CrstFuncPtrStubs = 49, + CrstFusionAppCtx = 50, + CrstGCCover = 51, + CrstGlobalStrLiteralMap = 52, + CrstHandleTable = 53, + CrstHostAssemblyMap = 54, + CrstHostAssemblyMapAdd = 55, + CrstIbcProfile = 56, + CrstIJWFixupData = 57, + CrstIJWHash = 58, + CrstILStubGen = 59, + CrstInlineTrackingMap = 60, + CrstInstMethodHashTable = 61, + CrstInterfaceVTableMap = 62, + CrstInterop = 63, + CrstInteropData = 64, + CrstIOThreadpoolWorker = 65, + CrstIsJMCMethod = 66, + CrstISymUnmanagedReader = 67, + CrstJit = 68, + CrstJitGenericHandleCache = 69, + CrstJitInlineTrackingMap = 70, + CrstJitPatchpoint = 71, + CrstJitPerf = 72, + CrstJumpStubCache = 73, + CrstLeafLock = 74, + CrstListLock = 75, + CrstLoaderAllocator = 76, + CrstLoaderAllocatorReferences = 77, + CrstLoaderHeap = 78, + CrstMda = 79, + CrstMetadataTracker = 80, + CrstMethodDescBackpatchInfoTracker = 81, + CrstModIntPairList = 82, + CrstModule = 83, + CrstModuleFixup = 84, + CrstModuleLookupTable = 85, + CrstMulticoreJitHash = 86, + CrstMulticoreJitManager = 87, + CrstMUThunkHash = 88, + CrstNativeBinderInit = 89, + CrstNativeImageCache = 90, + CrstNativeImageEagerFixups = 91, + CrstNativeImageLoad = 92, + CrstNls = 93, + CrstNotifyGdb = 94, + CrstObjectList = 95, + CrstOnEventManager = 96, + CrstPatchEntryPoint = 97, + CrstPEImage = 98, + CrstPEImagePDBStream = 99, + CrstPendingTypeLoadEntry = 100, + CrstPinHandle = 101, + CrstPinnedByrefValidation = 102, + CrstProfilerGCRefDataFreeList = 103, + CrstProfilingAPIStatus = 104, + CrstPublisherCertificate = 105, + CrstRCWCache = 106, + CrstRCWCleanupList = 107, + CrstRCWRefCache = 108, + CrstReadyToRunEntryPointToMethodDescMap = 109, + CrstReDacl = 110, + CrstReflection = 111, + CrstReJITGlobalRequest = 112, + CrstRemoting = 113, + CrstRetThunkCache = 114, + CrstRWLock = 115, + CrstSavedExceptionInfo = 116, + CrstSaveModuleProfileData = 117, + CrstSecurityStackwalkCache = 118, + CrstSharedAssemblyCreate = 119, + CrstSigConvert = 120, + CrstSingleUseLock = 121, + CrstSpecialStatics = 122, + CrstSqmManager = 123, + CrstStackSampler = 124, + CrstStressLog = 125, + CrstStrongName = 126, + CrstStubCache = 127, + CrstStubDispatchCache = 128, + CrstStubUnwindInfoHeapSegments = 129, + CrstSyncBlockCache = 130, + CrstSyncHashLock = 131, + CrstSystemBaseDomain = 132, + CrstSystemDomain = 133, + CrstSystemDomainDelayedUnloadList = 134, + CrstThreadIdDispenser = 135, + CrstThreadpoolEventCache = 136, + CrstThreadpoolTimerQueue = 137, + CrstThreadpoolWaitThreads = 138, + CrstThreadpoolWorker = 139, + CrstThreadStaticDataHashTable = 140, + CrstThreadStore = 141, + CrstTieredCompilation = 142, + CrstTPMethodTable = 143, + CrstTypeEquivalenceMap = 144, + CrstTypeIDMap = 145, + CrstUMEntryThunkCache = 146, + CrstUMThunkHash = 147, + CrstUniqueStack = 148, + CrstUnresolvedClassLock = 149, + CrstUnwindInfoTableLock = 150, + CrstVSDIndirectionCellLock = 151, + CrstWrapperTemplate = 152, + kNumberOfCrstTypes = 153 }; #endif // __CRST_TYPES_INCLUDED @@ -223,7 +222,6 @@ int g_rgCrstLevelMap[] = 3, // CrstDynLinkZapItems 0, // CrstEtwTypeLogHash 18, // CrstEventPipe - 0, // CrstEventPipeThreads 0, // CrstEventStore 0, // CrstException 7, // CrstExecuteManLock @@ -382,7 +380,6 @@ LPCSTR g_rgCrstNameMap[] = "CrstDynLinkZapItems", "CrstEtwTypeLogHash", "CrstEventPipe", - "CrstEventPipeThreads", "CrstEventStore", "CrstException", "CrstExecuteManLock", diff --git a/src/coreclr/src/vm/eventpipe.cpp b/src/coreclr/src/vm/eventpipe.cpp index 957b86ac6862f..204aa0bc7ad20 100644 --- a/src/coreclr/src/vm/eventpipe.cpp +++ b/src/coreclr/src/vm/eventpipe.cpp @@ -58,11 +58,11 @@ void EventPipe::Initialize() return; } - bool tracingInitialized = s_configCrst.InitNoThrow( + const bool tracingInitialized = s_configCrst.InitNoThrow( CrstEventPipe, (CrstFlags)(CRST_REENTRANCY | CRST_TAKEN_DURING_SHUTDOWN | CRST_HOST_BREAKABLE)); - tracingInitialized &= EventPipeThread::Initialize(); + EventPipeThread::Initialize(); // Initialize the session container to nullptr. for (VolatilePtr &session : s_pSessions) diff --git a/src/coreclr/src/vm/eventpipesession.cpp b/src/coreclr/src/vm/eventpipesession.cpp index 8a62c2d8241a4..1e116e259c502 100644 --- a/src/coreclr/src/vm/eventpipesession.cpp +++ b/src/coreclr/src/vm/eventpipesession.cpp @@ -569,7 +569,7 @@ void EventPipeSession::SuspendWriteEvent() CONTRACTL_END; { - CrstHolder crst(EventPipeThread::GetGlobalThreadLock()); + SpinLockHolder holder(EventPipeThread::GetGlobalThreadLock()); EventPipeThreadIterator eventPipeThreads = EventPipeThread::GetThreads(); EventPipeThread *pThread = nullptr; diff --git a/src/coreclr/src/vm/eventpipethread.cpp b/src/coreclr/src/vm/eventpipethread.cpp index fba21678ef117..71d4aaf62f216 100644 --- a/src/coreclr/src/vm/eventpipethread.cpp +++ b/src/coreclr/src/vm/eventpipethread.cpp @@ -102,7 +102,7 @@ void AcquireEventPipeThreadRef(EventPipeThread *pThread) thread_local EventPipeThreadHolder EventPipeThread::gCurrentEventPipeThreadHolder; -CrstStatic EventPipeThread::s_threadsCrst; +SpinLock EventPipeThread::s_threadsLock; SList> EventPipeThread::s_pThreads; EventPipeThread::EventPipeThread() @@ -137,13 +137,11 @@ EventPipeThread::~EventPipeThread() #endif } -bool EventPipeThread::Initialize() +void EventPipeThread::Initialize() { LIMITED_METHOD_CONTRACT; - return s_threadsCrst.InitNoThrow( - CrstEventPipeThreads, - (CrstFlags)(CRST_TAKEN_DURING_SHUTDOWN)); + s_threadsLock.Init(LOCK_TYPE_DEFAULT); } EventPipeThread *EventPipeThread::Get() @@ -169,7 +167,7 @@ EventPipeThread* EventPipeThread::GetOrCreate() gCurrentEventPipeThreadHolder = new EventPipeThread(); { - CrstHolder crst(&s_threadsCrst); + SpinLockHolder crst(&s_threadsLock); s_pThreads.InsertTail(new SListElem((EventPipeThread *)gCurrentEventPipeThreadHolder)); } } @@ -200,7 +198,7 @@ void EventPipeThread::Release() if (FastInterlockDecrement(&m_refCount) == 0) { - CrstHolder crst(&s_threadsCrst); + SpinLockHolder crst(&s_threadsLock); // Remove ourselves from the global list SListElem *pElem = s_pThreads.GetHead(); diff --git a/src/coreclr/src/vm/eventpipethread.h b/src/coreclr/src/vm/eventpipethread.h index f4b4a20ecd403..9d675202842c0 100644 --- a/src/coreclr/src/vm/eventpipethread.h +++ b/src/coreclr/src/vm/eventpipethread.h @@ -87,7 +87,7 @@ class EventPipeThread { static thread_local EventPipeThreadHolder gCurrentEventPipeThreadHolder; - static CrstStatic s_threadsCrst; + static SpinLock s_threadsLock; static SList> s_pThreads; ~EventPipeThread(); @@ -124,17 +124,17 @@ class EventPipeThread EventPipeThread(); public: - static bool Initialize(); + static void Initialize(); static EventPipeThread *Get(); static EventPipeThread* GetOrCreate(); static EventPipeThreadIterator GetThreads(); - static CrstStatic *GetGlobalThreadLock() + static SpinLock *GetGlobalThreadLock() { LIMITED_METHOD_CONTRACT; - return &s_threadsCrst; + return &s_threadsLock; } void AddRef(); From ee9aee84b1b6eba105b9b9ed34bead9e07524c52 Mon Sep 17 00:00:00 2001 From: David Mason Date: Tue, 23 Jun 2020 10:11:45 -0700 Subject: [PATCH 13/24] Add assert and remove unused variable --- src/coreclr/src/vm/eventpipe.cpp | 1 - src/coreclr/src/vm/eventpipesession.cpp | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/coreclr/src/vm/eventpipe.cpp b/src/coreclr/src/vm/eventpipe.cpp index 204aa0bc7ad20..b82713d735a0b 100644 --- a/src/coreclr/src/vm/eventpipe.cpp +++ b/src/coreclr/src/vm/eventpipe.cpp @@ -391,7 +391,6 @@ bool EventPipe::EnableInternal( s_config.Enable(*pSession, pEventPipeProviderCallbackDataQueue); // Find out if the session requested samples - bool enableSampleProfiler = false; EventPipeSessionProviderIterator providerList = pSession->GetProviders(); EventPipeSessionProvider *pProvider = nullptr; while (providerList.Next(&pProvider)) diff --git a/src/coreclr/src/vm/eventpipesession.cpp b/src/coreclr/src/vm/eventpipesession.cpp index 1e116e259c502..234fa428215cc 100644 --- a/src/coreclr/src/vm/eventpipesession.cpp +++ b/src/coreclr/src/vm/eventpipesession.cpp @@ -422,6 +422,8 @@ EventPipeEventInstance *EventPipeSession::GetNextEvent() if (m_pBufferManager == nullptr) { + // Shouldn't call GetNextEvent on a synchronous session + _ASSERTE(false); return nullptr; } @@ -434,6 +436,8 @@ CLREvent *EventPipeSession::GetWaitEvent() if (m_pBufferManager == nullptr) { + // Shouldn't call GetWaitEvent on a synchronous session + _ASSERTE(false); return nullptr; } From 540d8e3970210b981d148ce82ad14f88bc90a91d Mon Sep 17 00:00:00 2001 From: David Mason Date: Tue, 23 Jun 2020 10:21:49 -0700 Subject: [PATCH 14/24] Move storing null to the session array before EventPipeSession::SuspendWriteEvent --- src/coreclr/src/vm/eventpipe.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/coreclr/src/vm/eventpipe.cpp b/src/coreclr/src/vm/eventpipe.cpp index b82713d735a0b..c8b516a14db20 100644 --- a/src/coreclr/src/vm/eventpipe.cpp +++ b/src/coreclr/src/vm/eventpipe.cpp @@ -537,19 +537,19 @@ void EventPipe::DisableInternal(EventPipeSessionID id, EventPipeProviderCallback } s_allowWrite &= ~(pSession->GetMask()); + + // Remove the session from the array before calling SuspendWriteEvent. This way + // we can guarantee that either the event write got the pointer and will complete + // the write successfully, or it gets null and will bail. + _ASSERTE(s_pSessions[pSession->GetIndex()] == pSession); + s_pSessions[pSession->GetIndex()].Store(nullptr); + pSession->SuspendWriteEvent(); bool ignored; pSession->WriteAllBuffersToFile(&ignored); // Flush the buffers to the stream/file --s_numberOfSessions; - // At this point, we should not be writing events to this session anymore - // This is a good time to remove the session from the array. - _ASSERTE(s_pSessions[pSession->GetIndex()] == pSession); - - // Remove the session from the array, and mask. - s_pSessions[pSession->GetIndex()].Store(nullptr); - // Write a final sequence point to the file now that all events have // been emitted. pSession->WriteSequencePointUnbuffered(); From 5eca5ef0880ea37851f955eaf0f87d308c355bb0 Mon Sep 17 00:00:00 2001 From: David Mason Date: Tue, 23 Jun 2020 14:18:07 -0700 Subject: [PATCH 15/24] remove spurious assert --- src/coreclr/src/vm/sampleprofiler.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/coreclr/src/vm/sampleprofiler.cpp b/src/coreclr/src/vm/sampleprofiler.cpp index cd73512080a8e..fab47690d9eb6 100644 --- a/src/coreclr/src/vm/sampleprofiler.cpp +++ b/src/coreclr/src/vm/sampleprofiler.cpp @@ -69,7 +69,6 @@ void SampleProfiler::Enable() MODE_ANY; PRECONDITION(s_pEventPipeProvider != nullptr); PRECONDITION(s_pThreadTimeEvent != nullptr); - PRECONDITION((s_pSamplingThread == NULL && s_refCount == 0) || ((s_pSamplingThread != NULL && s_refCount > 0))); // Synchronization of multiple callers occurs in EventPipe::Enable. PRECONDITION(EventPipe::IsLockOwnedByCurrentThread()); } From 619f4b875d2c66751c10a0e3a6bc388a6ccc92da Mon Sep 17 00:00:00 2001 From: David Mason Date: Wed, 24 Jun 2020 12:29:32 -0700 Subject: [PATCH 16/24] Fix SampleProfiler refcount issue, double profiler callback, remove unnecessary loop, and make a more straightforward assert --- src/coreclr/src/vm/eventpipe.cpp | 47 +++++++++++++------ src/coreclr/src/vm/eventpipe.h | 4 ++ src/coreclr/src/vm/eventpipebuffermanager.cpp | 30 +++--------- src/coreclr/src/vm/eventpipesession.cpp | 32 +------------ src/coreclr/src/vm/eventpipesession.h | 2 - 5 files changed, 44 insertions(+), 71 deletions(-) diff --git a/src/coreclr/src/vm/eventpipe.cpp b/src/coreclr/src/vm/eventpipe.cpp index c8b516a14db20..2d888fe17220f 100644 --- a/src/coreclr/src/vm/eventpipe.cpp +++ b/src/coreclr/src/vm/eventpipe.cpp @@ -390,15 +390,9 @@ bool EventPipe::EnableInternal( // Enable tracing. s_config.Enable(*pSession, pEventPipeProviderCallbackDataQueue); - // Find out if the session requested samples - EventPipeSessionProviderIterator providerList = pSession->GetProviders(); - EventPipeSessionProvider *pProvider = nullptr; - while (providerList.Next(&pProvider)) + if (SessionRequestedSampling(pSession)) { - if (wcscmp(pProvider->GetProviderName(), W("Microsoft-DotNETCore-SampleProfiler")) == 0) - { - SampleProfiler::Enable(); - } + SampleProfiler::Enable(); } return true; @@ -501,8 +495,11 @@ void EventPipe::DisableInternal(EventPipeSessionID id, EventPipeProviderCallback // If the session was not found, then there is nothing else to do. EventPipeSession *const pSession = reinterpret_cast(id); - // Disable the profiler. - SampleProfiler::Disable(); + if (SessionRequestedSampling(pSession)) + { + // Disable the profiler. + SampleProfiler::Disable(); + } // Log the process information event. LogProcessInformationEvent(*s_pEventSource); @@ -578,6 +575,14 @@ EventPipeSession *EventPipe::GetSession(EventPipeSessionID id) } } +bool EventPipe::IsSessionEnabled(EventPipeSessionID id) +{ + LIMITED_METHOD_CONTRACT; + + const EventPipeSession *const pSession = reinterpret_cast(id); + return s_pSessions[pSession->GetIndex()].Load() != nullptr; +} + EventPipeProvider *EventPipe::CreateProvider(const SString &providerName, EventPipeCallback pCallbackFunction, void *pCallbackData) { CONTRACTL @@ -609,13 +614,10 @@ EventPipeProvider *EventPipe::CreateProvider(const SString &providerName, EventP } CONTRACTL_END; - EventPipeProvider *pProvider = s_config.CreateProvider(providerName, + return s_config.CreateProvider(providerName, pCallbackFunction, pCallbackData, pEventPipeProviderCallbackDataQueue); - - NotifyProfilerProviderCreated(pProvider); - return pProvider; } EventPipeProvider *EventPipe::GetProvider(const SString &providerName) @@ -968,6 +970,23 @@ bool EventPipe::IsSessionIdInCollection(EventPipeSessionID id) return false; } +bool EventPipe::SessionRequestedSampling(EventPipeSession *pSession) +{ + LIMITED_METHOD_CONTRACT; + + EventPipeSessionProviderIterator providerList = pSession->GetProviders(); + EventPipeSessionProvider *pProvider = nullptr; + while (providerList.Next(&pProvider)) + { + if (wcscmp(pProvider->GetProviderName(), W("Microsoft-DotNETCore-SampleProfiler")) == 0) + { + return true; + } + } + + return false; +} + EventPipeEventInstance *EventPipe::GetNextEvent(EventPipeSessionID sessionID) { CONTRACTL diff --git a/src/coreclr/src/vm/eventpipe.h b/src/coreclr/src/vm/eventpipe.h index 4c30ef9809e87..4bfd3a9e7a866 100644 --- a/src/coreclr/src/vm/eventpipe.h +++ b/src/coreclr/src/vm/eventpipe.h @@ -73,6 +73,8 @@ class EventPipe // Get the session for the specified session ID. static EventPipeSession *GetSession(EventPipeSessionID id); + static bool IsSessionEnabled(EventPipeSessionID id); + // start sending the required events down the pipe // starting with file header info and then buffered events static void StartStreaming(EventPipeSessionID id); @@ -227,6 +229,8 @@ class EventPipe #endif // DACCESS_COMPILE } + static bool SessionRequestedSampling(EventPipeSession *pSession); + static CrstStatic s_configCrst; static Volatile s_state; static EventPipeConfiguration s_config; diff --git a/src/coreclr/src/vm/eventpipebuffermanager.cpp b/src/coreclr/src/vm/eventpipebuffermanager.cpp index ac2ab5dfa4b68..da6284c9cb53a 100644 --- a/src/coreclr/src/vm/eventpipebuffermanager.cpp +++ b/src/coreclr/src/vm/eventpipebuffermanager.cpp @@ -1019,8 +1019,13 @@ void EventPipeBufferManager::SuspendWriteEvent(uint32_t sessionIndex) SListElem *pElem = m_pThreadSessionStateList->GetHead(); while (pElem != NULL) { - threadList.Push(pElem->GetValue()->GetThread()); + EventPipeThread *pThread = pElem->GetValue()->GetThread(); + threadList.Push(pThread); pElem = m_pThreadSessionStateList->GetNext(pElem); + + // Once EventPipeSession::SuspendWriteEvent completes, we shouldn't have any + // in progress writes left. + _ASSERTE(pThread->GetSessionWriteInProgress() != sessionIndex); } } @@ -1044,29 +1049,6 @@ void EventPipeBufferManager::SuspendWriteEvent(uint32_t sessionIndex) // lock and we already set it TRUE. } } - -#ifdef _DEBUG - // Sanity check that we don't have any straggler threads. They should have been taken care of in - // EventPipeSession::SuspendWriteEvent already. - { - SpinLockHolder _slh(&m_lock); - SListElem *pElem = m_pThreadSessionStateList->GetHead(); - while (pElem != NULL) - { - // Get the list and remove it from the thread. - EventPipeBufferList *const pBufferList = pElem->GetValue()->GetBufferList(); - if (pBufferList != nullptr) - { - EventPipeThread *const pEventPipeThread = pBufferList->GetThread(); - if (pEventPipeThread != nullptr) - { - _ASSERTE(pEventPipeThread->GetSessionWriteInProgress() != sessionIndex); - } - } - pElem = m_pThreadSessionStateList->GetNext(pElem); - } - } -#endif // _DEBUG } void EventPipeBufferManager::DeAllocateBuffers() diff --git a/src/coreclr/src/vm/eventpipesession.cpp b/src/coreclr/src/vm/eventpipesession.cpp index 234fa428215cc..bf89eebb521b1 100644 --- a/src/coreclr/src/vm/eventpipesession.cpp +++ b/src/coreclr/src/vm/eventpipesession.cpp @@ -267,36 +267,6 @@ bool EventPipeSession::IsValid() const return !m_pProviderList->IsEmpty(); } -bool EventPipeSession::HasOnlyRundownProviders() const -{ - CONTRACTL - { - THROWS; - GC_TRIGGERS; - MODE_PREEMPTIVE; - PRECONDITION(EventPipe::IsLockOwnedByCurrentThread()); - } - CONTRACTL_END; - - if (m_pProviderList->IsEmpty()) - { - return true; - } - - EventPipeSessionProviderIterator providers = m_pProviderList->GetProviders(); - EventPipeSessionProvider *pProvider; - while (providers.Next(&pProvider)) - { - if (wcscmp(pProvider->GetProviderName(), W("Microsoft-Windows-DotNETRuntime")) != 0 - && wcscmp(pProvider->GetProviderName(), W("Microsoft-Windows-DotNETRuntimePrivate")) != 0) - { - return false; - } - } - - return true; -} - void EventPipeSession::AddSessionProvider(EventPipeSessionProvider *pProvider) { CONTRACTL @@ -568,7 +538,7 @@ void EventPipeSession::SuspendWriteEvent() GC_TRIGGERS; MODE_PREEMPTIVE; // Need to disable the session before calling this method - PRECONDITION(HasOnlyRundownProviders()); + PRECONDITION(!EventPipe::IsSessionEnabled(reinterpret_cast(this))); } CONTRACTL_END; diff --git a/src/coreclr/src/vm/eventpipesession.h b/src/coreclr/src/vm/eventpipesession.h index 4476652bba9cf..4c98831c10122 100644 --- a/src/coreclr/src/vm/eventpipesession.h +++ b/src/coreclr/src/vm/eventpipesession.h @@ -241,8 +241,6 @@ class EventPipeSession // Determine if the session is valid or not. Invalid sessions can be detected before they are enabled. bool IsValid() const; - bool HasOnlyRundownProviders() const; - bool HasIpcStreamingStarted() /* This is not const because CrtsHolder does not take a const* */; }; From 7905bcff1e32e9677c0502ba7d1a7c3fae77d0d9 Mon Sep 17 00:00:00 2001 From: David Mason Date: Wed, 24 Jun 2020 12:38:51 -0700 Subject: [PATCH 17/24] remove the concept of m_writeEventSuspending from the buffer manager now that EventPipeSession handles synchronization --- src/coreclr/src/vm/eventpipebuffermanager.cpp | 80 +++---------------- src/coreclr/src/vm/eventpipebuffermanager.h | 1 - 2 files changed, 12 insertions(+), 69 deletions(-) diff --git a/src/coreclr/src/vm/eventpipebuffermanager.cpp b/src/coreclr/src/vm/eventpipebuffermanager.cpp index da6284c9cb53a..e1cf27f68e867 100644 --- a/src/coreclr/src/vm/eventpipebuffermanager.cpp +++ b/src/coreclr/src/vm/eventpipebuffermanager.cpp @@ -36,7 +36,6 @@ EventPipeBufferManager::EventPipeBufferManager(EventPipeSession* pSession, size_ m_pThreadSessionStateList = new SList>(); m_sizeOfAllBuffers = 0; m_lock.Init(LOCK_TYPE_DEFAULT); - m_writeEventSuspending = FALSE; m_waitEvent.CreateAutoEvent(TRUE); #ifdef _DEBUG @@ -78,8 +77,6 @@ EventPipeBufferManager::~EventPipeBufferManager() } CONTRACTL_END; - // setting this true should have no practical effect other than satisfying asserts at this point. - m_writeEventSuspending = TRUE; DeAllocateBuffers(); } @@ -107,13 +104,6 @@ EventPipeBuffer* EventPipeBufferManager::AllocateBufferForThread(EventPipeThread // Allocating a buffer requires us to take the lock. SpinLockHolder _slh(&m_lock); - // if we are deallocating then give up, see the comments in SuspendWriteEvents() for why this is important. - if (m_writeEventSuspending.Load()) - { - writeSuspended = TRUE; - return NULL; - } - bool allocateNewBuffer = false; EventPipeBufferList *pThreadBufferList = pSessionState->GetBufferList(); @@ -393,11 +383,6 @@ bool EventPipeBufferManager::WriteEvent(Thread *pThread, EventPipeSession &sessi EventPipeThreadSessionState* pSessionState = NULL; { SpinLockHolder _slh(pEventPipeThread->GetLock()); - if (m_writeEventSuspending.LoadWithoutBarrier()) - { - // This session is suspending, we need to avoid initializing any session state and exit - return false; - } pSessionState = pEventPipeThread->GetOrCreateSessionState(m_pSession); if (pSessionState == NULL) { @@ -458,28 +443,15 @@ bool EventPipeBufferManager::WriteEvent(Thread *pThread, EventPipeSession &sessi _ASSERTE(pEventPipeThread != NULL); { SpinLockHolder _slh(pEventPipeThread->GetLock()); - if (m_writeEventSuspending.LoadWithoutBarrier()) - { - // After leaving the manager's lock in AllocateBufferForThread some other thread decided to suspend writes. - // We need to immediately return the buffer we just took without storing it or writing to it. - // SuspendWriteEvent() is spinning waiting for this buffer to be relinquished. - pBuffer->ConvertToReadOnly(); - - // We treat this as the WriteEvent() call occurring after this session stopped listening for events, effectively the - // same as if event.IsEnabled() returned false. - return false; - } - else - { - pSessionState->SetWriteBuffer(pBuffer); - - // Try to write the event after we allocated a buffer. - // This is the first time if the thread had no buffers before the call to this function. - // This is the second time if this thread did have one or more buffers, but they were full. - allocNewBuffer = !pBuffer->WriteEvent(pEventThread, session, event, payload, pActivityId, pRelatedActivityId, pStack); - _ASSERTE(!allocNewBuffer); - pSessionState->IncrementSequenceNumber(); - } + + pSessionState->SetWriteBuffer(pBuffer); + + // Try to write the event after we allocated a buffer. + // This is the first time if the thread had no buffers before the call to this function. + // This is the second time if this thread did have one or more buffers, but they were full. + allocNewBuffer = !pBuffer->WriteEvent(pEventThread, session, event, payload, pActivityId, pRelatedActivityId, pStack); + _ASSERTE(!allocNewBuffer); + pSessionState->IncrementSequenceNumber(); } } } @@ -1005,17 +977,7 @@ void EventPipeBufferManager::SuspendWriteEvent(uint32_t sessionIndex) SpinLockHolder _slh(&m_lock); _ASSERTE(EnsureConsistency()); - m_writeEventSuspending.Store(TRUE); - // From this point until m_writeEventSuspending is reset to FALSE it is impossible - // for new EventPipeThreadSessionStates to be added to the m_pThreadSessionStateList or - // for new EventBuffers to be added to an existing EventPipeBufferList. The only - // way AllocateBufferForThread is allowed to add one is by: - // 1) take m_lock - AllocateBufferForThread can't own it now because this thread owns it, - // but after this thread gives it up lower in this function it could be acquired. - // 2) observe m_writeEventSuspending = False - that won't happen, acquiring m_lock - // guarantees AllocateBufferForThread will observe all the memory changes this - // thread made prior to releasing m_lock and we've already set it TRUE. - // This ensures that we iterate over the list of threads below we've got the complete list. + // Find all threads that have used this buffer manager. SListElem *pElem = m_pThreadSessionStateList->GetHead(); while (pElem != NULL) { @@ -1029,8 +991,8 @@ void EventPipeBufferManager::SuspendWriteEvent(uint32_t sessionIndex) } } - // Iterate through all the threads, forcing them to finish writes in progress inside EventPipeThread::m_lock, - // relinquish any buffers stored in EventPipeThread::m_pWriteBuffer and prevent storing new ones. + // Iterate through all the threads, forcing them to relinquish any buffers stored in + // EventPipeThread::m_pWriteBuffer and prevent storing new ones. for (size_t i = 0; i < threadList.Size(); i++) { EventPipeThread *pThread = threadList[i]; @@ -1038,15 +1000,6 @@ void EventPipeBufferManager::SuspendWriteEvent(uint32_t sessionIndex) SpinLockHolder _slh(pThread->GetLock()); EventPipeThreadSessionState *const pSessionState = pThread->GetSessionState(m_pSession); pSessionState->SetWriteBuffer(nullptr); - // From this point until m_writeEventSuspending is reset to FALSE it is impossible - // for this thread to set the write buffer to a non-null value which in turn means - // it can't write events into any buffer. To do this it would need to both: - // 1) Acquire the thread lock - it can't right now but it will be able to do so after - // we release the lock below - // 2) Observe m_writeEventSuspending = false - that won't happen, acquiring the thread - // lock guarantees WriteEvent will observe all the memory - // changes this thread made prior to releasing the thread - // lock and we already set it TRUE. } } } @@ -1068,15 +1021,6 @@ void EventPipeBufferManager::DeAllocateBuffers() SpinLockHolder _slh(&m_lock); _ASSERTE(EnsureConsistency()); - _ASSERTE(m_writeEventSuspending); - - // This m_writeEventSuspending flag + locks ensures that no thread will touch any of the - // state we are dismantling here. This includes: - // a) EventPipeThread m_sessions[session_id] - // b) EventPipeThreadSessionState - // c) EventPipeBufferList - // d) EventPipeBuffer - // e) EventPipeBufferManager.m_pThreadSessionStateList SListElem *pElem = m_pThreadSessionStateList->GetHead(); while (pElem != NULL) diff --git a/src/coreclr/src/vm/eventpipebuffermanager.h b/src/coreclr/src/vm/eventpipebuffermanager.h index 0a3f125f0ab96..a6e7be2d0f369 100644 --- a/src/coreclr/src/vm/eventpipebuffermanager.h +++ b/src/coreclr/src/vm/eventpipebuffermanager.h @@ -61,7 +61,6 @@ class EventPipeBufferManager // Lock to protect access to the per-thread buffer list and total allocation size. SpinLock m_lock; - Volatile m_writeEventSuspending; // Event for synchronizing real time reading CLREvent m_waitEvent; From 96d8cc4dd90a20de278876401977a8a8dc23a54d Mon Sep 17 00:00:00 2001 From: David Mason Date: Tue, 26 May 2020 14:12:19 -0700 Subject: [PATCH 18/24] Add test --- .../tests/src/profiler/eventpipe/eventpipe.cs | 4 +- .../eventpipe/eventpipe_readevents.cs | 78 ++++ .../eventpipe/eventpipe_readevents.csproj | 16 + .../tests/src/profiler/native/CMakeLists.txt | 5 +- .../src/profiler/native/classfactory.cpp | 6 +- .../eventpipemetadatareader.cpp | 129 ++++++ .../eventpipemetadatareader.h | 82 ++++ .../eventpipereadingprofiler.cpp | 405 ++++++++++++++++++ .../eventpipereadingprofiler.h | 104 +++++ ...filer.cpp => eventpipewritingprofiler.cpp} | 14 +- ...eprofiler.h => eventpipewritingprofiler.h} | 4 +- .../getappdomainstaticaddress.cpp | 4 +- .../tests/src/profiler/native/guids.cpp | 57 +-- .../tests/src/profiler/native/profiler.cpp | 31 +- .../tests/src/profiler/native/profiler.def | 1 - .../tests/src/profiler/native/profiler.h | 17 +- .../src/profiler/native/profilerstring.h | 59 ++- 17 files changed, 964 insertions(+), 52 deletions(-) create mode 100644 src/coreclr/tests/src/profiler/eventpipe/eventpipe_readevents.cs create mode 100644 src/coreclr/tests/src/profiler/eventpipe/eventpipe_readevents.csproj create mode 100644 src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipemetadatareader.cpp create mode 100644 src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipemetadatareader.h create mode 100644 src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipereadingprofiler.cpp create mode 100644 src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipereadingprofiler.h rename src/coreclr/tests/src/profiler/native/eventpipeprofiler/{eventpipeprofiler.cpp => eventpipewritingprofiler.cpp} (96%) rename src/coreclr/tests/src/profiler/native/eventpipeprofiler/{eventpipeprofiler.h => eventpipewritingprofiler.h} (93%) diff --git a/src/coreclr/tests/src/profiler/eventpipe/eventpipe.cs b/src/coreclr/tests/src/profiler/eventpipe/eventpipe.cs index d3bf3248f03cd..b2b3ff4e5696b 100644 --- a/src/coreclr/tests/src/profiler/eventpipe/eventpipe.cs +++ b/src/coreclr/tests/src/profiler/eventpipe/eventpipe.cs @@ -20,7 +20,7 @@ namespace EventPipeTests { class EventPipe { - static readonly Guid EventPipeProfilerGuid = new Guid("2726B5B4-3F88-462D-AEC0-4EFDC8D7B921"); + static readonly Guid EventPipeWritingProfilerGuid = new Guid("2726B5B4-3F88-462D-AEC0-4EFDC8D7B921"); public static int Main(string[] args) { @@ -31,7 +31,7 @@ public static int Main(string[] args) return ProfilerTestRunner.Run(profileePath: System.Reflection.Assembly.GetExecutingAssembly().Location, testName: "EventPipeBasic", - profilerClsid: EventPipeProfilerGuid); + profilerClsid: EventPipeWritingProfilerGuid); } public static int RunTest() diff --git a/src/coreclr/tests/src/profiler/eventpipe/eventpipe_readevents.cs b/src/coreclr/tests/src/profiler/eventpipe/eventpipe_readevents.cs new file mode 100644 index 0000000000000..c0982e0102c80 --- /dev/null +++ b/src/coreclr/tests/src/profiler/eventpipe/eventpipe_readevents.cs @@ -0,0 +1,78 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Profiler.Tests; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Diagnostics; +using System.Diagnostics.Tracing; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Threading; + +namespace EventPipeTests +{ + public class EventPipeTestEventSource : EventSource + { + public EventPipeTestEventSource() : base(EventSourceSettings.EtwSelfDescribingEventFormat) + { + + } + + [Event(1)] + public void MyEvent(int i) + { + WriteEvent(1, i); + } + + [Event(2)] + public void MyArrayEvent(char ch, int[] intArray, string str) + { + WriteEvent(2, ch, intArray, str); + } + + [Event(3)] + public void KeyValueEvent(string SourceName, string EventName, IEnumerable> Arguments) + { + WriteEvent(3, SourceName, EventName, Arguments); + } + } + + class EventPipe + { + static readonly Guid EventPipeReadingProfilerGuid = new Guid("9E7F78E2-B3BE-410B-AA8D-E210E4C757A4"); + + public static int Main(string[] args) + { + if (args.Length > 0 && args[0].Equals("RunTest", StringComparison.OrdinalIgnoreCase)) + { + return RunTest(); + } + + return ProfilerTestRunner.Run(profileePath: System.Reflection.Assembly.GetExecutingAssembly().Location, + testName: "EventPipeReadBasic", + profilerClsid: EventPipeReadingProfilerGuid); + } + + public static int RunTest() + { + Console.WriteLine("Writing events to EventPipeTestEventSource"); + + EventPipeTestEventSource myEventSource = new EventPipeTestEventSource(); + myEventSource.MyEvent(12); + myEventSource.MyArrayEvent('d', Enumerable.Range(0, 120).ToArray(), "Hello from EventPipeTestEventSource!"); + + List> myList = new List>() + { + KeyValuePair.Create("samplekey", "samplevalue" ) + }; + myEventSource.KeyValueEvent("Source", "Event", myList); + + return 100; + } + } +} diff --git a/src/coreclr/tests/src/profiler/eventpipe/eventpipe_readevents.csproj b/src/coreclr/tests/src/profiler/eventpipe/eventpipe_readevents.csproj new file mode 100644 index 0000000000000..7a525ce745d28 --- /dev/null +++ b/src/coreclr/tests/src/profiler/eventpipe/eventpipe_readevents.csproj @@ -0,0 +1,16 @@ + + + .NETCoreApp + exe + BuildAndRun + true + 0 + true + + + + + + + + diff --git a/src/coreclr/tests/src/profiler/native/CMakeLists.txt b/src/coreclr/tests/src/profiler/native/CMakeLists.txt index cd5182062c18a..e36b6b5a26cdb 100644 --- a/src/coreclr/tests/src/profiler/native/CMakeLists.txt +++ b/src/coreclr/tests/src/profiler/native/CMakeLists.txt @@ -4,7 +4,10 @@ project(Profiler) set(GCBASIC_SOURCES gcbasicprofiler/gcbasicprofiler.cpp) set(REJIT_SOURCES rejitprofiler/rejitprofiler.cpp rejitprofiler/ilrewriter.cpp rejitprofiler/sigparse.cpp) -set(EVENTPIPE_SOURCES eventpipeprofiler/eventpipeprofiler.cpp) +set(EVENTPIPE_SOURCES + eventpipeprofiler/eventpipereadingprofiler.cpp + eventpipeprofiler/eventpipewritingprofiler.cpp + eventpipeprofiler/eventpipemetadatareader.cpp) set(METADATAGETDISPENSER_SOURCES metadatagetdispenser/metadatagetdispenser.cpp) set(GETAPPDOMAINSTATICADDRESS_SOURCES getappdomainstaticaddress/getappdomainstaticaddress.cpp) diff --git a/src/coreclr/tests/src/profiler/native/classfactory.cpp b/src/coreclr/tests/src/profiler/native/classfactory.cpp index a3f0f6ab01ce4..17ba8b97b94f3 100644 --- a/src/coreclr/tests/src/profiler/native/classfactory.cpp +++ b/src/coreclr/tests/src/profiler/native/classfactory.cpp @@ -5,7 +5,8 @@ #include "classfactory.h" #include "gcbasicprofiler/gcbasicprofiler.h" #include "rejitprofiler/rejitprofiler.h" -#include "eventpipeprofiler/eventpipeprofiler.h" +#include "eventpipeprofiler/eventpipereadingprofiler.h" +#include "eventpipeprofiler/eventpipewritingprofiler.h" #include "metadatagetdispenser/metadatagetdispenser.h" #include "getappdomainstaticaddress/getappdomainstaticaddress.h" @@ -58,7 +59,8 @@ HRESULT STDMETHODCALLTYPE ClassFactory::CreateInstance(IUnknown *pUnkOuter, REFI Profiler* profilers[] = { new GCBasicProfiler(), new ReJITProfiler(), - new EventPipeProfiler(), + new EventPipeReadingProfiler(), + new EventPipeWritingProfiler(), new MetaDataGetDispenser(), new GetAppDomainStaticAddress() // add new profilers here diff --git a/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipemetadatareader.cpp b/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipemetadatareader.cpp new file mode 100644 index 0000000000000..f1d8ee1ad94dc --- /dev/null +++ b/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipemetadatareader.cpp @@ -0,0 +1,129 @@ + +#include "eventpipemetadatareader.h" + +using std::wstring; +using std::vector; +using std::shared_ptr; + +// TODO: this is kind of ugly and nonintuitive, it's reading a 16 byte, null terminated +// string. It's a weird overload though. +template<> +WCHAR *ReadFromBuffer(LPCBYTE eventData, ULONG cbEventData, ULONG *offset) +{ + WCHAR *start = (WCHAR *)(eventData + *offset); + size_t length = wcslen(start); + + // Account for the null character + *offset += (ULONG)((length + 1) * sizeof(WCHAR)); + + assert(*offset <= cbEventData); + return start; +} + +EventPipeMetadataReader::EventPipeMetadataReader() +{ + +} + +EventPipeDataDescriptor EventPipeMetadataReader::ParseType(LPCBYTE pMetadata, ULONG cbMetadata, ULONG *offset, bool v2) +{ + EventPipeDataDescriptor typeDescriptor; + typeDescriptor.type = (EventPipeTypeCode)ReadFromBuffer(pMetadata, cbMetadata, offset); + + if (typeDescriptor.type == EventPipeTypeCode::ArrayType) + { + assert(v2 && "Array types are only supported in v2 metadata."); + EventPipeDataDescriptor elementTypeDescriptor = ParseType(pMetadata, cbMetadata, offset, v2); + typeDescriptor.elementType = shared_ptr(new EventPipeDataDescriptor(elementTypeDescriptor)); + } + + if (typeDescriptor.type == EventPipeTypeCode::Object) + { + // We have nested fields to read + UINT32 fieldCount = ReadFromBuffer(pMetadata, cbMetadata, offset); + for (UINT32 f = 0; f < fieldCount; ++f) + { + EventPipeDataDescriptor fieldDescriptor = ParseField(pMetadata, cbMetadata, offset, v2); + typeDescriptor.fields.push_back(fieldDescriptor); + } + } + + return typeDescriptor; +} + +EventPipeDataDescriptor EventPipeMetadataReader::ParseField(LPCBYTE pMetadata, ULONG cbMetadata, ULONG *offset, bool v2) +{ + WCHAR *name = NULL; + if (v2) + { + UINT32 paramMetadataLength = ReadFromBuffer(pMetadata, cbMetadata, offset); + UINT32 paramEndLabel = paramMetadataLength + *offset - 4;// TODO: unused, should check it + name = ReadFromBuffer(pMetadata, cbMetadata, offset); + } + + EventPipeDataDescriptor descriptor = ParseType(pMetadata, cbMetadata, offset, v2); + + if (!v2) + { + name = ReadFromBuffer(pMetadata, cbMetadata, offset); + } + + descriptor.name = name; + + return descriptor; +} + +EventPipeMetadataInstance EventPipeMetadataReader::Parse(LPCBYTE pMetadata, ULONG cbMetadata) +{ + EventPipeMetadataInstance metadata; + if (pMetadata == NULL || cbMetadata == 0) + { + return metadata; + } + + ULONG offset = 0; + metadata.id = ReadFromBuffer(pMetadata, cbMetadata, &offset); + metadata.name = ReadFromBuffer(pMetadata, cbMetadata, &offset); + metadata.keywords = ReadFromBuffer(pMetadata, cbMetadata, &offset); + metadata.version = ReadFromBuffer(pMetadata, cbMetadata, &offset); + metadata.level = ReadFromBuffer(pMetadata, cbMetadata, &offset); + metadata.opcode = 0; + + UINT32 paramCount = ReadFromBuffer(pMetadata, cbMetadata, &offset); + for (UINT32 i = 0; i < paramCount; ++i) + { + EventPipeDataDescriptor paramDescriptor = ParseField(pMetadata, cbMetadata, &offset, false); + metadata.parameters.push_back(paramDescriptor); + } + + while (offset < cbMetadata) + { + // We have V2 stuff to parse... + UINT32 tagLength = ReadFromBuffer(pMetadata, cbMetadata, &offset); + BYTE tag = ReadFromBuffer(pMetadata, cbMetadata, &offset); + + if ((EventPipeV2Tag)tag == EventPipeV2Tag::Opcode) + { + metadata.opcode = ReadFromBuffer(pMetadata, cbMetadata, &offset); + } + else if ((EventPipeV2Tag)tag == EventPipeV2Tag::ParamsV2) + { + assert(paramCount == 0); + UINT32 v2ParamCount = ReadFromBuffer(pMetadata, cbMetadata, &offset); + for (UINT32 i = 0; i < v2ParamCount; ++i) + { + EventPipeDataDescriptor paramDescriptor = ParseField(pMetadata, cbMetadata, &offset, true); + metadata.parameters.push_back(paramDescriptor); + } + } + else + { + offset += tagLength; + assert(offset <= cbMetadata); + } + } + + assert(offset == cbMetadata); + + return metadata; +} diff --git a/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipemetadatareader.h b/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipemetadatareader.h new file mode 100644 index 0000000000000..42a99d3bf0d20 --- /dev/null +++ b/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipemetadatareader.h @@ -0,0 +1,82 @@ + +#pragma once + +#include +#include +#include +#include +#include "../profiler.h" + +enum class EventPipeTypeCode +{ + Object = 1, // Self describing object + Boolean = 3, // Boolean + Char = 4, // Unicode character + Sbyte = 5, // Signed 8-bit integer + Byte = 6, // Unsigned 8-bit integer + Int16 = 7, // Signed 16-bit integer + Uint16 = 8, // Unsigned 16-bit integer + Int32 = 9, // Signed 32-bit integer + Uint32 = 10, // Unsigned 32-bit integer + Int64 = 11, // Signed 64-bit integer + Uint64 = 12, // Unsigned 64-bit integer + Single = 13, // IEEE 32-bit float + Double = 14, // IEEE 64-bit double + Decimal = 15, // Decimal + Datetime = 16, // DateTime + Guid = 17, // Guid + String = 18, // Unicode character string + ArrayType = 19 // An arbitrary length array +}; + +enum class EventPipeV2Tag +{ + Opcode = 1, + ParamsV2 = 2 +}; + +struct EventPipeDataDescriptor +{ + String name; + EventPipeTypeCode type; + // Only used if the type is ArrayType, then this is the underlying type + std::shared_ptr elementType; + // Used for self describing object fields + std::vector fields; +}; + +struct EventPipeMetadataInstance +{ + UINT32 id; + String name; + INT64 keywords; + UINT32 level; + UINT32 version; + BYTE opcode; + std::vector parameters; +}; + +template +T ReadFromBuffer(LPCBYTE eventData, ULONG cbEventData, ULONG *offset) +{ + T data = *((T *)(eventData + *offset)); + *offset += sizeof(T); + assert(*offset <= cbEventData); + return data; +} + +template<> +WCHAR *ReadFromBuffer(LPCBYTE eventData, ULONG cbEventData, ULONG *offset); + +class EventPipeMetadataReader +{ +private: + EventPipeDataDescriptor ParseType(LPCBYTE pMetadata, ULONG cbMetadata, ULONG *offset, bool v2); + EventPipeDataDescriptor ParseField(LPCBYTE pMetadata, ULONG cbMetadata, ULONG *offset, bool v2); + +public: + EventPipeMetadataReader(); + ~EventPipeMetadataReader() = default; + + EventPipeMetadataInstance Parse(LPCBYTE pMetadata, ULONG cbMetadata); +}; diff --git a/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipereadingprofiler.cpp b/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipereadingprofiler.cpp new file mode 100644 index 0000000000000..4e33e22d0f94c --- /dev/null +++ b/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipereadingprofiler.cpp @@ -0,0 +1,405 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +#include "eventpipereadingprofiler.h" + +using std::mutex; +using std::lock_guard; + +GUID EventPipeReadingProfiler::GetClsid() +{ + // 9E7F78E2-B3BE-410B-AA8D-E210E4C757A4 + GUID clsid = { 0x9E7F78E2, 0xB3BE, 0x410B, { 0xAA, 0x8D, 0xE2, 0x10, 0xE4, 0xC7, 0x57, 0xA4 } }; + return clsid; +} + +HRESULT EventPipeReadingProfiler::Initialize(IUnknown* pICorProfilerInfoUnk) +{ + Profiler::Initialize(pICorProfilerInfoUnk); + + printf("EventPipeReadingProfiler::Initialize\n"); + + HRESULT hr = S_OK; + if (FAILED(hr = pICorProfilerInfoUnk->QueryInterface(__uuidof(ICorProfilerInfo12), (void **)&_pCorProfilerInfo12))) + { + printf("FAIL: failed to QI for ICorProfilerInfo12.\n"); + _failures++; + return hr; + } + + if (FAILED(hr = _pCorProfilerInfo12->SetEventMask2(0, COR_PRF_HIGH_MONITOR_EVENT_PIPE))) + { + printf("FAIL: ICorProfilerInfo::SetEventMask2() failed hr=0x%x\n", hr); + _failures++; + return hr; + } + + COR_PRF_EVENTPIPE_PROVIDER_CONFIG providers[] = { + { WCHAR("EventPipeTestEventSource"), 0xFFFFFFFFFFFFFFFF, 5, NULL } + }; + + hr = _pCorProfilerInfo12->EventPipeStartSession(sizeof(providers) / sizeof(providers[0]), + providers, + false, + &_session); + if (FAILED(hr)) + { + printf("Failed to start event pipe session with hr=0x%x\n", hr); + _failures++; + return hr; + } + + printf("Started event pipe session!\n"); + + return S_OK; +} + +HRESULT EventPipeReadingProfiler::Shutdown() +{ + Profiler::Shutdown(); + + if(_failures == 0 && _events.load() == 3) + { + printf("PROFILER TEST PASSES\n"); + } + else + { + // failures were printed earlier when _failures was incremented + printf("EventPipe profiler test failed failures=%d events=%d.\n", _failures.load(), _events.load()); + } + fflush(stdout); + + return S_OK; +} + +HRESULT EventPipeReadingProfiler::EventPipeEventDelivered( + EVENTPIPE_PROVIDER provider, + DWORD eventId, + DWORD eventVersion, + ULONG cbMetadataBlob, + LPCBYTE metadataBlob, + ULONG cbEventData, + LPCBYTE eventData, + LPCGUID pActivityId, + LPCGUID pRelatedActivityId, + ThreadID eventThread, + ULONG numStackFrames, + UINT_PTR stackFrames[]) +{ + String name = GetOrAddProviderName(provider); + wprintf(L"EventPipeReadingProfiler saw event %s\n", name.ToCStr()); + + EventPipeMetadataInstance metadata = GetOrAddMetadata(metadataBlob, cbMetadataBlob); + + if (metadata.name == WCHAR("MyEvent") + && ValidateMyEvent(metadata, provider, eventId, eventVersion, cbMetadataBlob, metadataBlob, cbEventData, eventData, pActivityId, pRelatedActivityId, eventThread, numStackFrames, stackFrames)) + { + _events++; + } + else if (metadata.name == WCHAR("MyArrayEvent") + && ValidateMyArrayEvent(metadata, provider, eventId, eventVersion, cbMetadataBlob, metadataBlob, cbEventData, eventData, pActivityId, pRelatedActivityId, eventThread, numStackFrames, stackFrames)) + { + _events++; + } + else if (metadata.name == WCHAR("KeyValueEvent") + && ValidateKeyValueEvent(metadata, provider, eventId, eventVersion, cbMetadataBlob, metadataBlob, cbEventData, eventData, pActivityId, pRelatedActivityId, eventThread, numStackFrames, stackFrames)) + { + _events++; + } + + return S_OK; +} + +HRESULT EventPipeReadingProfiler::EventPipeProviderCreated(EVENTPIPE_PROVIDER provider) +{ + String name = GetOrAddProviderName(provider); + wprintf(L"CorProfiler::EventPipeProviderCreated provider=%s\n", name.ToCStr()); + + return S_OK; +} + +String EventPipeReadingProfiler::GetOrAddProviderName(EVENTPIPE_PROVIDER provider) +{ + lock_guard guard(_cacheLock); + + auto it = _providerNameCache.find(provider); + if (it == _providerNameCache.end()) + { + WCHAR nameBuffer[LONG_LENGTH]; + ULONG nameCount; + HRESULT hr = _pCorProfilerInfo12->EventPipeGetProviderInfo(provider, + LONG_LENGTH, + &nameCount, + nameBuffer); + if (FAILED(hr)) + { + printf("EventPipeGetProviderInfo failed with hr=0x%x\n", hr); + return WCHAR("GetProviderInfo failed"); + } + + _providerNameCache.insert({provider, String(nameBuffer)}); + + it = _providerNameCache.find(provider); + assert(it != _providerNameCache.end()); + } + + return it->second; +} + +EventPipeMetadataInstance EventPipeReadingProfiler::GetOrAddMetadata(LPCBYTE pMetadata, ULONG cbMetadata) +{ + lock_guard guard(_cacheLock); + + auto it = _metadataCache.find(pMetadata); + if (it == _metadataCache.end()) + { + EventPipeMetadataReader reader; + EventPipeMetadataInstance parsedMetadata = reader.Parse(pMetadata, cbMetadata); + _metadataCache.insert({pMetadata, parsedMetadata}); + + it = _metadataCache.find(pMetadata); + assert(it != _metadataCache.end()); + } + + return it->second; +} + +bool EventPipeReadingProfiler::ValidateMyEvent( + EventPipeMetadataInstance metadata, + EVENTPIPE_PROVIDER provider, + DWORD eventId, + DWORD eventVersion, + ULONG cbMetadataBlob, + LPCBYTE metadataBlob, + ULONG cbEventData, + LPCBYTE eventData, + LPCGUID pActivityId, + LPCGUID pRelatedActivityId, + ThreadID eventThread, + ULONG numStackFrames, + UINT_PTR stackFrames[]) +{ + if (metadata.parameters.size() != 1) + { + printf("MyEvent expected param size 1, saw %d\n", (int)metadata.parameters.size()); + _failures++; + return false; + } + + EventPipeDataDescriptor param = metadata.parameters[0]; + if (param.name != WCHAR("i") + || param.type != EventPipeTypeCode::Int32) + { + wprintf(L"MyEvent expected param name=i type=Int32, saw name=%s type=%d\n", + param.name.ToCStr(), param.type); + _failures++; + return false; + } + + ULONG offset = 0; + INT32 data = ReadFromBuffer(eventData, cbEventData, &offset); + if (data != 12) + { + printf("MyEvent expected data=12, saw %d\n", data); + _failures++; + return false; + } + + return true; +} + +bool EventPipeReadingProfiler::ValidateMyArrayEvent( + EventPipeMetadataInstance metadata, + EVENTPIPE_PROVIDER provider, + DWORD eventId, + DWORD eventVersion, + ULONG cbMetadataBlob, + LPCBYTE metadataBlob, + ULONG cbEventData, + LPCBYTE eventData, + LPCGUID pActivityId, + LPCGUID pRelatedActivityId, + ThreadID eventThread, + ULONG numStackFrames, + UINT_PTR stackFrames[]) +{ + if (metadata.parameters.size() != 3) + { + printf("MyArrayEvent expected param size 3, saw %d\n", (int)metadata.parameters.size()); + _failures++; + return false; + } + + EventPipeDataDescriptor param0 = metadata.parameters[0]; + if (param0.name != WCHAR("ch") + || param0.type != EventPipeTypeCode::Char) + { + wprintf(L"MyArrayEvent expected param 0 name=ch type=Char, saw name=%s type=%d\n", + param0.name.ToCStr(), param0.type); + _failures++; + return false; + } + + ULONG offset = 0; + WCHAR ch = ReadFromBuffer(eventData, cbEventData, &offset); + if (ch != 'd') + { + printf("MyArrayEvent expected param 0 value=d, saw %c\n", + ch); + _failures++; + return false; + } + + EventPipeDataDescriptor param1 = metadata.parameters[1]; + if (param1.name != WCHAR("intArray") + || param1.type != EventPipeTypeCode::ArrayType + || param1.elementType->type != EventPipeTypeCode::Int32) + { + wprintf(L"MyArrayEvent expected param 1 name=intArray type=Int32, saw name=%s type=%d\n", + param1.name.ToCStr(), param1.elementType->type); + _failures++; + return false; + } + + UINT16 arrayLength = ReadFromBuffer(eventData, cbEventData, &offset); + if (arrayLength != 120) + { + printf("MyArrayEvent expected array length 120, saw %d\n", arrayLength); + _failures++; + return false; + } + + for (int i = 0; i < arrayLength; ++i) + { + INT32 data = ReadFromBuffer(eventData, cbEventData, &offset); + if (data != i) + { + printf("MyArrayEvent expected array index %d value %d, saw %d\n", i, i, data); + _failures++; + return false; + } + } + + EventPipeDataDescriptor param2 = metadata.parameters[2]; + if (param2.name != WCHAR("str") + || param2.type != EventPipeTypeCode::String) + { + wprintf(L"MyArrayEvent expected param 2 name=str type=String, saw name=%s type=%d\n", + param2.name.ToCStr(), param2.type); + _failures++; + return false; + } + + WCHAR *stringValue = ReadFromBuffer(eventData, cbEventData, &offset); + if (String(WCHAR("Hello from EventPipeTestEventSource!")) != stringValue) + { + wprintf(L"MyArrayEvent expected param2 value=\"Hello from EventPipeTestEventSource!\", saw %s\n", + stringValue); + _failures++; + return false; + } + + return true; +} + +bool EventPipeReadingProfiler::ValidateKeyValueEvent( + EventPipeMetadataInstance metadata, + EVENTPIPE_PROVIDER provider, + DWORD eventId, + DWORD eventVersion, + ULONG cbMetadataBlob, + LPCBYTE metadataBlob, + ULONG cbEventData, + LPCBYTE eventData, + LPCGUID pActivityId, + LPCGUID pRelatedActivityId, + ThreadID eventThread, + ULONG numStackFrames, + UINT_PTR stackFrames[]) +{ + if (metadata.parameters.size() != 3) + { + printf("KeyValueEvent expected param size 3, saw %d\n", (int)metadata.parameters.size()); + _failures++; + return false; + } + + EventPipeDataDescriptor param0 = metadata.parameters[0]; + if (param0.name != WCHAR("SourceName") + || param0.type != EventPipeTypeCode::String) + { + wprintf(L"KeyValueEvent expected param 0 name=SourceName type=String, saw name=%s type=%d\n", + param0.name.ToCStr(), param0.type); + _failures++; + return false; + } + + ULONG offset = 0; + WCHAR *str = ReadFromBuffer(eventData, cbEventData, &offset); + if (String(WCHAR("Source")) != str) + { + wprintf(L"MyArrayEvent expected param 0 value=\"Source\", saw %s\n", + str); + _failures++; + return false; + } + + EventPipeDataDescriptor param1 = metadata.parameters[1]; + if (param1.name != WCHAR("EventName") + || param1.type != EventPipeTypeCode::String) + { + wprintf(L"KeyValueEvent expected param 1 name=EventName type=String, saw name=%s type=%d\n", + param1.name.ToCStr(), param1.type); + _failures++; + return false; + } + + WCHAR *event = ReadFromBuffer(eventData, cbEventData, &offset); + if (String(WCHAR("Event")) != event) + { + wprintf(L"MyArrayEvent expected param 1 value=\"Event\", saw %s\n", + event); + _failures++; + return false; + } + + EventPipeDataDescriptor param2 = metadata.parameters[2]; + if (param2.name != WCHAR("Arguments") + || param2.type != EventPipeTypeCode::ArrayType + || param2.elementType->type != EventPipeTypeCode::Object) + { + wprintf(L"KeyValueEvent expected param 2 name=Arguments type=String, saw name=%s type=%d\n", + param2.name.ToCStr(), param2.elementType->type); + _failures++; + return false; + } + + UINT16 arrayLength = ReadFromBuffer(eventData, cbEventData, &offset); + if (arrayLength != 1) + { + printf("MyArrayEvent expected array length 1, saw %d\n", arrayLength); + _failures++; + return false; + } + + str = ReadFromBuffer(eventData, cbEventData, &offset); + if (String(WCHAR("samplekey")) != str) + { + wprintf(L"MyArrayEvent expected param 2 value=\"samplekey\", saw %s\n", + str); + _failures++; + return false; + } + + str = ReadFromBuffer(eventData, cbEventData, &offset); + if (String(WCHAR("samplevalue")) != str) + { + wprintf(L"MyArrayEvent expected param 2 value=\"samplevalue\", saw %s\n", + str); + _failures++; + return false; + } + + return true; +} diff --git a/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipereadingprofiler.h b/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipereadingprofiler.h new file mode 100644 index 0000000000000..164976b30ca81 --- /dev/null +++ b/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipereadingprofiler.h @@ -0,0 +1,104 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +#pragma once + +#include "../profiler.h" +#include +#include +#include +#include +#include "eventpipemetadatareader.h" + +class EventPipeReadingProfiler : public Profiler +{ +public: + EventPipeReadingProfiler() : Profiler(), + _failures(0), + _events(0), + _session(), + _cacheLock(), + _providerNameCache(), + _metadataCache() + {} + + virtual GUID GetClsid(); + + virtual HRESULT STDMETHODCALLTYPE Initialize(IUnknown* pICorProfilerInfoUnk); + + virtual HRESULT STDMETHODCALLTYPE Shutdown(); + + virtual HRESULT STDMETHODCALLTYPE EventPipeEventDelivered(EVENTPIPE_PROVIDER provider, + DWORD eventId, + DWORD eventVersion, + ULONG cbMetadataBlob, + LPCBYTE metadataBlob, + ULONG cbEventData, + LPCBYTE eventData, + LPCGUID pActivityId, + LPCGUID pRelatedActivityId, + ThreadID eventThread, + ULONG numStackFrames, + UINT_PTR stackFrames[]); + + virtual HRESULT STDMETHODCALLTYPE EventPipeProviderCreated(EVENTPIPE_PROVIDER provider); + +private: + std::atomic _failures; + std::atomic _events; + ICorProfilerInfo12 *_pCorProfilerInfo12; + EVENTPIPE_SESSION _session; + std::mutex _cacheLock; + std::map _providerNameCache; + std::map _metadataCache; + + String GetOrAddProviderName(EVENTPIPE_PROVIDER provider); + + EventPipeMetadataInstance GetOrAddMetadata(LPCBYTE pMetadata, ULONG cbMetadata); + + bool ValidateMyEvent( + EventPipeMetadataInstance metadata, + EVENTPIPE_PROVIDER provider, + DWORD eventId, + DWORD eventVersion, + ULONG cbMetadataBlob, + LPCBYTE metadataBlob, + ULONG cbEventData, + LPCBYTE eventData, + LPCGUID pActivityId, + LPCGUID pRelatedActivityId, + ThreadID eventThread, + ULONG numStackFrames, + UINT_PTR stackFrames[]); + + bool ValidateMyArrayEvent( + EventPipeMetadataInstance metadata, + EVENTPIPE_PROVIDER provider, + DWORD eventId, + DWORD eventVersion, + ULONG cbMetadataBlob, + LPCBYTE metadataBlob, + ULONG cbEventData, + LPCBYTE eventData, + LPCGUID pActivityId, + LPCGUID pRelatedActivityId, + ThreadID eventThread, + ULONG numStackFrames, + UINT_PTR stackFrames[]); + + bool ValidateKeyValueEvent( + EventPipeMetadataInstance metadata, + EVENTPIPE_PROVIDER provider, + DWORD eventId, + DWORD eventVersion, + ULONG cbMetadataBlob, + LPCBYTE metadataBlob, + ULONG cbEventData, + LPCBYTE eventData, + LPCGUID pActivityId, + LPCGUID pRelatedActivityId, + ThreadID eventThread, + ULONG numStackFrames, + UINT_PTR stackFrames[]); +}; \ No newline at end of file diff --git a/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipeprofiler.cpp b/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipewritingprofiler.cpp similarity index 96% rename from src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipeprofiler.cpp rename to src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipewritingprofiler.cpp index 68b9a30fe433c..31cb70d97162c 100644 --- a/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipeprofiler.cpp +++ b/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipewritingprofiler.cpp @@ -2,16 +2,16 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -#include "eventpipeprofiler.h" +#include "eventpipewritingprofiler.h" -GUID EventPipeProfiler::GetClsid() +GUID EventPipeWritingProfiler::GetClsid() { // {2726B5B4-3F88-462D-AEC0-4EFDC8D7B921} GUID clsid = { 0x2726B5B4, 0x3F88, 0x462D,{ 0xAE, 0xC0, 0x4E, 0xFD, 0xC8, 0xD7, 0xB9, 0x21 } }; return clsid; } -HRESULT EventPipeProfiler::Initialize(IUnknown* pICorProfilerInfoUnk) +HRESULT EventPipeWritingProfiler::Initialize(IUnknown* pICorProfilerInfoUnk) { Profiler::Initialize(pICorProfilerInfoUnk); @@ -152,7 +152,7 @@ HRESULT EventPipeProfiler::Initialize(IUnknown* pICorProfilerInfoUnk) return S_OK; } -HRESULT EventPipeProfiler::Shutdown() +HRESULT EventPipeWritingProfiler::Shutdown() { Profiler::Shutdown(); @@ -170,12 +170,12 @@ HRESULT EventPipeProfiler::Shutdown() return S_OK; } -HRESULT EventPipeProfiler::JITCompilationStarted(FunctionID functionId, BOOL fIsSafeToBlock) +HRESULT EventPipeWritingProfiler::JITCompilationStarted(FunctionID functionId, BOOL fIsSafeToBlock) { return FunctionSeen(functionId); } -HRESULT STDMETHODCALLTYPE EventPipeProfiler::JITCachedFunctionSearchFinished(FunctionID functionId, COR_PRF_JIT_CACHE result) +HRESULT STDMETHODCALLTYPE EventPipeWritingProfiler::JITCachedFunctionSearchFinished(FunctionID functionId, COR_PRF_JIT_CACHE result) { if (result == COR_PRF_CACHED_FUNCTION_FOUND) { @@ -186,7 +186,7 @@ HRESULT STDMETHODCALLTYPE EventPipeProfiler::JITCachedFunctionSearchFinished(Fun } -HRESULT EventPipeProfiler::FunctionSeen(FunctionID functionID) +HRESULT EventPipeWritingProfiler::FunctionSeen(FunctionID functionID) { String functionName = GetFunctionIDName(functionID); if (functionName == WCHAR("TriggerMethod")) diff --git a/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipeprofiler.h b/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipewritingprofiler.h similarity index 93% rename from src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipeprofiler.h rename to src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipewritingprofiler.h index 6a1ade6dc683e..0bbb457363958 100644 --- a/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipeprofiler.h +++ b/src/coreclr/tests/src/profiler/native/eventpipeprofiler/eventpipewritingprofiler.h @@ -6,10 +6,10 @@ #include "../profiler.h" -class EventPipeProfiler : public Profiler +class EventPipeWritingProfiler : public Profiler { public: - EventPipeProfiler() : Profiler(), + EventPipeWritingProfiler() : Profiler(), _failures(0), _provider(0), _allTypesEvent(0), diff --git a/src/coreclr/tests/src/profiler/native/getappdomainstaticaddress/getappdomainstaticaddress.cpp b/src/coreclr/tests/src/profiler/native/getappdomainstaticaddress/getappdomainstaticaddress.cpp index 598bc6a05e8e2..0aef0d0855186 100644 --- a/src/coreclr/tests/src/profiler/native/getappdomainstaticaddress/getappdomainstaticaddress.cpp +++ b/src/coreclr/tests/src/profiler/native/getappdomainstaticaddress/getappdomainstaticaddress.cpp @@ -224,7 +224,7 @@ HRESULT GetAppDomainStaticAddress::ModuleUnloadStarted(ModuleID moduleId) if (DEBUG_OUT) { wprintf(L"ClassID 0x%" PRIxPTR " (%s) being removed due to generic argument 0x%" PRIxPTR " (%s) belonging to the parent module 0x%" PRIxPTR " unloading\n", - classId, GetClassIDName(classId).ToWString().c_str(), typeArg, GetClassIDName(typeArg).ToWString().c_str(), typeArgModId); + classId, GetClassIDName(classId).ToCStr(), typeArg, GetClassIDName(typeArg).ToCStr(), typeArgModId); } shouldEraseClassId = true; @@ -331,7 +331,7 @@ HRESULT GetAppDomainStaticAddress::ClassUnloadStarted(ClassID classId) if (DEBUG_OUT) { - wprintf(L"Class 0x%" PRIxPTR " (%s) unload started\n", classId, GetClassIDName(classId).ToWString().c_str()); + wprintf(L"Class 0x%" PRIxPTR " (%s) unload started\n", classId, GetClassIDName(classId).ToCStr()); } for (auto it = classADMap.begin(); it != classADMap.end(); ++it) diff --git a/src/coreclr/tests/src/profiler/native/guids.cpp b/src/coreclr/tests/src/profiler/native/guids.cpp index 690129fbf046c..a4ff29d6199a7 100644 --- a/src/coreclr/tests/src/profiler/native/guids.cpp +++ b/src/coreclr/tests/src/profiler/native/guids.cpp @@ -21,32 +21,33 @@ DEFINE_GUID(GUID_NULL, 0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, DEFINE_GUID(IID_IUnknown, 0x00000000, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46); DEFINE_GUID(IID_IClassFactory, 0x00000001, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46); -DEFINE_GUID(IID_ICorProfilerCallback, 0x176FBED1,0xA55C,0x4796,0x98,0xCA,0xA9,0xDA,0x0E,0xF8,0x83,0xE7); -DEFINE_GUID(IID_ICorProfilerCallback2, 0x8A8CC829,0xCCF2,0x49fe,0xBB,0xAE,0x0F,0x02,0x22,0x28,0x07,0x1A); -DEFINE_GUID(IID_ICorProfilerCallback3, 0x4FD2ED52,0x7731,0x4b8d,0x94,0x69,0x03,0xD2,0xCC,0x30,0x86,0xC5); -DEFINE_GUID(IID_ICorProfilerCallback4, 0x7B63B2E3,0x107D,0x4d48,0xB2,0xF6,0xF6,0x1E,0x22,0x94,0x70,0xD2); -DEFINE_GUID(IID_ICorProfilerCallback5, 0x8DFBA405,0x8C9F,0x45F8,0xBF,0xFA,0x83,0xB1,0x4C,0xEF,0x78,0xB5); -DEFINE_GUID(IID_ICorProfilerCallback6, 0xFC13DF4B,0x4448,0x4F4F,0x95,0x0C,0xBA,0x8D,0x19,0xD0,0x0C,0x36); -DEFINE_GUID(IID_ICorProfilerCallback7, 0xF76A2DBA,0x1D52,0x4539,0x86,0x6C,0x2A,0xA5,0x18,0xF9,0xEF,0xC3); -DEFINE_GUID(IID_ICorProfilerCallback8, 0x5BED9B15,0xC079,0x4D47,0xBF,0xE2,0x21,0x5A,0x14,0x0C,0x07,0xE0); -DEFINE_GUID(IID_ICorProfilerCallback9,0x27583EC3,0xC8F5,0x482F,0x80,0x52,0x19,0x4B,0x8C,0xE4,0x70,0x5A); -DEFINE_GUID(IID_ICorProfilerInfo, 0x28B5557D,0x3F3F,0x48b4,0x90,0xB2,0x5F,0x9E,0xEA,0x2F,0x6C,0x48); -DEFINE_GUID(IID_ICorProfilerInfo2, 0xCC0935CD,0xA518,0x487d,0xB0,0xBB,0xA9,0x32,0x14,0xE6,0x54,0x78); -DEFINE_GUID(IID_ICorProfilerInfo3, 0xB555ED4F,0x452A,0x4E54,0x8B,0x39,0xB5,0x36,0x0B,0xAD,0x32,0xA0); -DEFINE_GUID(IID_ICorProfilerObjectEnum, 0x2C6269BD,0x2D13,0x4321,0xAE,0x12,0x66,0x86,0x36,0x5F,0xD6,0xAF); -DEFINE_GUID(IID_ICorProfilerFunctionEnum, 0xFF71301A,0xB994,0x429D,0xA1,0x0B,0xB3,0x45,0xA6,0x52,0x80,0xEF); -DEFINE_GUID(IID_ICorProfilerModuleEnum, 0xb0266d75,0x2081,0x4493,0xaf,0x7f,0x02,0x8b,0xa3,0x4d,0xb8,0x91); -DEFINE_GUID(IID_IMethodMalloc, 0xA0EFB28B,0x6EE2,0x4d7b,0xB9,0x83,0xA7,0x5E,0xF7,0xBE,0xED,0xB8); -DEFINE_GUID(IID_ICorProfilerFunctionControl, 0xF0963021,0xE1EA,0x4732,0x85,0x81,0xE0,0x1B,0x0B,0xD3,0xC0,0xC6); -DEFINE_GUID(IID_ICorProfilerInfo4, 0x0d8fdcaa,0x6257,0x47bf,0xb1,0xbf,0x94,0xda,0xc8,0x84,0x66,0xee); -DEFINE_GUID(IID_ICorProfilerInfo5, 0x07602928,0xCE38,0x4B83,0x81,0xE7,0x74,0xAD,0xAF,0x78,0x12,0x14); -DEFINE_GUID(IID_ICorProfilerInfo6, 0xF30A070D,0xBFFB,0x46A7,0xB1,0xD8,0x87,0x81,0xEF,0x7B,0x69,0x8A); -DEFINE_GUID(IID_ICorProfilerInfo7, 0x9AEECC0D,0x63E0,0x4187,0x8C,0x00,0xE3,0x12,0xF5,0x03,0xF6,0x63); -DEFINE_GUID(IID_ICorProfilerInfo8, 0xC5AC80A6,0x782E,0x4716,0x80,0x44,0x39,0x59,0x8C,0x60,0xCF,0xBF); -DEFINE_GUID(IID_ICorProfilerInfo9, 0X008170DB,0XF8CC,0X4796,0X9A,0X51,0XDC,0X8A,0XA0,0XB4,0X70,0x12); -DEFINE_GUID(IID_ICorProfilerInfo10,0X2F1B5152,0XC869,0X40C9,0XAA,0X5F,0X3A,0XBE,0X02,0X6B,0XD7,0X20); -DEFINE_GUID(IID_ICorProfilerInfo11,0x06398876,0x8987,0x4154,0xB6,0x21,0x40,0xA0,0x0D,0x6E,0x4D,0x04); -DEFINE_GUID(IID_ICorProfilerInfo12,0x27b24ccd,0x1cb1,0x47c5,0x96,0xee,0x98,0x19,0x0d,0xc3,0x09,0x59); -DEFINE_GUID(IID_ICorProfilerMethodEnum, 0xFCCEE788,0x0088,0x454B,0xA8,0x11,0xC9,0x9F,0x29,0x8D,0x19,0x42); -DEFINE_GUID(IID_ICorProfilerThreadEnum, 0x571194f7,0x25ed,0x419f,0xaa,0x8b,0x70,0x16,0xb3,0x15,0x97,0x01); +DEFINE_GUID(IID_ICorProfilerCallback, 0x176FBED1,0xA55C,0x4796,0x98,0xCA,0xA9,0xDA,0x0E,0xF8,0x83,0xE7); +DEFINE_GUID(IID_ICorProfilerCallback2, 0x8A8CC829,0xCCF2,0x49FE,0xBB,0xAE,0x0F,0x02,0x22,0x28,0x07,0x1A); +DEFINE_GUID(IID_ICorProfilerCallback3, 0x4FD2ED52,0x7731,0x4B8D,0x94,0x69,0x03,0xD2,0xCC,0x30,0x86,0xC5); +DEFINE_GUID(IID_ICorProfilerCallback4, 0x7B63B2E3,0x107D,0x4D48,0xB2,0xF6,0xF6,0x1E,0x22,0x94,0x70,0xD2); +DEFINE_GUID(IID_ICorProfilerCallback5, 0x8DFBA405,0x8C9F,0x45F8,0xBF,0xFA,0x83,0xB1,0x4C,0xEF,0x78,0xB5); +DEFINE_GUID(IID_ICorProfilerCallback6, 0xFC13DF4B,0x4448,0x4F4F,0x95,0x0C,0xBA,0x8D,0x19,0xD0,0x0C,0x36); +DEFINE_GUID(IID_ICorProfilerCallback7, 0xF76A2DBA,0x1D52,0x4539,0x86,0x6C,0x2A,0xA5,0x18,0xF9,0xEF,0xC3); +DEFINE_GUID(IID_ICorProfilerCallback8, 0x5BED9B15,0xC079,0x4D47,0xBF,0xE2,0x21,0x5A,0x14,0x0C,0x07,0xE0); +DEFINE_GUID(IID_ICorProfilerCallback9, 0x27583EC3,0xC8F5,0x482F,0x80,0x52,0x19,0x4B,0x8C,0xE4,0x70,0x5A); +DEFINE_GUID(IID_ICorProfilerCallback10, 0xCEC5B60E,0xC69C,0x495F,0x87,0xF6,0x84,0xD2,0x8E,0xE1,0x6F,0xFB); +DEFINE_GUID(IID_ICorProfilerInfo, 0x28B5557D,0x3F3F,0x48B4,0x90,0xB2,0x5F,0x9E,0xEA,0x2F,0x6C,0x48); +DEFINE_GUID(IID_ICorProfilerInfo2, 0xCC0935CD,0xA518,0x487D,0xB0,0xBB,0xA9,0x32,0x14,0xE6,0x54,0x78); +DEFINE_GUID(IID_ICorProfilerInfo3, 0xB555ED4F,0x452A,0x4E54,0x8B,0x39,0xB5,0x36,0x0B,0xAD,0x32,0xA0); +DEFINE_GUID(IID_ICorProfilerObjectEnum, 0x2C6269BD,0x2D13,0x4321,0xAE,0x12,0x66,0x86,0x36,0x5F,0xD6,0xAF); +DEFINE_GUID(IID_ICorProfilerFunctionEnum, 0xFF71301A,0xB994,0x429D,0xA1,0x0B,0xB3,0x45,0xA6,0x52,0x80,0xEF); +DEFINE_GUID(IID_ICorProfilerModuleEnum, 0xB0266D75,0x2081,0x4493,0xAF,0x7F,0x02,0x8B,0xA3,0x4D,0xB8,0x91); +DEFINE_GUID(IID_IMethodMalloc, 0xA0EFB28B,0x6EE2,0x4D7B,0xB9,0x83,0xA7,0x5E,0xF7,0xBE,0xED,0xB8); +DEFINE_GUID(IID_ICorProfilerFunctionControl, 0xF0963021,0xE1EA,0x4732,0x85,0x81,0xE0,0x1B,0x0B,0xD3,0xC0,0xC6); +DEFINE_GUID(IID_ICorProfilerInfo4, 0x0D8FDCAA,0x6257,0x47BF,0xB1,0xBF,0x94,0xDA,0xC8,0x84,0x66,0xEE); +DEFINE_GUID(IID_ICorProfilerInfo5, 0x07602928,0xCE38,0x4B83,0x81,0xE7,0x74,0xAD,0xAF,0x78,0x12,0x14); +DEFINE_GUID(IID_ICorProfilerInfo6, 0xF30A070D,0xBFFB,0x46A7,0xB1,0xD8,0x87,0x81,0xEF,0x7B,0x69,0x8A); +DEFINE_GUID(IID_ICorProfilerInfo7, 0x9AEECC0D,0x63E0,0x4187,0x8C,0x00,0xE3,0x12,0xF5,0x03,0xF6,0x63); +DEFINE_GUID(IID_ICorProfilerInfo8, 0xC5AC80A6,0x782E,0x4716,0x80,0x44,0x39,0x59,0x8C,0x60,0xCF,0xBF); +DEFINE_GUID(IID_ICorProfilerInfo9, 0x008170DB,0xF8CC,0x4796,0x9A,0x51,0xDC,0x8A,0xA0,0xB4,0x70,0x12); +DEFINE_GUID(IID_ICorProfilerInfo10, 0x2F1B5152,0xC869,0x40C9,0xAA,0x5F,0x3A,0xBE,0x02,0x6B,0xD7,0x20); +DEFINE_GUID(IID_ICorProfilerInfo11, 0x06398876,0x8987,0x4154,0xB6,0x21,0x40,0xA0,0x0D,0x6E,0x4D,0x04); +DEFINE_GUID(IID_ICorProfilerInfo12, 0x27B24CCD,0x1CB1,0x47C5,0x96,0xEE,0x98,0x19,0x0D,0xC3,0x09,0x59); +DEFINE_GUID(IID_ICorProfilerMethodEnum, 0xFCCEE788,0x0088,0x454B,0xA8,0x11,0xC9,0x9F,0x29,0x8D,0x19,0x42); +DEFINE_GUID(IID_ICorProfilerThreadEnum, 0x571194F7,0x25ED,0x419F,0xAA,0x8B,0x70,0x16,0xB3,0x15,0x97,0x01); DEFINE_GUID(IID_ICorProfilerAssemblyReferenceProvider, 0x66A78C24,0x2EEF,0x4F65,0xB4,0x5F,0xDD,0x1D,0x80,0x38,0xBF,0x3C); \ No newline at end of file diff --git a/src/coreclr/tests/src/profiler/native/profiler.cpp b/src/coreclr/tests/src/profiler/native/profiler.cpp index f53dbccf4e70c..685d7ccd6355d 100644 --- a/src/coreclr/tests/src/profiler/native/profiler.cpp +++ b/src/coreclr/tests/src/profiler/native/profiler.cpp @@ -490,9 +490,38 @@ HRESULT STDMETHODCALLTYPE Profiler::DynamicMethodJITCompilationFinished(Function return S_OK; } +HRESULT STDMETHODCALLTYPE Profiler::DynamicMethodUnloaded(FunctionID functionId) +{ + return S_OK; +} + +HRESULT STDMETHODCALLTYPE Profiler::EventPipeEventDelivered( + EVENTPIPE_PROVIDER provider, + DWORD eventId, + DWORD eventVersion, + ULONG cbMetadataBlob, + LPCBYTE metadataBlob, + ULONG cbEventData, + LPCBYTE eventData, + LPCGUID pActivityId, + LPCGUID pRelatedActivityId, + ThreadID eventThread, + ULONG numStackFrames, + UINT_PTR stackFrames[]) +{ + return S_OK; +} + +HRESULT STDMETHODCALLTYPE Profiler::EventPipeProviderCreated(EVENTPIPE_PROVIDER provider) +{ + return S_OK; +} + HRESULT STDMETHODCALLTYPE Profiler::QueryInterface(REFIID riid, void **ppvObject) { - if (riid == __uuidof(ICorProfilerCallback8) || + if (riid == __uuidof(ICorProfilerCallback10) || + riid == __uuidof(ICorProfilerCallback9) || + riid == __uuidof(ICorProfilerCallback8) || riid == __uuidof(ICorProfilerCallback7) || riid == __uuidof(ICorProfilerCallback6) || riid == __uuidof(ICorProfilerCallback5) || diff --git a/src/coreclr/tests/src/profiler/native/profiler.def b/src/coreclr/tests/src/profiler/native/profiler.def index f876274ff0ae1..e3fbc0d4d889a 100644 --- a/src/coreclr/tests/src/profiler/native/profiler.def +++ b/src/coreclr/tests/src/profiler/native/profiler.def @@ -1,4 +1,3 @@ - LIBRARY Profiler.dll EXPORTS diff --git a/src/coreclr/tests/src/profiler/native/profiler.h b/src/coreclr/tests/src/profiler/native/profiler.h index 018ef00354f51..9d1e16392302a 100644 --- a/src/coreclr/tests/src/profiler/native/profiler.h +++ b/src/coreclr/tests/src/profiler/native/profiler.h @@ -98,7 +98,7 @@ class NewArrayHolder T* m_pArray; }; -class Profiler : public ICorProfilerCallback8 +class Profiler : public ICorProfilerCallback10 { private: std::atomic refCount; @@ -205,6 +205,21 @@ class Profiler : public ICorProfilerCallback8 HRESULT STDMETHODCALLTYPE ModuleInMemorySymbolsUpdated(ModuleID moduleId) override; HRESULT STDMETHODCALLTYPE DynamicMethodJITCompilationStarted(FunctionID functionId, BOOL fIsSafeToBlock, LPCBYTE ilHeader, ULONG cbILHeader) override; HRESULT STDMETHODCALLTYPE DynamicMethodJITCompilationFinished(FunctionID functionId, HRESULT hrStatus, BOOL fIsSafeToBlock) override; + HRESULT STDMETHODCALLTYPE DynamicMethodUnloaded(FunctionID functionId) override; + HRESULT STDMETHODCALLTYPE EventPipeEventDelivered( + EVENTPIPE_PROVIDER provider, + DWORD eventId, + DWORD eventVersion, + ULONG cbMetadataBlob, + LPCBYTE metadataBlob, + ULONG cbEventData, + LPCBYTE eventData, + LPCGUID pActivityId, + LPCGUID pRelatedActivityId, + ThreadID eventThread, + ULONG numStackFrames, + UINT_PTR stackFrames[]) override; + HRESULT EventPipeProviderCreated(EVENTPIPE_PROVIDER provider) override; HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject) override; ULONG STDMETHODCALLTYPE AddRef(void) override; diff --git a/src/coreclr/tests/src/profiler/native/profilerstring.h b/src/coreclr/tests/src/profiler/native/profilerstring.h index 9eeaf2bc717d9..194885ce90bf1 100644 --- a/src/coreclr/tests/src/profiler/native/profilerstring.h +++ b/src/coreclr/tests/src/profiler/native/profilerstring.h @@ -70,13 +70,15 @@ class String private: WCHAR *buffer; size_t bufferLen; + wchar_t *printBuffer; + size_t printBufferLen; const size_t DefaultStringLength = 1024; void CopyBuffer(const WCHAR *other) { assert(other != nullptr); - size_t otherLen = wcslen(other); + size_t otherLen = wcslen(other) + 1; if (buffer == nullptr || otherLen > bufferLen) { bufferLen = max(DefaultStringLength, otherLen); @@ -88,13 +90,15 @@ class String buffer = new WCHAR[bufferLen]; } - memcpy(buffer, other, bufferLen * sizeof(WCHAR)); + memcpy(buffer, other, otherLen * sizeof(WCHAR)); } public: String(const WCHAR *s = WCHAR("")) : buffer(nullptr), - bufferLen(0) + bufferLen(0), + printBuffer(nullptr), + printBufferLen(0) { CopyBuffer(s); } @@ -106,18 +110,28 @@ class String bufferLen = 0; delete[] buffer; } + + if (printBuffer != nullptr) + { + printBufferLen = 0; + delete[] printBuffer; + } } String(const String& other) : buffer(nullptr), - bufferLen(0) + bufferLen(0), + printBuffer(nullptr), + printBufferLen(0) { CopyBuffer(other.buffer); } String(String&& other) noexcept : buffer(nullptr), - bufferLen(0) + bufferLen(0), + printBuffer(nullptr), + printBufferLen(0) { std::swap(buffer, other.buffer); std::swap(bufferLen, other.bufferLen); @@ -133,6 +147,9 @@ class String } } + printBuffer = nullptr; + printBufferLen = 0; + return *this; } @@ -140,6 +157,10 @@ class String { std::swap(buffer, other.buffer); std::swap(bufferLen, other.bufferLen); + + printBuffer = nullptr; + printBufferLen = 0; + return *this; } @@ -195,6 +216,34 @@ class String } } + const wchar_t *ToCStr() + { + if (bufferLen == 0 || buffer == nullptr) + { + // Nothing to convert + return nullptr; + } + + if (bufferLen > printBufferLen) + { + delete[] printBuffer; + printBuffer = nullptr; + printBufferLen = 0; + } + + if (printBuffer == nullptr) + { + printBuffer = new wchar_t[bufferLen]; + } + + for (int i = 0; i < bufferLen; ++i) + { + printBuffer[i] = (wchar_t)buffer[i]; + } + + return printBuffer; + } + std::wstring ToWString() { std::wstring temp; From 87ceca4850dc9b975d3b0e4073b7deac516492a4 Mon Sep 17 00:00:00 2001 From: David Mason Date: Wed, 24 Jun 2020 23:31:02 -0700 Subject: [PATCH 19/24] add description of filter data format --- src/coreclr/src/inc/corprof.idl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/coreclr/src/inc/corprof.idl b/src/coreclr/src/inc/corprof.idl index 5574d5fbdc26c..bb4f764c7cb46 100644 --- a/src/coreclr/src/inc/corprof.idl +++ b/src/coreclr/src/inc/corprof.idl @@ -780,6 +780,10 @@ typedef struct const WCHAR* providerName; UINT64 keywords; UINT32 loggingLevel; + // filterData expects a semicolon delimited string that defines key value pairs + // such as "key1=value1;key2=value2;". Quotes can be used to escape the '=' and ';' + // characters. These key value pairs will be passed in the enable callback to event + // providers const WCHAR* filterData; } COR_PRF_EVENTPIPE_PROVIDER_CONFIG; From 0cc9a2833dec61b81348a857c01afb0a5b3e1abc Mon Sep 17 00:00:00 2001 From: David Mason Date: Thu, 25 Jun 2020 02:05:25 -0700 Subject: [PATCH 20/24] fix x86 test build issues --- src/coreclr/tests/src/profiler/native/profiler.h | 2 +- src/coreclr/tests/src/profiler/native/profilerstring.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/coreclr/tests/src/profiler/native/profiler.h b/src/coreclr/tests/src/profiler/native/profiler.h index 9d1e16392302a..fa388f1a342fa 100644 --- a/src/coreclr/tests/src/profiler/native/profiler.h +++ b/src/coreclr/tests/src/profiler/native/profiler.h @@ -219,7 +219,7 @@ class Profiler : public ICorProfilerCallback10 ThreadID eventThread, ULONG numStackFrames, UINT_PTR stackFrames[]) override; - HRESULT EventPipeProviderCreated(EVENTPIPE_PROVIDER provider) override; + HRESULT STDMETHODCALLTYPE EventPipeProviderCreated(EVENTPIPE_PROVIDER provider) override; HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject) override; ULONG STDMETHODCALLTYPE AddRef(void) override; diff --git a/src/coreclr/tests/src/profiler/native/profilerstring.h b/src/coreclr/tests/src/profiler/native/profilerstring.h index 194885ce90bf1..713492f1e0933 100644 --- a/src/coreclr/tests/src/profiler/native/profilerstring.h +++ b/src/coreclr/tests/src/profiler/native/profilerstring.h @@ -236,7 +236,7 @@ class String printBuffer = new wchar_t[bufferLen]; } - for (int i = 0; i < bufferLen; ++i) + for (size_t i = 0; i < bufferLen; ++i) { printBuffer[i] = (wchar_t)buffer[i]; } From 008dabd6705e260969212cae0d84ded328e5c6d5 Mon Sep 17 00:00:00 2001 From: David Mason Date: Fri, 26 Jun 2020 10:36:57 -0700 Subject: [PATCH 21/24] exlcude test from mono --- src/coreclr/tests/issues.targets | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/coreclr/tests/issues.targets b/src/coreclr/tests/issues.targets index 3d41654461722..50173df818a72 100644 --- a/src/coreclr/tests/issues.targets +++ b/src/coreclr/tests/issues.targets @@ -1638,6 +1638,9 @@ needs triage + + needs triage + needs triage From 68e34797e7d63a1a58c9677101ba6d7012508949 Mon Sep 17 00:00:00 2001 From: David Mason Date: Thu, 25 Jun 2020 22:06:33 -0700 Subject: [PATCH 22/24] move waiting on threads to finish writing outside of the lock --- src/coreclr/src/vm/eventpipesession.cpp | 26 ++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/coreclr/src/vm/eventpipesession.cpp b/src/coreclr/src/vm/eventpipesession.cpp index bf89eebb521b1..66a7e0fe3942f 100644 --- a/src/coreclr/src/vm/eventpipesession.cpp +++ b/src/coreclr/src/vm/eventpipesession.cpp @@ -542,6 +542,9 @@ void EventPipeSession::SuspendWriteEvent() } CONTRACTL_END; + // Collect all threads that are currently active so we don't have to + // wait for events to finish writing under the lock. + CQuickArrayList threadList; { SpinLockHolder holder(EventPipeThread::GetGlobalThreadLock()); @@ -549,18 +552,27 @@ void EventPipeSession::SuspendWriteEvent() EventPipeThread *pThread = nullptr; while (eventPipeThreads.Next(&pThread)) { - // Wait for the thread to finish any writes to this session - YIELD_WHILE(pThread->GetSessionWriteInProgress() == GetIndex()); - - // Since we've already disabled the session, the thread won't call back in to this - // session once its done with the current write + // Add ref so the thread doesn't disappear when we release the lock + pThread->AddRef(); + threadList.Push(pThread); } } + for (size_t i = 0; i < threadList.Size(); i++) + { + EventPipeThread *pThread = threadList[i]; + // Wait for the thread to finish any writes to this session + YIELD_WHILE(pThread->GetSessionWriteInProgress() == GetIndex()); + + // Since we've already disabled the session, the thread won't call back in to this + // session once its done with the current write + + pThread->Release(); + } + if (m_pBufferManager != nullptr) { - // Force all in-progress writes to either finish or cancel - // This is required to ensure we can safely flush and delete the buffers + // Convert all buffers to read only to ensure they get flushed m_pBufferManager->SuspendWriteEvent(GetIndex()); } } From 2c3429e4207b2ee42e56a70a86a3b94845510ef5 Mon Sep 17 00:00:00 2001 From: David Mason Date: Fri, 26 Jun 2020 21:48:42 -0700 Subject: [PATCH 23/24] allow call to GetProviderInfo to get the length of the name --- src/coreclr/src/vm/proftoeeinterfaceimpl.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp b/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp index 24a3db57ec66f..2c0aa198932ca 100644 --- a/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp +++ b/src/coreclr/src/vm/proftoeeinterfaceimpl.cpp @@ -7247,10 +7247,8 @@ HRESULT ProfToEEInterfaceImpl::EventPipeGetProviderInfo( "**PROF: EventPipeGetProviderInfo.\n")); #ifdef FEATURE_PERFTRACING - if (cchName == 0 || szName == NULL) + if (cchName > 0 && szName == NULL) { - // The only thing this API returns is the name, so bail - // if we can't return the name. return E_INVALIDARG; } From 5ab6fd0daa8ffa38396c492a9dd0626a3e57290c Mon Sep 17 00:00:00 2001 From: David Mason Date: Fri, 26 Jun 2020 21:52:51 -0700 Subject: [PATCH 24/24] Fix formatting --- src/coreclr/src/vm/eventpipe.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/coreclr/src/vm/eventpipe.cpp b/src/coreclr/src/vm/eventpipe.cpp index 2d888fe17220f..2ec6f0472c620 100644 --- a/src/coreclr/src/vm/eventpipe.cpp +++ b/src/coreclr/src/vm/eventpipe.cpp @@ -615,9 +615,9 @@ EventPipeProvider *EventPipe::CreateProvider(const SString &providerName, EventP CONTRACTL_END; return s_config.CreateProvider(providerName, - pCallbackFunction, - pCallbackData, - pEventPipeProviderCallbackDataQueue); + pCallbackFunction, + pCallbackData, + pEventPipeProviderCallbackDataQueue); } EventPipeProvider *EventPipe::GetProvider(const SString &providerName)