Implement ICorProfilerInfo14::EnumerateNonGCObjects (#85100)
authorEgor Bogatov <egorbo@gmail.com>
Wed, 26 Apr 2023 11:06:05 +0000 (13:06 +0200)
committerGitHub <noreply@github.com>
Wed, 26 Apr 2023 11:06:05 +0000 (13:06 +0200)
15 files changed:
src/coreclr/inc/corprof.idl
src/coreclr/pal/prebuilt/idl/corprof_i.cpp
src/coreclr/pal/prebuilt/inc/corprof.h
src/coreclr/vm/frozenobjectheap.cpp
src/coreclr/vm/frozenobjectheap.h
src/coreclr/vm/profilingenumerators.cpp
src/coreclr/vm/profilingenumerators.h
src/coreclr/vm/proftoeeinterfaceimpl.cpp
src/coreclr/vm/proftoeeinterfaceimpl.h
src/tests/profiler/gc/nongcheap.cs
src/tests/profiler/native/guids.cpp
src/tests/profiler/native/nongcheap/nongcheap.cpp
src/tests/profiler/native/nongcheap/nongcheap.h
src/tests/profiler/native/profiler.cpp
src/tests/profiler/native/profiler.h

index 2ed249f..11ce62e 100644 (file)
@@ -4245,6 +4245,17 @@ interface ICorProfilerInfo13 : ICorProfilerInfo12
         [out] ObjectID* pObject);
 }
 
+[
+    object,
+    uuid(F460E352-D76D-4FE9-835F-F6AF9D6E862D),
+    pointer_default(unique),
+    local
+]
+interface ICorProfilerInfo14 : ICorProfilerInfo13
+{
+    HRESULT EnumerateNonGCObjects([out] ICorProfilerObjectEnum** ppEnum);
+}
+
 /*
 * This interface lets you iterate over methods in the runtime.
 */
index dbe77ca..61546a4 100644 (file)
@@ -147,6 +147,9 @@ MIDL_DEFINE_GUID(IID, IID_ICorProfilerInfo12,0x27b24ccd,0x1cb1,0x47c5,0x96,0xee,
 MIDL_DEFINE_GUID(IID, IID_ICorProfilerInfo13,0x6E6C7EE2,0x0701,0x4EC2,0x9D,0x29,0x2E,0x87,0x33,0xB6,0x69,0x34);
 
 
+MIDL_DEFINE_GUID(IID, IID_ICorProfilerInfo14,0xF460E352,0xD76D,0x4FE9,0x83,0x5F,0xF6,0xAF,0x9D,0x6E,0x86,0x2D);
+
+
 MIDL_DEFINE_GUID(IID, IID_ICorProfilerMethodEnum,0xFCCEE788,0x0088,0x454B,0xA8,0x11,0xC9,0x9F,0x29,0x8D,0x19,0x42);
 
 
index 05e9356..7682710 100644 (file)
@@ -3,12 +3,12 @@
 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
 
 
- /* File created by MIDL compiler version 8.01.0622 */
+ /* File created by MIDL compiler version 8.01.0626 */
 /* Compiler settings for corprof.idl:
-    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.01.0622
+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.01.062
     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()
 */
 #pragma once
 #endif
 
-/* Forward Declarations */
+#ifndef DECLSPEC_XFGVIRT
+#if _CONTROL_FLOW_GUARD_XFG
+#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
+#else
+#define DECLSPEC_XFGVIRT(base, func)
+#endif
+#endif
+
+/* Forward Declarations */ 
 
 #ifndef __ICorProfilerCallback_FWD_DEFINED__
 #define __ICorProfilerCallback_FWD_DEFINED__
 typedef interface ICorProfilerCallback ICorProfilerCallback;
 
-#endif  /* __ICorProfilerCallback_FWD_DEFINED__ */
+#endif         /* __ICorProfilerCallback_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerCallback2_FWD_DEFINED__
 #define __ICorProfilerCallback2_FWD_DEFINED__
 typedef interface ICorProfilerCallback2 ICorProfilerCallback2;
 
-#endif  /* __ICorProfilerCallback2_FWD_DEFINED__ */
+#endif         /* __ICorProfilerCallback2_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerCallback3_FWD_DEFINED__
 #define __ICorProfilerCallback3_FWD_DEFINED__
 typedef interface ICorProfilerCallback3 ICorProfilerCallback3;
 
-#endif  /* __ICorProfilerCallback3_FWD_DEFINED__ */
+#endif         /* __ICorProfilerCallback3_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerCallback4_FWD_DEFINED__
 #define __ICorProfilerCallback4_FWD_DEFINED__
 typedef interface ICorProfilerCallback4 ICorProfilerCallback4;
 
-#endif  /* __ICorProfilerCallback4_FWD_DEFINED__ */
+#endif         /* __ICorProfilerCallback4_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerCallback5_FWD_DEFINED__
 #define __ICorProfilerCallback5_FWD_DEFINED__
 typedef interface ICorProfilerCallback5 ICorProfilerCallback5;
 
-#endif  /* __ICorProfilerCallback5_FWD_DEFINED__ */
+#endif         /* __ICorProfilerCallback5_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerCallback6_FWD_DEFINED__
 #define __ICorProfilerCallback6_FWD_DEFINED__
 typedef interface ICorProfilerCallback6 ICorProfilerCallback6;
 
-#endif  /* __ICorProfilerCallback6_FWD_DEFINED__ */
+#endif         /* __ICorProfilerCallback6_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerCallback7_FWD_DEFINED__
 #define __ICorProfilerCallback7_FWD_DEFINED__
 typedef interface ICorProfilerCallback7 ICorProfilerCallback7;
 
-#endif  /* __ICorProfilerCallback7_FWD_DEFINED__ */
+#endif         /* __ICorProfilerCallback7_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerCallback8_FWD_DEFINED__
 #define __ICorProfilerCallback8_FWD_DEFINED__
 typedef interface ICorProfilerCallback8 ICorProfilerCallback8;
 
-#endif  /* __ICorProfilerCallback8_FWD_DEFINED__ */
+#endif         /* __ICorProfilerCallback8_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerCallback9_FWD_DEFINED__
 #define __ICorProfilerCallback9_FWD_DEFINED__
 typedef interface ICorProfilerCallback9 ICorProfilerCallback9;
 
-#endif  /* __ICorProfilerCallback9_FWD_DEFINED__ */
+#endif         /* __ICorProfilerCallback9_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerCallback10_FWD_DEFINED__
 #define __ICorProfilerCallback10_FWD_DEFINED__
 typedef interface ICorProfilerCallback10 ICorProfilerCallback10;
 
-#endif  /* __ICorProfilerCallback10_FWD_DEFINED__ */
+#endif         /* __ICorProfilerCallback10_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerCallback11_FWD_DEFINED__
 #define __ICorProfilerCallback11_FWD_DEFINED__
 typedef interface ICorProfilerCallback11 ICorProfilerCallback11;
 
-#endif  /* __ICorProfilerCallback11_FWD_DEFINED__ */
+#endif         /* __ICorProfilerCallback11_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo_FWD_DEFINED__
 #define __ICorProfilerInfo_FWD_DEFINED__
 typedef interface ICorProfilerInfo ICorProfilerInfo;
 
-#endif  /* __ICorProfilerInfo_FWD_DEFINED__ */
+#endif         /* __ICorProfilerInfo_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo2_FWD_DEFINED__
 #define __ICorProfilerInfo2_FWD_DEFINED__
 typedef interface ICorProfilerInfo2 ICorProfilerInfo2;
 
-#endif  /* __ICorProfilerInfo2_FWD_DEFINED__ */
+#endif         /* __ICorProfilerInfo2_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo3_FWD_DEFINED__
 #define __ICorProfilerInfo3_FWD_DEFINED__
 typedef interface ICorProfilerInfo3 ICorProfilerInfo3;
 
-#endif  /* __ICorProfilerInfo3_FWD_DEFINED__ */
+#endif         /* __ICorProfilerInfo3_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerObjectEnum_FWD_DEFINED__
 #define __ICorProfilerObjectEnum_FWD_DEFINED__
 typedef interface ICorProfilerObjectEnum ICorProfilerObjectEnum;
 
-#endif  /* __ICorProfilerObjectEnum_FWD_DEFINED__ */
+#endif         /* __ICorProfilerObjectEnum_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerFunctionEnum_FWD_DEFINED__
 #define __ICorProfilerFunctionEnum_FWD_DEFINED__
 typedef interface ICorProfilerFunctionEnum ICorProfilerFunctionEnum;
 
-#endif  /* __ICorProfilerFunctionEnum_FWD_DEFINED__ */
+#endif         /* __ICorProfilerFunctionEnum_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerModuleEnum_FWD_DEFINED__
 #define __ICorProfilerModuleEnum_FWD_DEFINED__
 typedef interface ICorProfilerModuleEnum ICorProfilerModuleEnum;
 
-#endif  /* __ICorProfilerModuleEnum_FWD_DEFINED__ */
+#endif         /* __ICorProfilerModuleEnum_FWD_DEFINED__ */
 
 
 #ifndef __IMethodMalloc_FWD_DEFINED__
 #define __IMethodMalloc_FWD_DEFINED__
 typedef interface IMethodMalloc IMethodMalloc;
 
-#endif  /* __IMethodMalloc_FWD_DEFINED__ */
+#endif         /* __IMethodMalloc_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerFunctionControl_FWD_DEFINED__
 #define __ICorProfilerFunctionControl_FWD_DEFINED__
 typedef interface ICorProfilerFunctionControl ICorProfilerFunctionControl;
 
-#endif  /* __ICorProfilerFunctionControl_FWD_DEFINED__ */
+#endif         /* __ICorProfilerFunctionControl_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo4_FWD_DEFINED__
 #define __ICorProfilerInfo4_FWD_DEFINED__
 typedef interface ICorProfilerInfo4 ICorProfilerInfo4;
 
-#endif  /* __ICorProfilerInfo4_FWD_DEFINED__ */
+#endif         /* __ICorProfilerInfo4_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo5_FWD_DEFINED__
 #define __ICorProfilerInfo5_FWD_DEFINED__
 typedef interface ICorProfilerInfo5 ICorProfilerInfo5;
 
-#endif  /* __ICorProfilerInfo5_FWD_DEFINED__ */
+#endif         /* __ICorProfilerInfo5_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo6_FWD_DEFINED__
 #define __ICorProfilerInfo6_FWD_DEFINED__
 typedef interface ICorProfilerInfo6 ICorProfilerInfo6;
 
-#endif  /* __ICorProfilerInfo6_FWD_DEFINED__ */
+#endif         /* __ICorProfilerInfo6_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo7_FWD_DEFINED__
 #define __ICorProfilerInfo7_FWD_DEFINED__
 typedef interface ICorProfilerInfo7 ICorProfilerInfo7;
 
-#endif  /* __ICorProfilerInfo7_FWD_DEFINED__ */
+#endif         /* __ICorProfilerInfo7_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo8_FWD_DEFINED__
 #define __ICorProfilerInfo8_FWD_DEFINED__
 typedef interface ICorProfilerInfo8 ICorProfilerInfo8;
 
-#endif  /* __ICorProfilerInfo8_FWD_DEFINED__ */
+#endif         /* __ICorProfilerInfo8_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo9_FWD_DEFINED__
 #define __ICorProfilerInfo9_FWD_DEFINED__
 typedef interface ICorProfilerInfo9 ICorProfilerInfo9;
 
-#endif  /* __ICorProfilerInfo9_FWD_DEFINED__ */
+#endif         /* __ICorProfilerInfo9_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo10_FWD_DEFINED__
 #define __ICorProfilerInfo10_FWD_DEFINED__
 typedef interface ICorProfilerInfo10 ICorProfilerInfo10;
 
-#endif  /* __ICorProfilerInfo10_FWD_DEFINED__ */
+#endif         /* __ICorProfilerInfo10_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo11_FWD_DEFINED__
 #define __ICorProfilerInfo11_FWD_DEFINED__
 typedef interface ICorProfilerInfo11 ICorProfilerInfo11;
 
-#endif  /* __ICorProfilerInfo11_FWD_DEFINED__ */
+#endif         /* __ICorProfilerInfo11_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo12_FWD_DEFINED__
 #define __ICorProfilerInfo12_FWD_DEFINED__
 typedef interface ICorProfilerInfo12 ICorProfilerInfo12;
 
-#endif  /* __ICorProfilerInfo12_FWD_DEFINED__ */
+#endif         /* __ICorProfilerInfo12_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo13_FWD_DEFINED__
 #define __ICorProfilerInfo13_FWD_DEFINED__
 typedef interface ICorProfilerInfo13 ICorProfilerInfo13;
 
-#endif  /* __ICorProfilerInfo13_FWD_DEFINED__ */
+#endif         /* __ICorProfilerInfo13_FWD_DEFINED__ */
+
+
+#ifndef __ICorProfilerInfo14_FWD_DEFINED__
+#define __ICorProfilerInfo14_FWD_DEFINED__
+typedef interface ICorProfilerInfo14 ICorProfilerInfo14;
+
+#endif         /* __ICorProfilerInfo14_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerMethodEnum_FWD_DEFINED__
 #define __ICorProfilerMethodEnum_FWD_DEFINED__
 typedef interface ICorProfilerMethodEnum ICorProfilerMethodEnum;
 
-#endif  /* __ICorProfilerMethodEnum_FWD_DEFINED__ */
+#endif         /* __ICorProfilerMethodEnum_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerThreadEnum_FWD_DEFINED__
 #define __ICorProfilerThreadEnum_FWD_DEFINED__
 typedef interface ICorProfilerThreadEnum ICorProfilerThreadEnum;
 
-#endif  /* __ICorProfilerThreadEnum_FWD_DEFINED__ */
+#endif         /* __ICorProfilerThreadEnum_FWD_DEFINED__ */
 
 
 #ifndef __ICorProfilerAssemblyReferenceProvider_FWD_DEFINED__
 #define __ICorProfilerAssemblyReferenceProvider_FWD_DEFINED__
 typedef interface ICorProfilerAssemblyReferenceProvider ICorProfilerAssemblyReferenceProvider;
 
-#endif  /* __ICorProfilerAssemblyReferenceProvider_FWD_DEFINED__ */
+#endif         /* __ICorProfilerAssemblyReferenceProvider_FWD_DEFINED__ */
 
 
 /* header files for imported files */
@@ -272,11 +287,11 @@ typedef interface ICorProfilerAssemblyReferenceProvider ICorProfilerAssemblyRefe
 
 #ifdef __cplusplus
 extern "C"{
-#endif
+#endif 
 
 
 /* interface __MIDL_itf_corprof_0000_0000 */
-/* [local] */
+/* [local] */ 
 
 #if 0
 typedef LONG32 mdToken;
@@ -297,7 +312,7 @@ typedef /* [public][public][public][public] */ struct __MIDL___MIDL_itf_corprof_
     DWORD dwOSPlatformId;
     DWORD dwOSMajorVersion;
     DWORD dwOSMinorVersion;
-    }   OSINFO;
+    }  OSINFO;
 
 typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_corprof_0000_0000_0002
     {
@@ -311,7 +326,7 @@ typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_corprof_0000_000
     ULONG ulProcessor;
     OSINFO *rOS;
     ULONG ulOS;
-    }   ASSEMBLYMETADATA;
+    }  ASSEMBLYMETADATA;
 
 #endif
 typedef const BYTE *LPCBYTE;
@@ -331,25 +346,25 @@ typedef struct _COR_IL_MAP
     ULONG32 oldOffset;
     ULONG32 newOffset;
     BOOL fAccurate;
-    }   COR_IL_MAP;
+    }  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,
-        PROLOG  = -2,
-        EPILOG  = -3
-    }   CorDebugIlToNativeMappingTypes;
+        NO_MAPPING     = -1,
+        PROLOG = -2,
+        EPILOG = -3
+    }  CorDebugIlToNativeMappingTypes;
 
 typedef struct COR_DEBUG_IL_TO_NATIVE_MAP
     {
     ULONG32 ilOffset;
     ULONG32 nativeStartOffset;
     ULONG32 nativeEndOffset;
-    }   COR_DEBUG_IL_TO_NATIVE_MAP;
+    }  COR_DEBUG_IL_TO_NATIVE_MAP;
 
 #endif // _COR_DEBUG_IL_TO_NATIVE_MAP_
 #ifndef _COR_FIELD_OFFSET_
@@ -358,7 +373,7 @@ typedef struct _COR_FIELD_OFFSET
     {
     mdFieldDef ridOfField;
     ULONG ulOffset;
-    }   COR_FIELD_OFFSET;
+    }  COR_FIELD_OFFSET;
 
 #endif // _COR_FIELD_OFFSET_
 typedef UINT_PTR ProcessID;
@@ -389,24 +404,24 @@ typedef /* [public][public][public][public][public][public][public][public][publ
     {
     FunctionID functionID;
     UINT_PTR clientID;
-    }   FunctionIDOrClientID;
+    }  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,
-        COR_PRF_SNAPSHOT_REGISTER_CONTEXT   = 0x1,
-        COR_PRF_SNAPSHOT_X86_OPTIMIZED  = 0x2
-    }   COR_PRF_SNAPSHOT_INFO;
+        COR_PRF_SNAPSHOT_DEFAULT       = 0,
+        COR_PRF_SNAPSHOT_REGISTER_CONTEXT      = 0x1,
+        COR_PRF_SNAPSHOT_X86_OPTIMIZED = 0x2
+    }  COR_PRF_SNAPSHOT_INFO;
 
 typedef UINT_PTR COR_PRF_FRAME_INFO;
 
@@ -414,36 +429,36 @@ typedef struct _COR_PRF_FUNCTION_ARGUMENT_RANGE
     {
     UINT_PTR startAddress;
     ULONG length;
-    }   COR_PRF_FUNCTION_ARGUMENT_RANGE;
+    }  COR_PRF_FUNCTION_ARGUMENT_RANGE;
 
 typedef struct _COR_PRF_FUNCTION_ARGUMENT_INFO
     {
     ULONG numRanges;
     ULONG totalArgumentSize;
     COR_PRF_FUNCTION_ARGUMENT_RANGE ranges[ 1 ];
-    }   COR_PRF_FUNCTION_ARGUMENT_INFO;
+    }  COR_PRF_FUNCTION_ARGUMENT_INFO;
 
 typedef struct _COR_PRF_CODE_INFO
     {
     UINT_PTR startAddress;
     SIZE_T size;
-    }   COR_PRF_CODE_INFO;
+    }  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,
-        COR_PRF_FIELD_APP_DOMAIN_STATIC = 0x1,
-        COR_PRF_FIELD_THREAD_STATIC = 0x2,
-        COR_PRF_FIELD_CONTEXT_STATIC    = 0x4,
-        COR_PRF_FIELD_RVA_STATIC    = 0x8
-    }   COR_PRF_STATIC_TYPE;
+        COR_PRF_FIELD_NOT_A_STATIC     = 0,
+        COR_PRF_FIELD_APP_DOMAIN_STATIC        = 0x1,
+        COR_PRF_FIELD_THREAD_STATIC    = 0x2,
+        COR_PRF_FIELD_CONTEXT_STATIC   = 0x4,
+        COR_PRF_FIELD_RVA_STATIC       = 0x8
+    }  COR_PRF_STATIC_TYPE;
 
 typedef struct _COR_PRF_FUNCTION
     {
     FunctionID functionId;
     ReJITID reJitId;
-    }   COR_PRF_FUNCTION;
+    }  COR_PRF_FUNCTION;
 
 typedef struct _COR_PRF_ASSEMBLY_REFERENCE_INFO
     {
@@ -454,62 +469,62 @@ typedef struct _COR_PRF_ASSEMBLY_REFERENCE_INFO
     void *pbHashValue;
     ULONG cbHashValue;
     DWORD dwAssemblyRefFlags;
-    }   COR_PRF_ASSEMBLY_REFERENCE_INFO;
+    }  COR_PRF_ASSEMBLY_REFERENCE_INFO;
 
 typedef struct _COR_PRF_METHOD
     {
     ModuleID moduleId;
     mdMethodDef methodId;
-    }   COR_PRF_METHOD;
+    }  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,
@@ -517,123 +532,123 @@ 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,
-        COR_PRF_MONITOR_FUNCTION_UNLOADS    = 0x1,
-        COR_PRF_MONITOR_CLASS_LOADS = 0x2,
-        COR_PRF_MONITOR_MODULE_LOADS    = 0x4,
-        COR_PRF_MONITOR_ASSEMBLY_LOADS  = 0x8,
-        COR_PRF_MONITOR_APPDOMAIN_LOADS = 0x10,
-        COR_PRF_MONITOR_JIT_COMPILATION = 0x20,
-        COR_PRF_MONITOR_EXCEPTIONS  = 0x40,
-        COR_PRF_MONITOR_GC  = 0x80,
-        COR_PRF_MONITOR_OBJECT_ALLOCATED    = 0x100,
-        COR_PRF_MONITOR_THREADS = 0x200,
-        COR_PRF_MONITOR_REMOTING    = 0x400,
-        COR_PRF_MONITOR_CODE_TRANSITIONS    = 0x800,
-        COR_PRF_MONITOR_ENTERLEAVE  = 0x1000,
-        COR_PRF_MONITOR_CCW = 0x2000,
-        COR_PRF_MONITOR_REMOTING_COOKIE = ( 0x4000 | COR_PRF_MONITOR_REMOTING ) ,
-        COR_PRF_MONITOR_REMOTING_ASYNC  = ( 0x8000 | COR_PRF_MONITOR_REMOTING ) ,
-        COR_PRF_MONITOR_SUSPENDS    = 0x10000,
-        COR_PRF_MONITOR_CACHE_SEARCHES  = 0x20000,
-        COR_PRF_ENABLE_REJIT    = 0x40000,
-        COR_PRF_ENABLE_INPROC_DEBUGGING = 0x80000,
-        COR_PRF_ENABLE_JIT_MAPS = 0x100000,
-        COR_PRF_DISABLE_INLINING    = 0x200000,
-        COR_PRF_DISABLE_OPTIMIZATIONS   = 0x400000,
-        COR_PRF_ENABLE_OBJECT_ALLOCATED = 0x800000,
-        COR_PRF_MONITOR_CLR_EXCEPTIONS  = 0x1000000,
-        COR_PRF_MONITOR_ALL = 0x107ffff,
-        COR_PRF_ENABLE_FUNCTION_ARGS    = 0x2000000,
-        COR_PRF_ENABLE_FUNCTION_RETVAL  = 0x4000000,
-        COR_PRF_ENABLE_FRAME_INFO   = 0x8000000,
-        COR_PRF_ENABLE_STACK_SNAPSHOT   = 0x10000000,
-        COR_PRF_USE_PROFILE_IMAGES  = 0x20000000,
-        COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST    = 0x40000000,
-        COR_PRF_DISABLE_ALL_NGEN_IMAGES = 0x80000000,
-        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_ALLOWABLE_NOTIFICATION_PROFILER = ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( COR_PRF_MONITOR_FUNCTION_UNLOADS | COR_PRF_MONITOR_CLASS_LOADS )  | COR_PRF_MONITOR_MODULE_LOADS )  | COR_PRF_MONITOR_ASSEMBLY_LOADS )  | COR_PRF_MONITOR_APPDOMAIN_LOADS )  | COR_PRF_MONITOR_JIT_COMPILATION )  | COR_PRF_MONITOR_EXCEPTIONS )  | COR_PRF_MONITOR_OBJECT_ALLOCATED )  | COR_PRF_MONITOR_THREADS )  | COR_PRF_MONITOR_CODE_TRANSITIONS )  | COR_PRF_MONITOR_CCW )  | COR_PRF_MONITOR_SUSPENDS )  | COR_PRF_MONITOR_CACHE_SEARCHES )  | COR_PRF_DISABLE_INLINING )  | COR_PRF_DISABLE_OPTIMIZATIONS )  | COR_PRF_ENABLE_OBJECT_ALLOCATED )  | COR_PRF_MONITOR_CLR_EXCEPTIONS )  | COR_PRF_ENABLE_STACK_SNAPSHOT )  | COR_PRF_USE_PROFILE_IMAGES )  | 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] */
+        COR_PRF_MONITOR_NONE   = 0,
+        COR_PRF_MONITOR_FUNCTION_UNLOADS       = 0x1,
+        COR_PRF_MONITOR_CLASS_LOADS    = 0x2,
+        COR_PRF_MONITOR_MODULE_LOADS   = 0x4,
+        COR_PRF_MONITOR_ASSEMBLY_LOADS = 0x8,
+        COR_PRF_MONITOR_APPDOMAIN_LOADS        = 0x10,
+        COR_PRF_MONITOR_JIT_COMPILATION        = 0x20,
+        COR_PRF_MONITOR_EXCEPTIONS     = 0x40,
+        COR_PRF_MONITOR_GC     = 0x80,
+        COR_PRF_MONITOR_OBJECT_ALLOCATED       = 0x100,
+        COR_PRF_MONITOR_THREADS        = 0x200,
+        COR_PRF_MONITOR_REMOTING       = 0x400,
+        COR_PRF_MONITOR_CODE_TRANSITIONS       = 0x800,
+        COR_PRF_MONITOR_ENTERLEAVE     = 0x1000,
+        COR_PRF_MONITOR_CCW    = 0x2000,
+        COR_PRF_MONITOR_REMOTING_COOKIE        = ( 0x4000 | COR_PRF_MONITOR_REMOTING ) ,
+        COR_PRF_MONITOR_REMOTING_ASYNC = ( 0x8000 | COR_PRF_MONITOR_REMOTING ) ,
+        COR_PRF_MONITOR_SUSPENDS       = 0x10000,
+        COR_PRF_MONITOR_CACHE_SEARCHES = 0x20000,
+        COR_PRF_ENABLE_REJIT   = 0x40000,
+        COR_PRF_ENABLE_INPROC_DEBUGGING        = 0x80000,
+        COR_PRF_ENABLE_JIT_MAPS        = 0x100000,
+        COR_PRF_DISABLE_INLINING       = 0x200000,
+        COR_PRF_DISABLE_OPTIMIZATIONS  = 0x400000,
+        COR_PRF_ENABLE_OBJECT_ALLOCATED        = 0x800000,
+        COR_PRF_MONITOR_CLR_EXCEPTIONS = 0x1000000,
+        COR_PRF_MONITOR_ALL    = 0x107ffff,
+        COR_PRF_ENABLE_FUNCTION_ARGS   = 0x2000000,
+        COR_PRF_ENABLE_FUNCTION_RETVAL = 0x4000000,
+        COR_PRF_ENABLE_FRAME_INFO      = 0x8000000,
+        COR_PRF_ENABLE_STACK_SNAPSHOT  = 0x10000000,
+        COR_PRF_USE_PROFILE_IMAGES     = 0x20000000,
+        COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST   = 0x40000000,
+        COR_PRF_DISABLE_ALL_NGEN_IMAGES        = 0x80000000,
+        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_ALLOWABLE_NOTIFICATION_PROFILER        = ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( COR_PRF_MONITOR_FUNCTION_UNLOADS | COR_PRF_MONITOR_CLASS_LOADS )  | COR_PRF_MONITOR_MODULE_LOADS )  | COR_PRF_MONITOR_ASSEMBLY_LOADS )  | COR_PRF_MONITOR_APPDOMAIN_LOADS )  | COR_PRF_MONITOR_JIT_COMPILATION )  | COR_PRF_MONITOR_EXCEPTIONS )  | COR_PRF_MONITOR_OBJECT_ALLOCATED )  | COR_PRF_MONITOR_THREADS )  | COR_PRF_MONITOR_CODE_TRANSITIONS )  | COR_PRF_MONITOR_CCW )  | COR_PRF_MONITOR_SUSPENDS )  | COR_PRF_MONITOR_CACHE_SEARCHES )  | COR_PRF_DISABLE_INLINING )  | COR_PRF_DISABLE_OPTIMIZATIONS )  | COR_PRF_ENABLE_OBJECT_ALLOCATED )  | COR_PRF_MONITOR_CLR_EXCEPTIONS )  | COR_PRF_ENABLE_STACK_SNAPSHOT )  | COR_PRF_USE_PROFILE_IMAGES )  | 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] */ 
 enum __MIDL___MIDL_itf_corprof_0000_0000_0006
     {
-        COR_PRF_HIGH_MONITOR_NONE   = 0,
-        COR_PRF_HIGH_ADD_ASSEMBLY_REFERENCES    = 0x1,
-        COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED  = 0x2,
-        COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS   = 0x4,
-        COR_PRF_HIGH_DISABLE_TIERED_COMPILATION = 0x8,
-        COR_PRF_HIGH_BASIC_GC   = 0x10,
-        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_MONITOR_EVENT_PIPE = 0x80,
-        COR_PRF_HIGH_MONITOR_PINNEDOBJECT_ALLOCATED = 0x100,
-        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_ALLOWABLE_NOTIFICATION_PROFILER    = ( ( ( ( ( ( COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED | COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS )  | COR_PRF_HIGH_DISABLE_TIERED_COMPILATION )  | 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] */
+        COR_PRF_HIGH_MONITOR_NONE      = 0,
+        COR_PRF_HIGH_ADD_ASSEMBLY_REFERENCES   = 0x1,
+        COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED = 0x2,
+        COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS  = 0x4,
+        COR_PRF_HIGH_DISABLE_TIERED_COMPILATION        = 0x8,
+        COR_PRF_HIGH_BASIC_GC  = 0x10,
+        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_MONITOR_EVENT_PIPE        = 0x80,
+        COR_PRF_HIGH_MONITOR_PINNEDOBJECT_ALLOCATED    = 0x100,
+        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_ALLOWABLE_NOTIFICATION_PROFILER   = ( ( ( ( ( ( COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED | COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS )  | COR_PRF_HIGH_DISABLE_TIERED_COMPILATION )  | 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] */ 
 enum __MIDL___MIDL_itf_corprof_0000_0000_0007
     {
-        PROFILER_PARENT_UNKNOWN = 0xfffffffd,
-        PROFILER_GLOBAL_CLASS   = 0xfffffffe,
-        PROFILER_GLOBAL_MODULE  = 0xffffffff
-    }   COR_PRF_MISC;
+        PROFILER_PARENT_UNKNOWN        = 0xfffffffd,
+        PROFILER_GLOBAL_CLASS  = 0xfffffffe,
+        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_JIT_CACHE;
+        COR_PRF_CACHED_FUNCTION_FOUND  = 0,
+        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_REASON;
+        COR_PRF_TRANSITION_CALL        = 0,
+        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,
-        COR_PRF_SUSPEND_FOR_GC  = 1,
-        COR_PRF_SUSPEND_FOR_APPDOMAIN_SHUTDOWN  = 2,
-        COR_PRF_SUSPEND_FOR_CODE_PITCHING   = 3,
-        COR_PRF_SUSPEND_FOR_SHUTDOWN    = 4,
-        COR_PRF_SUSPEND_FOR_INPROC_DEBUGGER = 6,
-        COR_PRF_SUSPEND_FOR_GC_PREP = 7,
-        COR_PRF_SUSPEND_FOR_REJIT   = 8,
-        COR_PRF_SUSPEND_FOR_PROFILER    = 9
-    }   COR_PRF_SUSPEND_REASON;
-
-typedef /* [public][public] */
+        COR_PRF_SUSPEND_OTHER  = 0,
+        COR_PRF_SUSPEND_FOR_GC = 1,
+        COR_PRF_SUSPEND_FOR_APPDOMAIN_SHUTDOWN = 2,
+        COR_PRF_SUSPEND_FOR_CODE_PITCHING      = 3,
+        COR_PRF_SUSPEND_FOR_SHUTDOWN   = 4,
+        COR_PRF_SUSPEND_FOR_INPROC_DEBUGGER    = 6,
+        COR_PRF_SUSPEND_FOR_GC_PREP    = 7,
+        COR_PRF_SUSPEND_FOR_REJIT      = 8,
+        COR_PRF_SUSPEND_FOR_PROFILER   = 9
+    }  COR_PRF_SUSPEND_REASON;
+
+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;
+        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,
-        COR_PRF_REJIT_INLINING_CALLBACKS    = 0x2
-    }   COR_PRF_REJIT_FLAGS;
+        COR_PRF_REJIT_BLOCK_INLINING   = 0x1,
+        COR_PRF_REJIT_INLINING_CALLBACKS       = 0x2
+    }  COR_PRF_REJIT_FLAGS;
 
 typedef UINT_PTR EVENTPIPE_PROVIDER;
 
@@ -641,39 +656,39 @@ typedef UINT_PTR EVENTPIPE_EVENT;
 
 typedef UINT64 EVENTPIPE_SESSION;
 
-typedef /* [public] */
+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,
-        COR_PRF_EVENTPIPE_BYTE  = 6,
-        COR_PRF_EVENTPIPE_INT16 = 7,
-        COR_PRF_EVENTPIPE_UINT16    = 8,
-        COR_PRF_EVENTPIPE_INT32 = 9,
-        COR_PRF_EVENTPIPE_UINT32    = 10,
-        COR_PRF_EVENTPIPE_INT64 = 11,
-        COR_PRF_EVENTPIPE_UINT64    = 12,
-        COR_PRF_EVENTPIPE_SINGLE    = 13,
-        COR_PRF_EVENTPIPE_DOUBLE    = 14,
-        COR_PRF_EVENTPIPE_DECIMAL   = 15,
-        COR_PRF_EVENTPIPE_DATETIME  = 16,
-        COR_PRF_EVENTPIPE_GUID  = 17,
-        COR_PRF_EVENTPIPE_STRING    = 18,
-        COR_PRF_EVENTPIPE_ARRAY = 19
-    }   COR_PRF_EVENTPIPE_PARAM_TYPE;
-
-typedef /* [public] */
+        COR_PRF_EVENTPIPE_OBJECT       = 1,
+        COR_PRF_EVENTPIPE_BOOLEAN      = 3,
+        COR_PRF_EVENTPIPE_CHAR = 4,
+        COR_PRF_EVENTPIPE_SBYTE        = 5,
+        COR_PRF_EVENTPIPE_BYTE = 6,
+        COR_PRF_EVENTPIPE_INT16        = 7,
+        COR_PRF_EVENTPIPE_UINT16       = 8,
+        COR_PRF_EVENTPIPE_INT32        = 9,
+        COR_PRF_EVENTPIPE_UINT32       = 10,
+        COR_PRF_EVENTPIPE_INT64        = 11,
+        COR_PRF_EVENTPIPE_UINT64       = 12,
+        COR_PRF_EVENTPIPE_SINGLE       = 13,
+        COR_PRF_EVENTPIPE_DOUBLE       = 14,
+        COR_PRF_EVENTPIPE_DECIMAL      = 15,
+        COR_PRF_EVENTPIPE_DATETIME     = 16,
+        COR_PRF_EVENTPIPE_GUID = 17,
+        COR_PRF_EVENTPIPE_STRING       = 18,
+        COR_PRF_EVENTPIPE_ARRAY        = 19
+    }  COR_PRF_EVENTPIPE_PARAM_TYPE;
+
+typedef /* [public] */ 
 enum __MIDL___MIDL_itf_corprof_0000_0000_0014
     {
-        COR_PRF_EVENTPIPE_LOGALWAYS = 0,
-        COR_PRF_EVENTPIPE_CRITICAL  = 1,
-        COR_PRF_EVENTPIPE_ERROR = 2,
-        COR_PRF_EVENTPIPE_WARNING   = 3,
-        COR_PRF_EVENTPIPE_INFORMATIONAL = 4,
-        COR_PRF_EVENTPIPE_VERBOSE   = 5
-    }   COR_PRF_EVENTPIPE_LEVEL;
+        COR_PRF_EVENTPIPE_LOGALWAYS    = 0,
+        COR_PRF_EVENTPIPE_CRITICAL     = 1,
+        COR_PRF_EVENTPIPE_ERROR        = 2,
+        COR_PRF_EVENTPIPE_WARNING      = 3,
+        COR_PRF_EVENTPIPE_INFORMATIONAL        = 4,
+        COR_PRF_EVENTPIPE_VERBOSE      = 5
+    }  COR_PRF_EVENTPIPE_LEVEL;
 
 typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_corprof_0000_0000_0015
     {
@@ -681,29 +696,29 @@ typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_corprof_0000_000
     UINT64 keywords;
     UINT32 loggingLevel;
     const WCHAR *filterData;
-    }   COR_PRF_EVENTPIPE_PROVIDER_CONFIG;
+    }  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;
+    }  COR_PRF_EVENTPIPE_PARAM_DESC;
 
 typedef /* [public][public] */ struct __MIDL___MIDL_itf_corprof_0000_0000_0017
     {
     UINT64 ptr;
     UINT32 size;
     UINT32 reserved;
-    }   COR_PRF_EVENT_DATA;
+    }  COR_PRF_EVENT_DATA;
 
-typedef
+typedef 
 enum _COR_PRF_HANDLE_TYPE
     {
-        COR_PRF_HANDLE_TYPE_WEAK   = 0x1,
-        COR_PRF_HANDLE_TYPE_STRONG = 0x2,
-        COR_PRF_HANDLE_TYPE_PINNED = 0x3
-    }   COR_PRF_HANDLE_TYPE;
+        COR_PRF_HANDLE_TYPE_WEAK       = 0x1,
+        COR_PRF_HANDLE_TYPE_STRONG     = 0x2,
+        COR_PRF_HANDLE_TYPE_PINNED     = 0x3
+    }  COR_PRF_HANDLE_TYPE;
 
 typedef void **ObjectHandleID;
 
@@ -723,6 +738,8 @@ typedef void **ObjectHandleID;
 
 
 
+
+
 extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0000_v0_0_c_ifspec;
 extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0000_v0_0_s_ifspec;
 
@@ -730,567 +747,639 @@ 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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerCallbackVtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerCallback * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerCallback * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerCallback * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Initialize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
+        HRESULT ( STDMETHODCALLTYPE *Initialize )( 
             ICorProfilerCallback * This,
             /* [in] */ IUnknown *pICorProfilerInfoUnk);
-
-        HRESULT ( STDMETHODCALLTYPE *Shutdown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
+        HRESULT ( STDMETHODCALLTYPE *Shutdown )( 
             ICorProfilerCallback * This);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( 
             ICorProfilerCallback * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( 
             ICorProfilerCallback * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( 
             ICorProfilerCallback * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( 
             ICorProfilerCallback * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( 
             ICorProfilerCallback * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( 
             ICorProfilerCallback * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( 
             ICorProfilerCallback * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( 
             ICorProfilerCallback * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( 
             ICorProfilerCallback * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( 
             ICorProfilerCallback * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( 
             ICorProfilerCallback * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( 
             ICorProfilerCallback * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
+        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( 
             ICorProfilerCallback * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ AssemblyID AssemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( 
             ICorProfilerCallback * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( 
             ICorProfilerCallback * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( 
             ICorProfilerCallback * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( 
             ICorProfilerCallback * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( 
             ICorProfilerCallback * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( 
             ICorProfilerCallback * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( 
             ICorProfilerCallback * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( 
             ICorProfilerCallback * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ BOOL *pbUseCachedFunction);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( 
             ICorProfilerCallback * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_JIT_CACHE result);
-
-        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
+        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( 
             ICorProfilerCallback * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITInlining )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
+        HRESULT ( STDMETHODCALLTYPE *JITInlining )( 
             ICorProfilerCallback * This,
             /* [in] */ FunctionID callerId,
             /* [in] */ FunctionID calleeId,
             /* [out] */ BOOL *pfShouldInline);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
+        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( 
             ICorProfilerCallback * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( 
             ICorProfilerCallback * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
+        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( 
             ICorProfilerCallback * This,
             /* [in] */ ThreadID managedThreadId,
             /* [in] */ DWORD osThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( 
             ICorProfilerCallback * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( 
             ICorProfilerCallback * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( 
             ICorProfilerCallback * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( 
             ICorProfilerCallback * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( 
             ICorProfilerCallback * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( 
             ICorProfilerCallback * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( 
             ICorProfilerCallback * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( 
             ICorProfilerCallback * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( 
             ICorProfilerCallback * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( 
             ICorProfilerCallback * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( 
             ICorProfilerCallback * This,
             /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( 
             ICorProfilerCallback * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( 
             ICorProfilerCallback * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( 
             ICorProfilerCallback * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( 
             ICorProfilerCallback * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( 
             ICorProfilerCallback * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( 
             ICorProfilerCallback * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *MovedReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
+        HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( 
             ICorProfilerCallback * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
+        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( 
             ICorProfilerCallback * This,
             /* [in] */ ULONG cClassCount,
             /* [size_is][in] */ ClassID classIds[  ],
             /* [size_is][in] */ ULONG cObjects[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
+        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( 
             ICorProfilerCallback * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId,
             /* [in] */ ULONG cObjectRefs,
             /* [size_is][in] */ ObjectID objectRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
+        HRESULT ( STDMETHODCALLTYPE *RootReferences )( 
             ICorProfilerCallback * This,
             /* [in] */ ULONG cRootRefs,
             /* [size_is][in] */ ObjectID rootRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( 
             ICorProfilerCallback * This,
             /* [in] */ ObjectID thrownObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( 
             ICorProfilerCallback * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( 
             ICorProfilerCallback * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( 
             ICorProfilerCallback * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( 
             ICorProfilerCallback * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( 
             ICorProfilerCallback * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( 
             ICorProfilerCallback * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( 
             ICorProfilerCallback * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( 
             ICorProfilerCallback * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( 
             ICorProfilerCallback * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( 
             ICorProfilerCallback * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( 
             ICorProfilerCallback * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( 
             ICorProfilerCallback * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ObjectID objectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( 
             ICorProfilerCallback * This);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( 
             ICorProfilerCallback * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable,
             /* [in] */ ULONG cSlots);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( 
             ICorProfilerCallback * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( 
             ICorProfilerCallback * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( 
             ICorProfilerCallback * This);
-
+        
         END_INTERFACE
     } ICorProfilerCallbackVtbl;
 
@@ -1299,275 +1388,275 @@ 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) )
+#define ICorProfilerCallback_QueryInterface(This,riid,ppvObject)       \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerCallback_AddRef(This)   \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerCallback_AddRef(This)      \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerCallback_Release(This)  \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerCallback_Release(This)     \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerCallback_Initialize(This,pICorProfilerInfoUnk)  \
-    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) )
+#define ICorProfilerCallback_Initialize(This,pICorProfilerInfoUnk)     \
+    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) 
 
-#define ICorProfilerCallback_Shutdown(This) \
-    ( (This)->lpVtbl -> Shutdown(This) )
+#define ICorProfilerCallback_Shutdown(This)    \
+    ( (This)->lpVtbl -> Shutdown(This) ) 
 
-#define ICorProfilerCallback_AppDomainCreationStarted(This,appDomainId) \
-    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) )
+#define ICorProfilerCallback_AppDomainCreationStarted(This,appDomainId)        \
+    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback_AppDomainCreationFinished(This,appDomainId,hrStatus)   \
-    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback_AppDomainCreationFinished(This,appDomainId,hrStatus)      \
+    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback_AppDomainShutdownStarted(This,appDomainId) \
-    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) )
+#define ICorProfilerCallback_AppDomainShutdownStarted(This,appDomainId)        \
+    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback_AppDomainShutdownFinished(This,appDomainId,hrStatus)   \
-    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback_AppDomainShutdownFinished(This,appDomainId,hrStatus)      \
+    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback_AssemblyLoadStarted(This,assemblyId)   \
-    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) )
+#define ICorProfilerCallback_AssemblyLoadStarted(This,assemblyId)      \
+    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback_AssemblyLoadFinished(This,assemblyId,hrStatus) \
-    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback_AssemblyLoadFinished(This,assemblyId,hrStatus)    \
+    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback_AssemblyUnloadStarted(This,assemblyId) \
-    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) )
+#define ICorProfilerCallback_AssemblyUnloadStarted(This,assemblyId)    \
+    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback_AssemblyUnloadFinished(This,assemblyId,hrStatus)   \
-    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback_AssemblyUnloadFinished(This,assemblyId,hrStatus)  \
+    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback_ModuleLoadStarted(This,moduleId)   \
-    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) )
+#define ICorProfilerCallback_ModuleLoadStarted(This,moduleId)  \
+    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback_ModuleLoadFinished(This,moduleId,hrStatus) \
-    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback_ModuleLoadFinished(This,moduleId,hrStatus)        \
+    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback_ModuleUnloadStarted(This,moduleId) \
-    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) )
+#define ICorProfilerCallback_ModuleUnloadStarted(This,moduleId)        \
+    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback_ModuleUnloadFinished(This,moduleId,hrStatus)   \
-    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback_ModuleUnloadFinished(This,moduleId,hrStatus)      \
+    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \
-    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) )
+#define ICorProfilerCallback_ModuleAttachedToAssembly(This,moduleId,AssemblyId)        \
+    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) 
 
-#define ICorProfilerCallback_ClassLoadStarted(This,classId) \
-    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) )
+#define ICorProfilerCallback_ClassLoadStarted(This,classId)    \
+    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) 
 
-#define ICorProfilerCallback_ClassLoadFinished(This,classId,hrStatus)   \
-    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback_ClassLoadFinished(This,classId,hrStatus)  \
+    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback_ClassUnloadStarted(This,classId)   \
-    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) )
+#define ICorProfilerCallback_ClassUnloadStarted(This,classId)  \
+    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) 
 
-#define ICorProfilerCallback_ClassUnloadFinished(This,classId,hrStatus) \
-    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback_ClassUnloadFinished(This,classId,hrStatus)        \
+    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback_FunctionUnloadStarted(This,functionId) \
-    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) )
+#define ICorProfilerCallback_FunctionUnloadStarted(This,functionId)    \
+    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) 
 
-#define ICorProfilerCallback_JITCompilationStarted(This,functionId,fIsSafeToBlock)  \
-    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) )
+#define ICorProfilerCallback_JITCompilationStarted(This,functionId,fIsSafeToBlock)     \
+    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)    \
-    ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) )
+#define ICorProfilerCallback_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)   \
+    ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)    \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) )
+#define ICorProfilerCallback_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)       \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) 
 
-#define ICorProfilerCallback_JITCachedFunctionSearchFinished(This,functionId,result)    \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) )
+#define ICorProfilerCallback_JITCachedFunctionSearchFinished(This,functionId,result)   \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) 
 
-#define ICorProfilerCallback_JITFunctionPitched(This,functionId)    \
-    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) )
+#define ICorProfilerCallback_JITFunctionPitched(This,functionId)       \
+    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) 
 
-#define ICorProfilerCallback_JITInlining(This,callerId,calleeId,pfShouldInline) \
-    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) )
+#define ICorProfilerCallback_JITInlining(This,callerId,calleeId,pfShouldInline)        \
+    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) 
 
-#define ICorProfilerCallback_ThreadCreated(This,threadId)   \
-    ( (This)->lpVtbl -> ThreadCreated(This,threadId) )
+#define ICorProfilerCallback_ThreadCreated(This,threadId)      \
+    ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) 
 
-#define ICorProfilerCallback_ThreadDestroyed(This,threadId) \
-    ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) )
+#define ICorProfilerCallback_ThreadDestroyed(This,threadId)    \
+    ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) 
 
-#define ICorProfilerCallback_ThreadAssignedToOSThread(This,managedThreadId,osThreadId)  \
-    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) )
+#define ICorProfilerCallback_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \
+    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) 
 
-#define ICorProfilerCallback_RemotingClientInvocationStarted(This)  \
-    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) )
+#define ICorProfilerCallback_RemotingClientInvocationStarted(This)     \
+    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) 
 
-#define ICorProfilerCallback_RemotingClientSendingMessage(This,pCookie,fIsAsync)    \
-    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback_RemotingClientSendingMessage(This,pCookie,fIsAsync)       \
+    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback_RemotingClientReceivingReply(This,pCookie,fIsAsync)    \
-    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback_RemotingClientReceivingReply(This,pCookie,fIsAsync)       \
+    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback_RemotingClientInvocationFinished(This) \
-    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) )
+#define ICorProfilerCallback_RemotingClientInvocationFinished(This)    \
+    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) 
 
-#define ICorProfilerCallback_RemotingServerReceivingMessage(This,pCookie,fIsAsync)  \
-    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback_RemotingServerReceivingMessage(This,pCookie,fIsAsync)     \
+    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback_RemotingServerInvocationStarted(This)  \
-    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) )
+#define ICorProfilerCallback_RemotingServerInvocationStarted(This)     \
+    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) 
 
-#define ICorProfilerCallback_RemotingServerInvocationReturned(This) \
-    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) )
+#define ICorProfilerCallback_RemotingServerInvocationReturned(This)    \
+    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) 
 
-#define ICorProfilerCallback_RemotingServerSendingReply(This,pCookie,fIsAsync)  \
-    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback_RemotingServerSendingReply(This,pCookie,fIsAsync) \
+    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback_UnmanagedToManagedTransition(This,functionId,reason)   \
-    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback_UnmanagedToManagedTransition(This,functionId,reason)      \
+    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback_ManagedToUnmanagedTransition(This,functionId,reason)   \
-    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback_ManagedToUnmanagedTransition(This,functionId,reason)      \
+    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback_RuntimeSuspendStarted(This,suspendReason)  \
-    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) )
+#define ICorProfilerCallback_RuntimeSuspendStarted(This,suspendReason) \
+    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) 
 
-#define ICorProfilerCallback_RuntimeSuspendFinished(This)   \
-    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) )
+#define ICorProfilerCallback_RuntimeSuspendFinished(This)      \
+    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) 
 
-#define ICorProfilerCallback_RuntimeSuspendAborted(This)    \
-    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) )
+#define ICorProfilerCallback_RuntimeSuspendAborted(This)       \
+    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) 
 
-#define ICorProfilerCallback_RuntimeResumeStarted(This) \
-    ( (This)->lpVtbl -> RuntimeResumeStarted(This) )
+#define ICorProfilerCallback_RuntimeResumeStarted(This)        \
+    ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) 
 
-#define ICorProfilerCallback_RuntimeResumeFinished(This)    \
-    ( (This)->lpVtbl -> RuntimeResumeFinished(This) )
+#define ICorProfilerCallback_RuntimeResumeFinished(This)       \
+    ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) 
 
-#define ICorProfilerCallback_RuntimeThreadSuspended(This,threadId)  \
-    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) )
+#define ICorProfilerCallback_RuntimeThreadSuspended(This,threadId)     \
+    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) 
 
-#define ICorProfilerCallback_RuntimeThreadResumed(This,threadId)    \
-    ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) )
+#define ICorProfilerCallback_RuntimeThreadResumed(This,threadId)       \
+    ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) 
 
-#define ICorProfilerCallback_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength)    \
-    ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) )
+#define ICorProfilerCallback_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) )
+#define ICorProfilerCallback_ObjectAllocated(This,objectId,classId)    \
+    ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) 
 
-#define ICorProfilerCallback_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects)    \
-    ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) )
+#define ICorProfilerCallback_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) )
+#define ICorProfilerCallback_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) )
+#define ICorProfilerCallback_RootReferences(This,cRootRefs,rootRefIds) \
+    ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) 
 
-#define ICorProfilerCallback_ExceptionThrown(This,thrownObjectId)   \
-    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) )
+#define ICorProfilerCallback_ExceptionThrown(This,thrownObjectId)      \
+    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) 
 
-#define ICorProfilerCallback_ExceptionSearchFunctionEnter(This,functionId)  \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) )
+#define ICorProfilerCallback_ExceptionSearchFunctionEnter(This,functionId)     \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback_ExceptionSearchFunctionLeave(This) \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) )
+#define ICorProfilerCallback_ExceptionSearchFunctionLeave(This)        \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) 
 
-#define ICorProfilerCallback_ExceptionSearchFilterEnter(This,functionId)    \
-    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) )
+#define ICorProfilerCallback_ExceptionSearchFilterEnter(This,functionId)       \
+    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) 
 
-#define ICorProfilerCallback_ExceptionSearchFilterLeave(This)   \
-    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) )
+#define ICorProfilerCallback_ExceptionSearchFilterLeave(This)  \
+    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) 
 
-#define ICorProfilerCallback_ExceptionSearchCatcherFound(This,functionId)   \
-    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) )
+#define ICorProfilerCallback_ExceptionSearchCatcherFound(This,functionId)      \
+    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) 
 
-#define ICorProfilerCallback_ExceptionOSHandlerEnter(This,__unused) \
-    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) )
+#define ICorProfilerCallback_ExceptionOSHandlerEnter(This,__unused)    \
+    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) 
 
-#define ICorProfilerCallback_ExceptionOSHandlerLeave(This,__unused) \
-    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) )
+#define ICorProfilerCallback_ExceptionOSHandlerLeave(This,__unused)    \
+    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) 
 
-#define ICorProfilerCallback_ExceptionUnwindFunctionEnter(This,functionId)  \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) )
+#define ICorProfilerCallback_ExceptionUnwindFunctionEnter(This,functionId)     \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback_ExceptionUnwindFunctionLeave(This) \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) )
+#define ICorProfilerCallback_ExceptionUnwindFunctionLeave(This)        \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) 
 
-#define ICorProfilerCallback_ExceptionUnwindFinallyEnter(This,functionId)   \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) )
+#define ICorProfilerCallback_ExceptionUnwindFinallyEnter(This,functionId)      \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) 
 
-#define ICorProfilerCallback_ExceptionUnwindFinallyLeave(This)  \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) )
+#define ICorProfilerCallback_ExceptionUnwindFinallyLeave(This) \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) 
 
-#define ICorProfilerCallback_ExceptionCatcherEnter(This,functionId,objectId)    \
-    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) )
+#define ICorProfilerCallback_ExceptionCatcherEnter(This,functionId,objectId)   \
+    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) 
 
-#define ICorProfilerCallback_ExceptionCatcherLeave(This)    \
-    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) )
+#define ICorProfilerCallback_ExceptionCatcherLeave(This)       \
+    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) 
 
-#define ICorProfilerCallback_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \
-    ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) )
+#define ICorProfilerCallback_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) )
+#define ICorProfilerCallback_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable)     \
+    ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) 
 
-#define ICorProfilerCallback_ExceptionCLRCatcherFound(This) \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) )
+#define ICorProfilerCallback_ExceptionCLRCatcherFound(This)    \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) 
 
-#define ICorProfilerCallback_ExceptionCLRCatcherExecute(This)   \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) )
+#define ICorProfilerCallback_ExceptionCLRCatcherExecute(This)  \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerCallback_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerCallback_INTERFACE_DEFINED__ */
 
 
 /* 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,
-        COR_PRF_GC_ROOT_FINALIZER   = 2,
-        COR_PRF_GC_ROOT_HANDLE  = 3,
-        COR_PRF_GC_ROOT_OTHER   = 0
-    }   COR_PRF_GC_ROOT_KIND;
+        COR_PRF_GC_ROOT_STACK  = 1,
+        COR_PRF_GC_ROOT_FINALIZER      = 2,
+        COR_PRF_GC_ROOT_HANDLE = 3,
+        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,
-        COR_PRF_GC_ROOT_WEAKREF = 0x2,
-        COR_PRF_GC_ROOT_INTERIOR    = 0x4,
-        COR_PRF_GC_ROOT_REFCOUNTED  = 0x8
-    }   COR_PRF_GC_ROOT_FLAGS;
+        COR_PRF_GC_ROOT_PINNING        = 0x1,
+        COR_PRF_GC_ROOT_WEAKREF        = 0x2,
+        COR_PRF_GC_ROOT_INTERIOR       = 0x4,
+        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;
+        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,
-        COR_PRF_GC_GEN_1    = 1,
-        COR_PRF_GC_GEN_2    = 2,
-        COR_PRF_GC_LARGE_OBJECT_HEAP    = 3,
-        COR_PRF_GC_PINNED_OBJECT_HEAP   = 4
-    }   COR_PRF_GC_GENERATION;
+        COR_PRF_GC_GEN_0       = 0,
+        COR_PRF_GC_GEN_1       = 1,
+        COR_PRF_GC_GEN_2       = 2,
+        COR_PRF_GC_LARGE_OBJECT_HEAP   = 3,
+        COR_PRF_GC_PINNED_OBJECT_HEAP  = 4
+    }  COR_PRF_GC_GENERATION;
 
 typedef struct COR_PRF_GC_GENERATION_RANGE
     {
@@ -1575,16 +1664,16 @@ typedef struct COR_PRF_GC_GENERATION_RANGE
     ObjectID rangeStart;
     UINT_PTR rangeLength;
     UINT_PTR rangeLengthReserved;
-    }   COR_PRF_GC_GENERATION_RANGE;
+    }  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,
-        COR_PRF_CLAUSE_FILTER   = 1,
-        COR_PRF_CLAUSE_CATCH    = 2,
-        COR_PRF_CLAUSE_FINALLY  = 3
-    }   COR_PRF_CLAUSE_TYPE;
+        COR_PRF_CLAUSE_NONE    = 0,
+        COR_PRF_CLAUSE_FILTER  = 1,
+        COR_PRF_CLAUSE_CATCH   = 2,
+        COR_PRF_CLAUSE_FINALLY = 3
+    }  COR_PRF_CLAUSE_TYPE;
 
 typedef struct COR_PRF_EX_CLAUSE_INFO
     {
@@ -1592,26 +1681,26 @@ typedef struct COR_PRF_EX_CLAUSE_INFO
     UINT_PTR programCounter;
     UINT_PTR framePointer;
     UINT_PTR shadowStackPointer;
-    }   COR_PRF_EX_CLAUSE_INFO;
+    }  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;
+        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,
-        COR_PRF_MODULE_NGEN = 0x2,
-        COR_PRF_MODULE_DYNAMIC  = 0x4,
-        COR_PRF_MODULE_COLLECTIBLE  = 0x8,
-        COR_PRF_MODULE_RESOURCE = 0x10,
-        COR_PRF_MODULE_FLAT_LAYOUT  = 0x20,
-        COR_PRF_MODULE_WINDOWS_RUNTIME  = 0x40
-    }   COR_PRF_MODULE_FLAGS;
+        COR_PRF_MODULE_DISK    = 0x1,
+        COR_PRF_MODULE_NGEN    = 0x2,
+        COR_PRF_MODULE_DYNAMIC = 0x4,
+        COR_PRF_MODULE_COLLECTIBLE     = 0x8,
+        COR_PRF_MODULE_RESOURCE        = 0x10,
+        COR_PRF_MODULE_FLAT_LAYOUT     = 0x20,
+        COR_PRF_MODULE_WINDOWS_RUNTIME = 0x40
+    }  COR_PRF_MODULE_FLAGS;
 
 
 
@@ -1622,417 +1711,497 @@ 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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerCallback2Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerCallback2 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerCallback2 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerCallback2 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Initialize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
+        HRESULT ( STDMETHODCALLTYPE *Initialize )( 
             ICorProfilerCallback2 * This,
             /* [in] */ IUnknown *pICorProfilerInfoUnk);
-
-        HRESULT ( STDMETHODCALLTYPE *Shutdown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
+        HRESULT ( STDMETHODCALLTYPE *Shutdown )( 
             ICorProfilerCallback2 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( 
             ICorProfilerCallback2 * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( 
             ICorProfilerCallback2 * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( 
             ICorProfilerCallback2 * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( 
             ICorProfilerCallback2 * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( 
             ICorProfilerCallback2 * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( 
             ICorProfilerCallback2 * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( 
             ICorProfilerCallback2 * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( 
             ICorProfilerCallback2 * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
+        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ AssemblyID AssemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( 
             ICorProfilerCallback2 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( 
             ICorProfilerCallback2 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( 
             ICorProfilerCallback2 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( 
             ICorProfilerCallback2 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ BOOL *pbUseCachedFunction);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( 
             ICorProfilerCallback2 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_JIT_CACHE result);
-
-        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
+        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( 
             ICorProfilerCallback2 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITInlining )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
+        HRESULT ( STDMETHODCALLTYPE *JITInlining )( 
             ICorProfilerCallback2 * This,
             /* [in] */ FunctionID callerId,
             /* [in] */ FunctionID calleeId,
             /* [out] */ BOOL *pfShouldInline);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
+        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
+        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ThreadID managedThreadId,
             /* [in] */ DWORD osThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( 
             ICorProfilerCallback2 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( 
             ICorProfilerCallback2 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( 
             ICorProfilerCallback2 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( 
             ICorProfilerCallback2 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( 
             ICorProfilerCallback2 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( 
             ICorProfilerCallback2 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( 
             ICorProfilerCallback2 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( 
             ICorProfilerCallback2 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( 
             ICorProfilerCallback2 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( 
             ICorProfilerCallback2 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( 
             ICorProfilerCallback2 * This,
             /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( 
             ICorProfilerCallback2 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( 
             ICorProfilerCallback2 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( 
             ICorProfilerCallback2 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( 
             ICorProfilerCallback2 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *MovedReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
+        HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
+        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ULONG cClassCount,
             /* [size_is][in] */ ClassID classIds[  ],
             /* [size_is][in] */ ULONG cObjects[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
+        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId,
             /* [in] */ ULONG cObjectRefs,
             /* [size_is][in] */ ObjectID objectRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
+        HRESULT ( STDMETHODCALLTYPE *RootReferences )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ULONG cRootRefs,
             /* [size_is][in] */ ObjectID rootRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ObjectID thrownObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( 
             ICorProfilerCallback2 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( 
             ICorProfilerCallback2 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( 
             ICorProfilerCallback2 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( 
             ICorProfilerCallback2 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( 
             ICorProfilerCallback2 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( 
             ICorProfilerCallback2 * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( 
             ICorProfilerCallback2 * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( 
             ICorProfilerCallback2 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( 
             ICorProfilerCallback2 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( 
             ICorProfilerCallback2 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( 
             ICorProfilerCallback2 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( 
             ICorProfilerCallback2 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ObjectID objectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( 
             ICorProfilerCallback2 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable,
             /* [in] */ ULONG cSlots);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( 
             ICorProfilerCallback2 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( 
             ICorProfilerCallback2 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted)
+        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( 
             ICorProfilerCallback2 * This,
             /* [in] */ int cGenerations,
             /* [size_is][in] */ BOOL generationCollected[  ],
             /* [in] */ COR_PRF_GC_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences)
+        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( 
             ICorProfilerCallback2 * This,
             /* [in] */ ULONG cSurvivingObjectIDRanges,
             /* [size_is][in] */ ObjectID objectIDRangeStart[  ],
             /* [size_is][in] */ ULONG cObjectIDRangeLength[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished)
+        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( 
             ICorProfilerCallback2 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued)
+        HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( 
             ICorProfilerCallback2 * This,
             /* [in] */ DWORD finalizerFlags,
             /* [in] */ ObjectID objectID);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated)
+        HRESULT ( STDMETHODCALLTYPE *HandleCreated )( 
             ICorProfilerCallback2 * This,
             /* [in] */ GCHandleID handleId,
             /* [in] */ ObjectID initialObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( 
             ICorProfilerCallback2 * This,
             /* [in] */ GCHandleID handleId);
-
+        
         END_INTERFACE
     } ICorProfilerCallback2Vtbl;
 
@@ -2041,664 +2210,747 @@ 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) )
+#define ICorProfilerCallback2_QueryInterface(This,riid,ppvObject)      \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerCallback2_AddRef(This)  \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerCallback2_AddRef(This)     \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerCallback2_Release(This) \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerCallback2_Release(This)    \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerCallback2_Initialize(This,pICorProfilerInfoUnk) \
-    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) )
+#define ICorProfilerCallback2_Initialize(This,pICorProfilerInfoUnk)    \
+    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) 
 
-#define ICorProfilerCallback2_Shutdown(This)    \
-    ( (This)->lpVtbl -> Shutdown(This) )
+#define ICorProfilerCallback2_Shutdown(This)   \
+    ( (This)->lpVtbl -> Shutdown(This) ) 
 
-#define ICorProfilerCallback2_AppDomainCreationStarted(This,appDomainId)    \
-    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) )
+#define ICorProfilerCallback2_AppDomainCreationStarted(This,appDomainId)       \
+    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback2_AppDomainCreationFinished(This,appDomainId,hrStatus)  \
-    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback2_AppDomainCreationFinished(This,appDomainId,hrStatus)     \
+    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback2_AppDomainShutdownStarted(This,appDomainId)    \
-    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) )
+#define ICorProfilerCallback2_AppDomainShutdownStarted(This,appDomainId)       \
+    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback2_AppDomainShutdownFinished(This,appDomainId,hrStatus)  \
-    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback2_AppDomainShutdownFinished(This,appDomainId,hrStatus)     \
+    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback2_AssemblyLoadStarted(This,assemblyId)  \
-    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) )
+#define ICorProfilerCallback2_AssemblyLoadStarted(This,assemblyId)     \
+    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback2_AssemblyLoadFinished(This,assemblyId,hrStatus)    \
-    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback2_AssemblyLoadFinished(This,assemblyId,hrStatus)   \
+    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback2_AssemblyUnloadStarted(This,assemblyId)    \
-    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) )
+#define ICorProfilerCallback2_AssemblyUnloadStarted(This,assemblyId)   \
+    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback2_AssemblyUnloadFinished(This,assemblyId,hrStatus)  \
-    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback2_AssemblyUnloadFinished(This,assemblyId,hrStatus) \
+    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback2_ModuleLoadStarted(This,moduleId)  \
-    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) )
+#define ICorProfilerCallback2_ModuleLoadStarted(This,moduleId) \
+    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback2_ModuleLoadFinished(This,moduleId,hrStatus)    \
-    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback2_ModuleLoadFinished(This,moduleId,hrStatus)       \
+    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback2_ModuleUnloadStarted(This,moduleId)    \
-    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) )
+#define ICorProfilerCallback2_ModuleUnloadStarted(This,moduleId)       \
+    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback2_ModuleUnloadFinished(This,moduleId,hrStatus)  \
-    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback2_ModuleUnloadFinished(This,moduleId,hrStatus)     \
+    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback2_ModuleAttachedToAssembly(This,moduleId,AssemblyId)    \
-    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) )
+#define ICorProfilerCallback2_ModuleAttachedToAssembly(This,moduleId,AssemblyId)       \
+    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) 
 
-#define ICorProfilerCallback2_ClassLoadStarted(This,classId)    \
-    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) )
+#define ICorProfilerCallback2_ClassLoadStarted(This,classId)   \
+    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) 
 
-#define ICorProfilerCallback2_ClassLoadFinished(This,classId,hrStatus)  \
-    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback2_ClassLoadFinished(This,classId,hrStatus) \
+    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback2_ClassUnloadStarted(This,classId)  \
-    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) )
+#define ICorProfilerCallback2_ClassUnloadStarted(This,classId) \
+    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) 
 
-#define ICorProfilerCallback2_ClassUnloadFinished(This,classId,hrStatus)    \
-    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback2_ClassUnloadFinished(This,classId,hrStatus)       \
+    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback2_FunctionUnloadStarted(This,functionId)    \
-    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) )
+#define ICorProfilerCallback2_FunctionUnloadStarted(This,functionId)   \
+    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) 
 
-#define ICorProfilerCallback2_JITCompilationStarted(This,functionId,fIsSafeToBlock) \
-    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) )
+#define ICorProfilerCallback2_JITCompilationStarted(This,functionId,fIsSafeToBlock)    \
+    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback2_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)   \
-    ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) )
+#define ICorProfilerCallback2_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)  \
+    ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback2_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)   \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) )
+#define ICorProfilerCallback2_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)      \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) 
 
-#define ICorProfilerCallback2_JITCachedFunctionSearchFinished(This,functionId,result)   \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) )
+#define ICorProfilerCallback2_JITCachedFunctionSearchFinished(This,functionId,result)  \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) 
 
-#define ICorProfilerCallback2_JITFunctionPitched(This,functionId)   \
-    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) )
+#define ICorProfilerCallback2_JITFunctionPitched(This,functionId)      \
+    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) 
 
-#define ICorProfilerCallback2_JITInlining(This,callerId,calleeId,pfShouldInline)    \
-    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) )
+#define ICorProfilerCallback2_JITInlining(This,callerId,calleeId,pfShouldInline)       \
+    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) 
 
-#define ICorProfilerCallback2_ThreadCreated(This,threadId)  \
-    ( (This)->lpVtbl -> ThreadCreated(This,threadId) )
+#define ICorProfilerCallback2_ThreadCreated(This,threadId)     \
+    ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) 
 
-#define ICorProfilerCallback2_ThreadDestroyed(This,threadId)    \
-    ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) )
+#define ICorProfilerCallback2_ThreadDestroyed(This,threadId)   \
+    ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) 
 
-#define ICorProfilerCallback2_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \
-    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) )
+#define ICorProfilerCallback2_ThreadAssignedToOSThread(This,managedThreadId,osThreadId)        \
+    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) 
 
-#define ICorProfilerCallback2_RemotingClientInvocationStarted(This) \
-    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) )
+#define ICorProfilerCallback2_RemotingClientInvocationStarted(This)    \
+    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) 
 
-#define ICorProfilerCallback2_RemotingClientSendingMessage(This,pCookie,fIsAsync)   \
-    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback2_RemotingClientSendingMessage(This,pCookie,fIsAsync)      \
+    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback2_RemotingClientReceivingReply(This,pCookie,fIsAsync)   \
-    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback2_RemotingClientReceivingReply(This,pCookie,fIsAsync)      \
+    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback2_RemotingClientInvocationFinished(This)    \
-    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) )
+#define ICorProfilerCallback2_RemotingClientInvocationFinished(This)   \
+    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) 
 
-#define ICorProfilerCallback2_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \
-    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback2_RemotingServerReceivingMessage(This,pCookie,fIsAsync)    \
+    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback2_RemotingServerInvocationStarted(This) \
-    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) )
+#define ICorProfilerCallback2_RemotingServerInvocationStarted(This)    \
+    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) 
 
-#define ICorProfilerCallback2_RemotingServerInvocationReturned(This)    \
-    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) )
+#define ICorProfilerCallback2_RemotingServerInvocationReturned(This)   \
+    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) 
 
-#define ICorProfilerCallback2_RemotingServerSendingReply(This,pCookie,fIsAsync) \
-    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback2_RemotingServerSendingReply(This,pCookie,fIsAsync)        \
+    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback2_UnmanagedToManagedTransition(This,functionId,reason)  \
-    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback2_UnmanagedToManagedTransition(This,functionId,reason)     \
+    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback2_ManagedToUnmanagedTransition(This,functionId,reason)  \
-    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback2_ManagedToUnmanagedTransition(This,functionId,reason)     \
+    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback2_RuntimeSuspendStarted(This,suspendReason) \
-    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) )
+#define ICorProfilerCallback2_RuntimeSuspendStarted(This,suspendReason)        \
+    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) 
 
-#define ICorProfilerCallback2_RuntimeSuspendFinished(This)  \
-    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) )
+#define ICorProfilerCallback2_RuntimeSuspendFinished(This)     \
+    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) 
 
-#define ICorProfilerCallback2_RuntimeSuspendAborted(This)   \
-    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) )
+#define ICorProfilerCallback2_RuntimeSuspendAborted(This)      \
+    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) 
 
-#define ICorProfilerCallback2_RuntimeResumeStarted(This)    \
-    ( (This)->lpVtbl -> RuntimeResumeStarted(This) )
+#define ICorProfilerCallback2_RuntimeResumeStarted(This)       \
+    ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) 
 
-#define ICorProfilerCallback2_RuntimeResumeFinished(This)   \
-    ( (This)->lpVtbl -> RuntimeResumeFinished(This) )
+#define ICorProfilerCallback2_RuntimeResumeFinished(This)      \
+    ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) 
 
-#define ICorProfilerCallback2_RuntimeThreadSuspended(This,threadId) \
-    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) )
+#define ICorProfilerCallback2_RuntimeThreadSuspended(This,threadId)    \
+    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) 
 
-#define ICorProfilerCallback2_RuntimeThreadResumed(This,threadId)   \
-    ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) )
+#define ICorProfilerCallback2_RuntimeThreadResumed(This,threadId)      \
+    ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) 
 
-#define ICorProfilerCallback2_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength)   \
-    ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) )
+#define ICorProfilerCallback2_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) )
+#define ICorProfilerCallback2_ObjectAllocated(This,objectId,classId)   \
+    ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) 
 
-#define ICorProfilerCallback2_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects)   \
-    ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) )
+#define ICorProfilerCallback2_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) )
+#define ICorProfilerCallback2_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) )
+#define ICorProfilerCallback2_RootReferences(This,cRootRefs,rootRefIds)        \
+    ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) 
 
-#define ICorProfilerCallback2_ExceptionThrown(This,thrownObjectId)  \
-    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) )
+#define ICorProfilerCallback2_ExceptionThrown(This,thrownObjectId)     \
+    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) 
 
-#define ICorProfilerCallback2_ExceptionSearchFunctionEnter(This,functionId) \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) )
+#define ICorProfilerCallback2_ExceptionSearchFunctionEnter(This,functionId)    \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback2_ExceptionSearchFunctionLeave(This)    \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) )
+#define ICorProfilerCallback2_ExceptionSearchFunctionLeave(This)       \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) 
 
-#define ICorProfilerCallback2_ExceptionSearchFilterEnter(This,functionId)   \
-    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) )
+#define ICorProfilerCallback2_ExceptionSearchFilterEnter(This,functionId)      \
+    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) 
 
-#define ICorProfilerCallback2_ExceptionSearchFilterLeave(This)  \
-    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) )
+#define ICorProfilerCallback2_ExceptionSearchFilterLeave(This) \
+    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) 
 
-#define ICorProfilerCallback2_ExceptionSearchCatcherFound(This,functionId)  \
-    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) )
+#define ICorProfilerCallback2_ExceptionSearchCatcherFound(This,functionId)     \
+    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) 
 
-#define ICorProfilerCallback2_ExceptionOSHandlerEnter(This,__unused)    \
-    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) )
+#define ICorProfilerCallback2_ExceptionOSHandlerEnter(This,__unused)   \
+    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) 
 
-#define ICorProfilerCallback2_ExceptionOSHandlerLeave(This,__unused)    \
-    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) )
+#define ICorProfilerCallback2_ExceptionOSHandlerLeave(This,__unused)   \
+    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) 
 
-#define ICorProfilerCallback2_ExceptionUnwindFunctionEnter(This,functionId) \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) )
+#define ICorProfilerCallback2_ExceptionUnwindFunctionEnter(This,functionId)    \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback2_ExceptionUnwindFunctionLeave(This)    \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) )
+#define ICorProfilerCallback2_ExceptionUnwindFunctionLeave(This)       \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) 
 
-#define ICorProfilerCallback2_ExceptionUnwindFinallyEnter(This,functionId)  \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) )
+#define ICorProfilerCallback2_ExceptionUnwindFinallyEnter(This,functionId)     \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) 
 
-#define ICorProfilerCallback2_ExceptionUnwindFinallyLeave(This) \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) )
+#define ICorProfilerCallback2_ExceptionUnwindFinallyLeave(This)        \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) 
 
-#define ICorProfilerCallback2_ExceptionCatcherEnter(This,functionId,objectId)   \
-    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) )
+#define ICorProfilerCallback2_ExceptionCatcherEnter(This,functionId,objectId)  \
+    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) 
 
-#define ICorProfilerCallback2_ExceptionCatcherLeave(This)   \
-    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) )
+#define ICorProfilerCallback2_ExceptionCatcherLeave(This)      \
+    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) 
 
-#define ICorProfilerCallback2_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots)    \
-    ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) )
+#define ICorProfilerCallback2_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) )
+#define ICorProfilerCallback2_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable)    \
+    ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) 
 
-#define ICorProfilerCallback2_ExceptionCLRCatcherFound(This)    \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) )
+#define ICorProfilerCallback2_ExceptionCLRCatcherFound(This)   \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) 
 
-#define ICorProfilerCallback2_ExceptionCLRCatcherExecute(This)  \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) )
+#define ICorProfilerCallback2_ExceptionCLRCatcherExecute(This) \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) 
 
 
-#define ICorProfilerCallback2_ThreadNameChanged(This,threadId,cchName,name) \
-    ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) )
+#define ICorProfilerCallback2_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) )
+#define ICorProfilerCallback2_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) )
+#define ICorProfilerCallback2_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength)       \
+    ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) 
 
-#define ICorProfilerCallback2_GarbageCollectionFinished(This)   \
-    ( (This)->lpVtbl -> GarbageCollectionFinished(This) )
+#define ICorProfilerCallback2_GarbageCollectionFinished(This)  \
+    ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) 
 
-#define ICorProfilerCallback2_FinalizeableObjectQueued(This,finalizerFlags,objectID)    \
-    ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) )
+#define ICorProfilerCallback2_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) )
+#define ICorProfilerCallback2_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) )
+#define ICorProfilerCallback2_HandleCreated(This,handleId,initialObjectId)     \
+    ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) 
 
-#define ICorProfilerCallback2_HandleDestroyed(This,handleId)    \
-    ( (This)->lpVtbl -> HandleDestroyed(This,handleId) )
+#define ICorProfilerCallback2_HandleDestroyed(This,handleId)   \
+    ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerCallback2_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerCallback2_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerCallback3_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerCallback3Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerCallback3 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerCallback3 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerCallback3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Initialize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
+        HRESULT ( STDMETHODCALLTYPE *Initialize )( 
             ICorProfilerCallback3 * This,
             /* [in] */ IUnknown *pICorProfilerInfoUnk);
-
-        HRESULT ( STDMETHODCALLTYPE *Shutdown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
+        HRESULT ( STDMETHODCALLTYPE *Shutdown )( 
             ICorProfilerCallback3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( 
             ICorProfilerCallback3 * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( 
             ICorProfilerCallback3 * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( 
             ICorProfilerCallback3 * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( 
             ICorProfilerCallback3 * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( 
             ICorProfilerCallback3 * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( 
             ICorProfilerCallback3 * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( 
             ICorProfilerCallback3 * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( 
             ICorProfilerCallback3 * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
+        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ AssemblyID AssemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( 
             ICorProfilerCallback3 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( 
             ICorProfilerCallback3 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( 
             ICorProfilerCallback3 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( 
             ICorProfilerCallback3 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ BOOL *pbUseCachedFunction);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( 
             ICorProfilerCallback3 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_JIT_CACHE result);
-
-        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
+        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( 
             ICorProfilerCallback3 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITInlining )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
+        HRESULT ( STDMETHODCALLTYPE *JITInlining )( 
             ICorProfilerCallback3 * This,
             /* [in] */ FunctionID callerId,
             /* [in] */ FunctionID calleeId,
             /* [out] */ BOOL *pfShouldInline);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
+        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
+        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ThreadID managedThreadId,
             /* [in] */ DWORD osThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( 
             ICorProfilerCallback3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( 
             ICorProfilerCallback3 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( 
             ICorProfilerCallback3 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( 
             ICorProfilerCallback3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( 
             ICorProfilerCallback3 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( 
             ICorProfilerCallback3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( 
             ICorProfilerCallback3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( 
             ICorProfilerCallback3 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( 
             ICorProfilerCallback3 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( 
             ICorProfilerCallback3 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( 
             ICorProfilerCallback3 * This,
             /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( 
             ICorProfilerCallback3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( 
             ICorProfilerCallback3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( 
             ICorProfilerCallback3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( 
             ICorProfilerCallback3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *MovedReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
+        HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
+        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ULONG cClassCount,
             /* [size_is][in] */ ClassID classIds[  ],
             /* [size_is][in] */ ULONG cObjects[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
+        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId,
             /* [in] */ ULONG cObjectRefs,
             /* [size_is][in] */ ObjectID objectRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
+        HRESULT ( STDMETHODCALLTYPE *RootReferences )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ULONG cRootRefs,
             /* [size_is][in] */ ObjectID rootRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ObjectID thrownObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( 
             ICorProfilerCallback3 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( 
             ICorProfilerCallback3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( 
             ICorProfilerCallback3 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( 
             ICorProfilerCallback3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( 
             ICorProfilerCallback3 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( 
             ICorProfilerCallback3 * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( 
             ICorProfilerCallback3 * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( 
             ICorProfilerCallback3 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( 
             ICorProfilerCallback3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( 
             ICorProfilerCallback3 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( 
             ICorProfilerCallback3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( 
             ICorProfilerCallback3 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ObjectID objectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( 
             ICorProfilerCallback3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable,
             /* [in] */ ULONG cSlots);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( 
             ICorProfilerCallback3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( 
             ICorProfilerCallback3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted)
+        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( 
             ICorProfilerCallback3 * This,
             /* [in] */ int cGenerations,
             /* [size_is][in] */ BOOL generationCollected[  ],
             /* [in] */ COR_PRF_GC_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences)
+        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( 
             ICorProfilerCallback3 * This,
             /* [in] */ ULONG cSurvivingObjectIDRanges,
             /* [size_is][in] */ ObjectID objectIDRangeStart[  ],
             /* [size_is][in] */ ULONG cObjectIDRangeLength[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished)
+        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( 
             ICorProfilerCallback3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued)
+        HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( 
             ICorProfilerCallback3 * This,
             /* [in] */ DWORD finalizerFlags,
             /* [in] */ ObjectID objectID);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated)
+        HRESULT ( STDMETHODCALLTYPE *HandleCreated )( 
             ICorProfilerCallback3 * This,
             /* [in] */ GCHandleID handleId,
             /* [in] */ ObjectID initialObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( 
             ICorProfilerCallback3 * This,
             /* [in] */ GCHandleID handleId);
-
-        HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach)
+        HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( 
             ICorProfilerCallback3 * This,
             /* [in] */ IUnknown *pCorProfilerInfoUnk,
             /* [in] */ void *pvClientData,
             /* [in] */ UINT cbClientData);
-
-        HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete)
+        HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( 
             ICorProfilerCallback3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded)
+        HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( 
             ICorProfilerCallback3 * This);
-
+        
         END_INTERFACE
     } ICorProfilerCallback3Vtbl;
 
@@ -2707,737 +2959,826 @@ 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) )
+#define ICorProfilerCallback3_QueryInterface(This,riid,ppvObject)      \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerCallback3_AddRef(This)  \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerCallback3_AddRef(This)     \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerCallback3_Release(This) \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerCallback3_Release(This)    \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerCallback3_Initialize(This,pICorProfilerInfoUnk) \
-    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) )
+#define ICorProfilerCallback3_Initialize(This,pICorProfilerInfoUnk)    \
+    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) 
 
-#define ICorProfilerCallback3_Shutdown(This)    \
-    ( (This)->lpVtbl -> Shutdown(This) )
+#define ICorProfilerCallback3_Shutdown(This)   \
+    ( (This)->lpVtbl -> Shutdown(This) ) 
 
-#define ICorProfilerCallback3_AppDomainCreationStarted(This,appDomainId)    \
-    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) )
+#define ICorProfilerCallback3_AppDomainCreationStarted(This,appDomainId)       \
+    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback3_AppDomainCreationFinished(This,appDomainId,hrStatus)  \
-    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback3_AppDomainCreationFinished(This,appDomainId,hrStatus)     \
+    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback3_AppDomainShutdownStarted(This,appDomainId)    \
-    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) )
+#define ICorProfilerCallback3_AppDomainShutdownStarted(This,appDomainId)       \
+    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback3_AppDomainShutdownFinished(This,appDomainId,hrStatus)  \
-    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback3_AppDomainShutdownFinished(This,appDomainId,hrStatus)     \
+    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback3_AssemblyLoadStarted(This,assemblyId)  \
-    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) )
+#define ICorProfilerCallback3_AssemblyLoadStarted(This,assemblyId)     \
+    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback3_AssemblyLoadFinished(This,assemblyId,hrStatus)    \
-    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback3_AssemblyLoadFinished(This,assemblyId,hrStatus)   \
+    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback3_AssemblyUnloadStarted(This,assemblyId)    \
-    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) )
+#define ICorProfilerCallback3_AssemblyUnloadStarted(This,assemblyId)   \
+    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback3_AssemblyUnloadFinished(This,assemblyId,hrStatus)  \
-    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback3_AssemblyUnloadFinished(This,assemblyId,hrStatus) \
+    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback3_ModuleLoadStarted(This,moduleId)  \
-    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) )
+#define ICorProfilerCallback3_ModuleLoadStarted(This,moduleId) \
+    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback3_ModuleLoadFinished(This,moduleId,hrStatus)    \
-    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback3_ModuleLoadFinished(This,moduleId,hrStatus)       \
+    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback3_ModuleUnloadStarted(This,moduleId)    \
-    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) )
+#define ICorProfilerCallback3_ModuleUnloadStarted(This,moduleId)       \
+    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback3_ModuleUnloadFinished(This,moduleId,hrStatus)  \
-    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback3_ModuleUnloadFinished(This,moduleId,hrStatus)     \
+    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback3_ModuleAttachedToAssembly(This,moduleId,AssemblyId)    \
-    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) )
+#define ICorProfilerCallback3_ModuleAttachedToAssembly(This,moduleId,AssemblyId)       \
+    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) 
 
-#define ICorProfilerCallback3_ClassLoadStarted(This,classId)    \
-    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) )
+#define ICorProfilerCallback3_ClassLoadStarted(This,classId)   \
+    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) 
 
-#define ICorProfilerCallback3_ClassLoadFinished(This,classId,hrStatus)  \
-    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback3_ClassLoadFinished(This,classId,hrStatus) \
+    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback3_ClassUnloadStarted(This,classId)  \
-    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) )
+#define ICorProfilerCallback3_ClassUnloadStarted(This,classId) \
+    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) 
 
-#define ICorProfilerCallback3_ClassUnloadFinished(This,classId,hrStatus)    \
-    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback3_ClassUnloadFinished(This,classId,hrStatus)       \
+    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback3_FunctionUnloadStarted(This,functionId)    \
-    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) )
+#define ICorProfilerCallback3_FunctionUnloadStarted(This,functionId)   \
+    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) 
 
-#define ICorProfilerCallback3_JITCompilationStarted(This,functionId,fIsSafeToBlock) \
-    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) )
+#define ICorProfilerCallback3_JITCompilationStarted(This,functionId,fIsSafeToBlock)    \
+    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback3_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)   \
-    ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) )
+#define ICorProfilerCallback3_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)  \
+    ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback3_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)   \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) )
+#define ICorProfilerCallback3_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)      \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) 
 
-#define ICorProfilerCallback3_JITCachedFunctionSearchFinished(This,functionId,result)   \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) )
+#define ICorProfilerCallback3_JITCachedFunctionSearchFinished(This,functionId,result)  \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) 
 
-#define ICorProfilerCallback3_JITFunctionPitched(This,functionId)   \
-    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) )
+#define ICorProfilerCallback3_JITFunctionPitched(This,functionId)      \
+    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) 
 
-#define ICorProfilerCallback3_JITInlining(This,callerId,calleeId,pfShouldInline)    \
-    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) )
+#define ICorProfilerCallback3_JITInlining(This,callerId,calleeId,pfShouldInline)       \
+    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) 
 
-#define ICorProfilerCallback3_ThreadCreated(This,threadId)  \
-    ( (This)->lpVtbl -> ThreadCreated(This,threadId) )
+#define ICorProfilerCallback3_ThreadCreated(This,threadId)     \
+    ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) 
 
-#define ICorProfilerCallback3_ThreadDestroyed(This,threadId)    \
-    ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) )
+#define ICorProfilerCallback3_ThreadDestroyed(This,threadId)   \
+    ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) 
 
-#define ICorProfilerCallback3_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \
-    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) )
+#define ICorProfilerCallback3_ThreadAssignedToOSThread(This,managedThreadId,osThreadId)        \
+    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) 
 
-#define ICorProfilerCallback3_RemotingClientInvocationStarted(This) \
-    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) )
+#define ICorProfilerCallback3_RemotingClientInvocationStarted(This)    \
+    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) 
 
-#define ICorProfilerCallback3_RemotingClientSendingMessage(This,pCookie,fIsAsync)   \
-    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback3_RemotingClientSendingMessage(This,pCookie,fIsAsync)      \
+    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback3_RemotingClientReceivingReply(This,pCookie,fIsAsync)   \
-    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback3_RemotingClientReceivingReply(This,pCookie,fIsAsync)      \
+    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback3_RemotingClientInvocationFinished(This)    \
-    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) )
+#define ICorProfilerCallback3_RemotingClientInvocationFinished(This)   \
+    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) 
 
-#define ICorProfilerCallback3_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \
-    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback3_RemotingServerReceivingMessage(This,pCookie,fIsAsync)    \
+    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback3_RemotingServerInvocationStarted(This) \
-    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) )
+#define ICorProfilerCallback3_RemotingServerInvocationStarted(This)    \
+    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) 
 
-#define ICorProfilerCallback3_RemotingServerInvocationReturned(This)    \
-    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) )
+#define ICorProfilerCallback3_RemotingServerInvocationReturned(This)   \
+    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) 
 
-#define ICorProfilerCallback3_RemotingServerSendingReply(This,pCookie,fIsAsync) \
-    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback3_RemotingServerSendingReply(This,pCookie,fIsAsync)        \
+    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback3_UnmanagedToManagedTransition(This,functionId,reason)  \
-    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback3_UnmanagedToManagedTransition(This,functionId,reason)     \
+    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback3_ManagedToUnmanagedTransition(This,functionId,reason)  \
-    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback3_ManagedToUnmanagedTransition(This,functionId,reason)     \
+    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback3_RuntimeSuspendStarted(This,suspendReason) \
-    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) )
+#define ICorProfilerCallback3_RuntimeSuspendStarted(This,suspendReason)        \
+    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) 
 
-#define ICorProfilerCallback3_RuntimeSuspendFinished(This)  \
-    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) )
+#define ICorProfilerCallback3_RuntimeSuspendFinished(This)     \
+    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) 
 
-#define ICorProfilerCallback3_RuntimeSuspendAborted(This)   \
-    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) )
+#define ICorProfilerCallback3_RuntimeSuspendAborted(This)      \
+    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) 
 
-#define ICorProfilerCallback3_RuntimeResumeStarted(This)    \
-    ( (This)->lpVtbl -> RuntimeResumeStarted(This) )
+#define ICorProfilerCallback3_RuntimeResumeStarted(This)       \
+    ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) 
 
-#define ICorProfilerCallback3_RuntimeResumeFinished(This)   \
-    ( (This)->lpVtbl -> RuntimeResumeFinished(This) )
+#define ICorProfilerCallback3_RuntimeResumeFinished(This)      \
+    ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) 
 
-#define ICorProfilerCallback3_RuntimeThreadSuspended(This,threadId) \
-    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) )
+#define ICorProfilerCallback3_RuntimeThreadSuspended(This,threadId)    \
+    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) 
 
-#define ICorProfilerCallback3_RuntimeThreadResumed(This,threadId)   \
-    ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) )
+#define ICorProfilerCallback3_RuntimeThreadResumed(This,threadId)      \
+    ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) 
 
-#define ICorProfilerCallback3_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength)   \
-    ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) )
+#define ICorProfilerCallback3_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) )
+#define ICorProfilerCallback3_ObjectAllocated(This,objectId,classId)   \
+    ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) 
 
-#define ICorProfilerCallback3_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects)   \
-    ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) )
+#define ICorProfilerCallback3_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) )
+#define ICorProfilerCallback3_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) )
+#define ICorProfilerCallback3_RootReferences(This,cRootRefs,rootRefIds)        \
+    ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) 
 
-#define ICorProfilerCallback3_ExceptionThrown(This,thrownObjectId)  \
-    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) )
+#define ICorProfilerCallback3_ExceptionThrown(This,thrownObjectId)     \
+    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) 
 
-#define ICorProfilerCallback3_ExceptionSearchFunctionEnter(This,functionId) \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) )
+#define ICorProfilerCallback3_ExceptionSearchFunctionEnter(This,functionId)    \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback3_ExceptionSearchFunctionLeave(This)    \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) )
+#define ICorProfilerCallback3_ExceptionSearchFunctionLeave(This)       \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) 
 
-#define ICorProfilerCallback3_ExceptionSearchFilterEnter(This,functionId)   \
-    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) )
+#define ICorProfilerCallback3_ExceptionSearchFilterEnter(This,functionId)      \
+    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) 
 
-#define ICorProfilerCallback3_ExceptionSearchFilterLeave(This)  \
-    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) )
+#define ICorProfilerCallback3_ExceptionSearchFilterLeave(This) \
+    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) 
 
-#define ICorProfilerCallback3_ExceptionSearchCatcherFound(This,functionId)  \
-    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) )
+#define ICorProfilerCallback3_ExceptionSearchCatcherFound(This,functionId)     \
+    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) 
 
-#define ICorProfilerCallback3_ExceptionOSHandlerEnter(This,__unused)    \
-    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) )
+#define ICorProfilerCallback3_ExceptionOSHandlerEnter(This,__unused)   \
+    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) 
 
-#define ICorProfilerCallback3_ExceptionOSHandlerLeave(This,__unused)    \
-    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) )
+#define ICorProfilerCallback3_ExceptionOSHandlerLeave(This,__unused)   \
+    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) 
 
-#define ICorProfilerCallback3_ExceptionUnwindFunctionEnter(This,functionId) \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) )
+#define ICorProfilerCallback3_ExceptionUnwindFunctionEnter(This,functionId)    \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback3_ExceptionUnwindFunctionLeave(This)    \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) )
+#define ICorProfilerCallback3_ExceptionUnwindFunctionLeave(This)       \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) 
 
-#define ICorProfilerCallback3_ExceptionUnwindFinallyEnter(This,functionId)  \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) )
+#define ICorProfilerCallback3_ExceptionUnwindFinallyEnter(This,functionId)     \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) 
 
-#define ICorProfilerCallback3_ExceptionUnwindFinallyLeave(This) \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) )
+#define ICorProfilerCallback3_ExceptionUnwindFinallyLeave(This)        \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) 
 
-#define ICorProfilerCallback3_ExceptionCatcherEnter(This,functionId,objectId)   \
-    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) )
+#define ICorProfilerCallback3_ExceptionCatcherEnter(This,functionId,objectId)  \
+    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) 
 
-#define ICorProfilerCallback3_ExceptionCatcherLeave(This)   \
-    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) )
+#define ICorProfilerCallback3_ExceptionCatcherLeave(This)      \
+    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) 
 
-#define ICorProfilerCallback3_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots)    \
-    ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) )
+#define ICorProfilerCallback3_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) )
+#define ICorProfilerCallback3_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable)    \
+    ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) 
 
-#define ICorProfilerCallback3_ExceptionCLRCatcherFound(This)    \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) )
+#define ICorProfilerCallback3_ExceptionCLRCatcherFound(This)   \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) 
 
-#define ICorProfilerCallback3_ExceptionCLRCatcherExecute(This)  \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) )
+#define ICorProfilerCallback3_ExceptionCLRCatcherExecute(This) \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) 
 
 
-#define ICorProfilerCallback3_ThreadNameChanged(This,threadId,cchName,name) \
-    ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) )
+#define ICorProfilerCallback3_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) )
+#define ICorProfilerCallback3_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) )
+#define ICorProfilerCallback3_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength)       \
+    ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) 
 
-#define ICorProfilerCallback3_GarbageCollectionFinished(This)   \
-    ( (This)->lpVtbl -> GarbageCollectionFinished(This) )
+#define ICorProfilerCallback3_GarbageCollectionFinished(This)  \
+    ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) 
 
-#define ICorProfilerCallback3_FinalizeableObjectQueued(This,finalizerFlags,objectID)    \
-    ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) )
+#define ICorProfilerCallback3_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) )
+#define ICorProfilerCallback3_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) )
+#define ICorProfilerCallback3_HandleCreated(This,handleId,initialObjectId)     \
+    ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) 
 
-#define ICorProfilerCallback3_HandleDestroyed(This,handleId)    \
-    ( (This)->lpVtbl -> HandleDestroyed(This,handleId) )
+#define ICorProfilerCallback3_HandleDestroyed(This,handleId)   \
+    ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) 
 
 
-#define ICorProfilerCallback3_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData)   \
-    ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) )
+#define ICorProfilerCallback3_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData)  \
+    ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) 
 
-#define ICorProfilerCallback3_ProfilerAttachComplete(This)  \
-    ( (This)->lpVtbl -> ProfilerAttachComplete(This) )
+#define ICorProfilerCallback3_ProfilerAttachComplete(This)     \
+    ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) 
 
-#define ICorProfilerCallback3_ProfilerDetachSucceeded(This) \
-    ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) )
+#define ICorProfilerCallback3_ProfilerDetachSucceeded(This)    \
+    ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerCallback3_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerCallback3_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerCallback4_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerCallback4Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerCallback4 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerCallback4 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerCallback4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Initialize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
+        HRESULT ( STDMETHODCALLTYPE *Initialize )( 
             ICorProfilerCallback4 * This,
             /* [in] */ IUnknown *pICorProfilerInfoUnk);
-
-        HRESULT ( STDMETHODCALLTYPE *Shutdown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
+        HRESULT ( STDMETHODCALLTYPE *Shutdown )( 
             ICorProfilerCallback4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( 
             ICorProfilerCallback4 * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( 
             ICorProfilerCallback4 * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( 
             ICorProfilerCallback4 * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( 
             ICorProfilerCallback4 * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( 
             ICorProfilerCallback4 * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( 
             ICorProfilerCallback4 * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( 
             ICorProfilerCallback4 * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( 
             ICorProfilerCallback4 * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
+        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ AssemblyID AssemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( 
             ICorProfilerCallback4 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( 
             ICorProfilerCallback4 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( 
             ICorProfilerCallback4 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( 
             ICorProfilerCallback4 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ BOOL *pbUseCachedFunction);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( 
             ICorProfilerCallback4 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_JIT_CACHE result);
-
-        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
+        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( 
             ICorProfilerCallback4 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITInlining )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
+        HRESULT ( STDMETHODCALLTYPE *JITInlining )( 
             ICorProfilerCallback4 * This,
             /* [in] */ FunctionID callerId,
             /* [in] */ FunctionID calleeId,
             /* [out] */ BOOL *pfShouldInline);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
+        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
+        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ThreadID managedThreadId,
             /* [in] */ DWORD osThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( 
             ICorProfilerCallback4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( 
             ICorProfilerCallback4 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( 
             ICorProfilerCallback4 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( 
             ICorProfilerCallback4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( 
             ICorProfilerCallback4 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( 
             ICorProfilerCallback4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( 
             ICorProfilerCallback4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( 
             ICorProfilerCallback4 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( 
             ICorProfilerCallback4 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( 
             ICorProfilerCallback4 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( 
             ICorProfilerCallback4 * This,
             /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( 
             ICorProfilerCallback4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( 
             ICorProfilerCallback4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( 
             ICorProfilerCallback4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( 
             ICorProfilerCallback4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *MovedReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
+        HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
+        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ULONG cClassCount,
             /* [size_is][in] */ ClassID classIds[  ],
             /* [size_is][in] */ ULONG cObjects[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
+        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId,
             /* [in] */ ULONG cObjectRefs,
             /* [size_is][in] */ ObjectID objectRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
+        HRESULT ( STDMETHODCALLTYPE *RootReferences )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ULONG cRootRefs,
             /* [size_is][in] */ ObjectID rootRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ObjectID thrownObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( 
             ICorProfilerCallback4 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( 
             ICorProfilerCallback4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( 
             ICorProfilerCallback4 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( 
             ICorProfilerCallback4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( 
             ICorProfilerCallback4 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( 
             ICorProfilerCallback4 * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( 
             ICorProfilerCallback4 * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( 
             ICorProfilerCallback4 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( 
             ICorProfilerCallback4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( 
             ICorProfilerCallback4 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( 
             ICorProfilerCallback4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( 
             ICorProfilerCallback4 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ObjectID objectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( 
             ICorProfilerCallback4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable,
             /* [in] */ ULONG cSlots);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( 
             ICorProfilerCallback4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( 
             ICorProfilerCallback4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted)
+        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( 
             ICorProfilerCallback4 * This,
             /* [in] */ int cGenerations,
             /* [size_is][in] */ BOOL generationCollected[  ],
             /* [in] */ COR_PRF_GC_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences)
+        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ULONG cSurvivingObjectIDRanges,
             /* [size_is][in] */ ObjectID objectIDRangeStart[  ],
             /* [size_is][in] */ ULONG cObjectIDRangeLength[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished)
+        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( 
             ICorProfilerCallback4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued)
+        HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( 
             ICorProfilerCallback4 * This,
             /* [in] */ DWORD finalizerFlags,
             /* [in] */ ObjectID objectID);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated)
+        HRESULT ( STDMETHODCALLTYPE *HandleCreated )( 
             ICorProfilerCallback4 * This,
             /* [in] */ GCHandleID handleId,
             /* [in] */ ObjectID initialObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( 
             ICorProfilerCallback4 * This,
             /* [in] */ GCHandleID handleId);
-
-        HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach)
+        HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( 
             ICorProfilerCallback4 * This,
             /* [in] */ IUnknown *pCorProfilerInfoUnk,
             /* [in] */ void *pvClientData,
             /* [in] */ UINT cbClientData);
-
-        HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete)
+        HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( 
             ICorProfilerCallback4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded)
+        HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( 
             ICorProfilerCallback4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( 
             ICorProfilerCallback4 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ReJITID rejitId,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters)
+        HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [in] */ ICorProfilerFunctionControl *pFunctionControl);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( 
             ICorProfilerCallback4 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ReJITID rejitId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITError )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError)
+        HRESULT ( STDMETHODCALLTYPE *ReJITError )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2)
+        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( 
             ICorProfilerCallback4 * This,
             /* [in] */ ULONG cSurvivingObjectIDRanges,
             /* [size_is][in] */ ObjectID objectIDRangeStart[  ],
             /* [size_is][in] */ SIZE_T cObjectIDRangeLength[  ]);
-
+        
         END_INTERFACE
     } ICorProfilerCallback4Vtbl;
 
@@ -3446,736 +3787,826 @@ 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) )
+#define ICorProfilerCallback4_QueryInterface(This,riid,ppvObject)      \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerCallback4_AddRef(This)  \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerCallback4_AddRef(This)     \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerCallback4_Release(This) \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerCallback4_Release(This)    \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerCallback4_Initialize(This,pICorProfilerInfoUnk) \
-    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) )
+#define ICorProfilerCallback4_Initialize(This,pICorProfilerInfoUnk)    \
+    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) 
 
-#define ICorProfilerCallback4_Shutdown(This)    \
-    ( (This)->lpVtbl -> Shutdown(This) )
+#define ICorProfilerCallback4_Shutdown(This)   \
+    ( (This)->lpVtbl -> Shutdown(This) ) 
 
-#define ICorProfilerCallback4_AppDomainCreationStarted(This,appDomainId)    \
-    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) )
+#define ICorProfilerCallback4_AppDomainCreationStarted(This,appDomainId)       \
+    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback4_AppDomainCreationFinished(This,appDomainId,hrStatus)  \
-    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback4_AppDomainCreationFinished(This,appDomainId,hrStatus)     \
+    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback4_AppDomainShutdownStarted(This,appDomainId)    \
-    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) )
+#define ICorProfilerCallback4_AppDomainShutdownStarted(This,appDomainId)       \
+    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback4_AppDomainShutdownFinished(This,appDomainId,hrStatus)  \
-    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback4_AppDomainShutdownFinished(This,appDomainId,hrStatus)     \
+    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback4_AssemblyLoadStarted(This,assemblyId)  \
-    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) )
+#define ICorProfilerCallback4_AssemblyLoadStarted(This,assemblyId)     \
+    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback4_AssemblyLoadFinished(This,assemblyId,hrStatus)    \
-    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback4_AssemblyLoadFinished(This,assemblyId,hrStatus)   \
+    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback4_AssemblyUnloadStarted(This,assemblyId)    \
-    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) )
+#define ICorProfilerCallback4_AssemblyUnloadStarted(This,assemblyId)   \
+    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback4_AssemblyUnloadFinished(This,assemblyId,hrStatus)  \
-    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback4_AssemblyUnloadFinished(This,assemblyId,hrStatus) \
+    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback4_ModuleLoadStarted(This,moduleId)  \
-    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) )
+#define ICorProfilerCallback4_ModuleLoadStarted(This,moduleId) \
+    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback4_ModuleLoadFinished(This,moduleId,hrStatus)    \
-    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback4_ModuleLoadFinished(This,moduleId,hrStatus)       \
+    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback4_ModuleUnloadStarted(This,moduleId)    \
-    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) )
+#define ICorProfilerCallback4_ModuleUnloadStarted(This,moduleId)       \
+    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback4_ModuleUnloadFinished(This,moduleId,hrStatus)  \
-    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback4_ModuleUnloadFinished(This,moduleId,hrStatus)     \
+    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback4_ModuleAttachedToAssembly(This,moduleId,AssemblyId)    \
-    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) )
+#define ICorProfilerCallback4_ModuleAttachedToAssembly(This,moduleId,AssemblyId)       \
+    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) 
 
-#define ICorProfilerCallback4_ClassLoadStarted(This,classId)    \
-    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) )
+#define ICorProfilerCallback4_ClassLoadStarted(This,classId)   \
+    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) 
 
-#define ICorProfilerCallback4_ClassLoadFinished(This,classId,hrStatus)  \
-    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback4_ClassLoadFinished(This,classId,hrStatus) \
+    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback4_ClassUnloadStarted(This,classId)  \
-    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) )
+#define ICorProfilerCallback4_ClassUnloadStarted(This,classId) \
+    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) 
 
-#define ICorProfilerCallback4_ClassUnloadFinished(This,classId,hrStatus)    \
-    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback4_ClassUnloadFinished(This,classId,hrStatus)       \
+    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback4_FunctionUnloadStarted(This,functionId)    \
-    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) )
+#define ICorProfilerCallback4_FunctionUnloadStarted(This,functionId)   \
+    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) 
 
-#define ICorProfilerCallback4_JITCompilationStarted(This,functionId,fIsSafeToBlock) \
-    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) )
+#define ICorProfilerCallback4_JITCompilationStarted(This,functionId,fIsSafeToBlock)    \
+    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback4_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)   \
-    ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) )
+#define ICorProfilerCallback4_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)  \
+    ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback4_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)   \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) )
+#define ICorProfilerCallback4_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)      \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) 
 
-#define ICorProfilerCallback4_JITCachedFunctionSearchFinished(This,functionId,result)   \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) )
+#define ICorProfilerCallback4_JITCachedFunctionSearchFinished(This,functionId,result)  \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) 
 
-#define ICorProfilerCallback4_JITFunctionPitched(This,functionId)   \
-    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) )
+#define ICorProfilerCallback4_JITFunctionPitched(This,functionId)      \
+    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) 
 
-#define ICorProfilerCallback4_JITInlining(This,callerId,calleeId,pfShouldInline)    \
-    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) )
+#define ICorProfilerCallback4_JITInlining(This,callerId,calleeId,pfShouldInline)       \
+    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) 
 
-#define ICorProfilerCallback4_ThreadCreated(This,threadId)  \
-    ( (This)->lpVtbl -> ThreadCreated(This,threadId) )
+#define ICorProfilerCallback4_ThreadCreated(This,threadId)     \
+    ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) 
 
-#define ICorProfilerCallback4_ThreadDestroyed(This,threadId)    \
-    ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) )
+#define ICorProfilerCallback4_ThreadDestroyed(This,threadId)   \
+    ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) 
 
-#define ICorProfilerCallback4_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \
-    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) )
+#define ICorProfilerCallback4_ThreadAssignedToOSThread(This,managedThreadId,osThreadId)        \
+    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) 
 
-#define ICorProfilerCallback4_RemotingClientInvocationStarted(This) \
-    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) )
+#define ICorProfilerCallback4_RemotingClientInvocationStarted(This)    \
+    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) 
 
-#define ICorProfilerCallback4_RemotingClientSendingMessage(This,pCookie,fIsAsync)   \
-    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback4_RemotingClientSendingMessage(This,pCookie,fIsAsync)      \
+    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback4_RemotingClientReceivingReply(This,pCookie,fIsAsync)   \
-    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback4_RemotingClientReceivingReply(This,pCookie,fIsAsync)      \
+    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback4_RemotingClientInvocationFinished(This)    \
-    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) )
+#define ICorProfilerCallback4_RemotingClientInvocationFinished(This)   \
+    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) 
 
-#define ICorProfilerCallback4_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \
-    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback4_RemotingServerReceivingMessage(This,pCookie,fIsAsync)    \
+    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback4_RemotingServerInvocationStarted(This) \
-    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) )
+#define ICorProfilerCallback4_RemotingServerInvocationStarted(This)    \
+    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) 
 
-#define ICorProfilerCallback4_RemotingServerInvocationReturned(This)    \
-    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) )
+#define ICorProfilerCallback4_RemotingServerInvocationReturned(This)   \
+    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) 
 
-#define ICorProfilerCallback4_RemotingServerSendingReply(This,pCookie,fIsAsync) \
-    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback4_RemotingServerSendingReply(This,pCookie,fIsAsync)        \
+    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback4_UnmanagedToManagedTransition(This,functionId,reason)  \
-    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback4_UnmanagedToManagedTransition(This,functionId,reason)     \
+    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback4_ManagedToUnmanagedTransition(This,functionId,reason)  \
-    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback4_ManagedToUnmanagedTransition(This,functionId,reason)     \
+    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback4_RuntimeSuspendStarted(This,suspendReason) \
-    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) )
+#define ICorProfilerCallback4_RuntimeSuspendStarted(This,suspendReason)        \
+    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) 
 
-#define ICorProfilerCallback4_RuntimeSuspendFinished(This)  \
-    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) )
+#define ICorProfilerCallback4_RuntimeSuspendFinished(This)     \
+    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) 
 
-#define ICorProfilerCallback4_RuntimeSuspendAborted(This)   \
-    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) )
+#define ICorProfilerCallback4_RuntimeSuspendAborted(This)      \
+    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) 
 
-#define ICorProfilerCallback4_RuntimeResumeStarted(This)    \
-    ( (This)->lpVtbl -> RuntimeResumeStarted(This) )
+#define ICorProfilerCallback4_RuntimeResumeStarted(This)       \
+    ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) 
 
-#define ICorProfilerCallback4_RuntimeResumeFinished(This)   \
-    ( (This)->lpVtbl -> RuntimeResumeFinished(This) )
+#define ICorProfilerCallback4_RuntimeResumeFinished(This)      \
+    ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) 
 
-#define ICorProfilerCallback4_RuntimeThreadSuspended(This,threadId) \
-    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) )
+#define ICorProfilerCallback4_RuntimeThreadSuspended(This,threadId)    \
+    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) 
 
-#define ICorProfilerCallback4_RuntimeThreadResumed(This,threadId)   \
-    ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) )
+#define ICorProfilerCallback4_RuntimeThreadResumed(This,threadId)      \
+    ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) 
 
-#define ICorProfilerCallback4_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength)   \
-    ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) )
+#define ICorProfilerCallback4_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) )
+#define ICorProfilerCallback4_ObjectAllocated(This,objectId,classId)   \
+    ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) 
 
-#define ICorProfilerCallback4_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects)   \
-    ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) )
+#define ICorProfilerCallback4_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) )
+#define ICorProfilerCallback4_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) )
+#define ICorProfilerCallback4_RootReferences(This,cRootRefs,rootRefIds)        \
+    ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) 
 
-#define ICorProfilerCallback4_ExceptionThrown(This,thrownObjectId)  \
-    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) )
+#define ICorProfilerCallback4_ExceptionThrown(This,thrownObjectId)     \
+    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) 
 
-#define ICorProfilerCallback4_ExceptionSearchFunctionEnter(This,functionId) \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) )
+#define ICorProfilerCallback4_ExceptionSearchFunctionEnter(This,functionId)    \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback4_ExceptionSearchFunctionLeave(This)    \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) )
+#define ICorProfilerCallback4_ExceptionSearchFunctionLeave(This)       \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) 
 
-#define ICorProfilerCallback4_ExceptionSearchFilterEnter(This,functionId)   \
-    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) )
+#define ICorProfilerCallback4_ExceptionSearchFilterEnter(This,functionId)      \
+    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) 
 
-#define ICorProfilerCallback4_ExceptionSearchFilterLeave(This)  \
-    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) )
+#define ICorProfilerCallback4_ExceptionSearchFilterLeave(This) \
+    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) 
 
-#define ICorProfilerCallback4_ExceptionSearchCatcherFound(This,functionId)  \
-    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) )
+#define ICorProfilerCallback4_ExceptionSearchCatcherFound(This,functionId)     \
+    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) 
 
-#define ICorProfilerCallback4_ExceptionOSHandlerEnter(This,__unused)    \
-    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) )
+#define ICorProfilerCallback4_ExceptionOSHandlerEnter(This,__unused)   \
+    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) 
 
-#define ICorProfilerCallback4_ExceptionOSHandlerLeave(This,__unused)    \
-    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) )
+#define ICorProfilerCallback4_ExceptionOSHandlerLeave(This,__unused)   \
+    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) 
 
-#define ICorProfilerCallback4_ExceptionUnwindFunctionEnter(This,functionId) \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) )
+#define ICorProfilerCallback4_ExceptionUnwindFunctionEnter(This,functionId)    \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback4_ExceptionUnwindFunctionLeave(This)    \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) )
+#define ICorProfilerCallback4_ExceptionUnwindFunctionLeave(This)       \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) 
 
-#define ICorProfilerCallback4_ExceptionUnwindFinallyEnter(This,functionId)  \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) )
+#define ICorProfilerCallback4_ExceptionUnwindFinallyEnter(This,functionId)     \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) 
 
-#define ICorProfilerCallback4_ExceptionUnwindFinallyLeave(This) \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) )
+#define ICorProfilerCallback4_ExceptionUnwindFinallyLeave(This)        \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) 
 
-#define ICorProfilerCallback4_ExceptionCatcherEnter(This,functionId,objectId)   \
-    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) )
+#define ICorProfilerCallback4_ExceptionCatcherEnter(This,functionId,objectId)  \
+    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) 
 
-#define ICorProfilerCallback4_ExceptionCatcherLeave(This)   \
-    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) )
+#define ICorProfilerCallback4_ExceptionCatcherLeave(This)      \
+    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) 
 
-#define ICorProfilerCallback4_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots)    \
-    ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) )
+#define ICorProfilerCallback4_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) )
+#define ICorProfilerCallback4_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable)    \
+    ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) 
 
-#define ICorProfilerCallback4_ExceptionCLRCatcherFound(This)    \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) )
+#define ICorProfilerCallback4_ExceptionCLRCatcherFound(This)   \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) 
 
-#define ICorProfilerCallback4_ExceptionCLRCatcherExecute(This)  \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) )
+#define ICorProfilerCallback4_ExceptionCLRCatcherExecute(This) \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) 
 
 
-#define ICorProfilerCallback4_ThreadNameChanged(This,threadId,cchName,name) \
-    ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) )
+#define ICorProfilerCallback4_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) )
+#define ICorProfilerCallback4_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) )
+#define ICorProfilerCallback4_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength)       \
+    ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) 
 
-#define ICorProfilerCallback4_GarbageCollectionFinished(This)   \
-    ( (This)->lpVtbl -> GarbageCollectionFinished(This) )
+#define ICorProfilerCallback4_GarbageCollectionFinished(This)  \
+    ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) 
 
-#define ICorProfilerCallback4_FinalizeableObjectQueued(This,finalizerFlags,objectID)    \
-    ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) )
+#define ICorProfilerCallback4_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) )
+#define ICorProfilerCallback4_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) )
+#define ICorProfilerCallback4_HandleCreated(This,handleId,initialObjectId)     \
+    ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) 
 
-#define ICorProfilerCallback4_HandleDestroyed(This,handleId)    \
-    ( (This)->lpVtbl -> HandleDestroyed(This,handleId) )
+#define ICorProfilerCallback4_HandleDestroyed(This,handleId)   \
+    ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) 
 
 
-#define ICorProfilerCallback4_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData)   \
-    ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) )
+#define ICorProfilerCallback4_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData)  \
+    ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) 
 
-#define ICorProfilerCallback4_ProfilerAttachComplete(This)  \
-    ( (This)->lpVtbl -> ProfilerAttachComplete(This) )
+#define ICorProfilerCallback4_ProfilerAttachComplete(This)     \
+    ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) 
 
-#define ICorProfilerCallback4_ProfilerDetachSucceeded(This) \
-    ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) )
+#define ICorProfilerCallback4_ProfilerDetachSucceeded(This)    \
+    ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) 
 
 
-#define ICorProfilerCallback4_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock)   \
-    ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) )
+#define ICorProfilerCallback4_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) )
+#define ICorProfilerCallback4_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) )
+#define ICorProfilerCallback4_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) )
+#define ICorProfilerCallback4_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) )
+#define ICorProfilerCallback4_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) )
+#define ICorProfilerCallback4_SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength)      \
+    ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerCallback4_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerCallback4_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerCallback5_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerCallback5Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerCallback5 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerCallback5 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerCallback5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Initialize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
+        HRESULT ( STDMETHODCALLTYPE *Initialize )( 
             ICorProfilerCallback5 * This,
             /* [in] */ IUnknown *pICorProfilerInfoUnk);
-
-        HRESULT ( STDMETHODCALLTYPE *Shutdown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
+        HRESULT ( STDMETHODCALLTYPE *Shutdown )( 
             ICorProfilerCallback5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( 
             ICorProfilerCallback5 * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( 
             ICorProfilerCallback5 * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( 
             ICorProfilerCallback5 * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( 
             ICorProfilerCallback5 * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( 
             ICorProfilerCallback5 * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( 
             ICorProfilerCallback5 * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( 
             ICorProfilerCallback5 * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( 
             ICorProfilerCallback5 * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
+        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ AssemblyID AssemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( 
             ICorProfilerCallback5 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( 
             ICorProfilerCallback5 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( 
             ICorProfilerCallback5 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( 
             ICorProfilerCallback5 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ BOOL *pbUseCachedFunction);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( 
             ICorProfilerCallback5 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_JIT_CACHE result);
-
-        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
+        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( 
             ICorProfilerCallback5 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITInlining )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
+        HRESULT ( STDMETHODCALLTYPE *JITInlining )( 
             ICorProfilerCallback5 * This,
             /* [in] */ FunctionID callerId,
             /* [in] */ FunctionID calleeId,
             /* [out] */ BOOL *pfShouldInline);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
+        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
+        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ThreadID managedThreadId,
             /* [in] */ DWORD osThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( 
             ICorProfilerCallback5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( 
             ICorProfilerCallback5 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( 
             ICorProfilerCallback5 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( 
             ICorProfilerCallback5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( 
             ICorProfilerCallback5 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( 
             ICorProfilerCallback5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( 
             ICorProfilerCallback5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( 
             ICorProfilerCallback5 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( 
             ICorProfilerCallback5 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( 
             ICorProfilerCallback5 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( 
             ICorProfilerCallback5 * This,
             /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( 
             ICorProfilerCallback5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( 
             ICorProfilerCallback5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( 
             ICorProfilerCallback5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( 
             ICorProfilerCallback5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *MovedReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
+        HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
+        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ULONG cClassCount,
             /* [size_is][in] */ ClassID classIds[  ],
             /* [size_is][in] */ ULONG cObjects[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
+        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId,
             /* [in] */ ULONG cObjectRefs,
             /* [size_is][in] */ ObjectID objectRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
+        HRESULT ( STDMETHODCALLTYPE *RootReferences )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ULONG cRootRefs,
             /* [size_is][in] */ ObjectID rootRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ObjectID thrownObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( 
             ICorProfilerCallback5 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( 
             ICorProfilerCallback5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( 
             ICorProfilerCallback5 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( 
             ICorProfilerCallback5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( 
             ICorProfilerCallback5 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( 
             ICorProfilerCallback5 * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( 
             ICorProfilerCallback5 * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( 
             ICorProfilerCallback5 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( 
             ICorProfilerCallback5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( 
             ICorProfilerCallback5 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( 
             ICorProfilerCallback5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( 
             ICorProfilerCallback5 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ObjectID objectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( 
             ICorProfilerCallback5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable,
             /* [in] */ ULONG cSlots);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( 
             ICorProfilerCallback5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( 
             ICorProfilerCallback5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted)
+        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( 
             ICorProfilerCallback5 * This,
             /* [in] */ int cGenerations,
             /* [size_is][in] */ BOOL generationCollected[  ],
             /* [in] */ COR_PRF_GC_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences)
+        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ULONG cSurvivingObjectIDRanges,
             /* [size_is][in] */ ObjectID objectIDRangeStart[  ],
             /* [size_is][in] */ ULONG cObjectIDRangeLength[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished)
+        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( 
             ICorProfilerCallback5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued)
+        HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( 
             ICorProfilerCallback5 * This,
             /* [in] */ DWORD finalizerFlags,
             /* [in] */ ObjectID objectID);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated)
+        HRESULT ( STDMETHODCALLTYPE *HandleCreated )( 
             ICorProfilerCallback5 * This,
             /* [in] */ GCHandleID handleId,
             /* [in] */ ObjectID initialObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( 
             ICorProfilerCallback5 * This,
             /* [in] */ GCHandleID handleId);
-
-        HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach)
+        HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( 
             ICorProfilerCallback5 * This,
             /* [in] */ IUnknown *pCorProfilerInfoUnk,
             /* [in] */ void *pvClientData,
             /* [in] */ UINT cbClientData);
-
-        HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete)
+        HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( 
             ICorProfilerCallback5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded)
+        HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( 
             ICorProfilerCallback5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( 
             ICorProfilerCallback5 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ReJITID rejitId,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters)
+        HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [in] */ ICorProfilerFunctionControl *pFunctionControl);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( 
             ICorProfilerCallback5 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ReJITID rejitId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITError )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError)
+        HRESULT ( STDMETHODCALLTYPE *ReJITError )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2)
+        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( 
             ICorProfilerCallback5 * This,
             /* [in] */ ULONG cSurvivingObjectIDRanges,
             /* [size_is][in] */ ObjectID objectIDRangeStart[  ],
             /* [size_is][in] */ SIZE_T cObjectIDRangeLength[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback5, 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;
 
@@ -4184,743 +4615,834 @@ 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) )
+#define ICorProfilerCallback5_QueryInterface(This,riid,ppvObject)      \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerCallback5_AddRef(This)  \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerCallback5_AddRef(This)     \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerCallback5_Release(This) \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerCallback5_Release(This)    \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerCallback5_Initialize(This,pICorProfilerInfoUnk) \
-    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) )
+#define ICorProfilerCallback5_Initialize(This,pICorProfilerInfoUnk)    \
+    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) 
 
-#define ICorProfilerCallback5_Shutdown(This)    \
-    ( (This)->lpVtbl -> Shutdown(This) )
+#define ICorProfilerCallback5_Shutdown(This)   \
+    ( (This)->lpVtbl -> Shutdown(This) ) 
 
-#define ICorProfilerCallback5_AppDomainCreationStarted(This,appDomainId)    \
-    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) )
+#define ICorProfilerCallback5_AppDomainCreationStarted(This,appDomainId)       \
+    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback5_AppDomainCreationFinished(This,appDomainId,hrStatus)  \
-    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback5_AppDomainCreationFinished(This,appDomainId,hrStatus)     \
+    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback5_AppDomainShutdownStarted(This,appDomainId)    \
-    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) )
+#define ICorProfilerCallback5_AppDomainShutdownStarted(This,appDomainId)       \
+    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback5_AppDomainShutdownFinished(This,appDomainId,hrStatus)  \
-    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback5_AppDomainShutdownFinished(This,appDomainId,hrStatus)     \
+    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback5_AssemblyLoadStarted(This,assemblyId)  \
-    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) )
+#define ICorProfilerCallback5_AssemblyLoadStarted(This,assemblyId)     \
+    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback5_AssemblyLoadFinished(This,assemblyId,hrStatus)    \
-    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback5_AssemblyLoadFinished(This,assemblyId,hrStatus)   \
+    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback5_AssemblyUnloadStarted(This,assemblyId)    \
-    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) )
+#define ICorProfilerCallback5_AssemblyUnloadStarted(This,assemblyId)   \
+    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback5_AssemblyUnloadFinished(This,assemblyId,hrStatus)  \
-    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback5_AssemblyUnloadFinished(This,assemblyId,hrStatus) \
+    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback5_ModuleLoadStarted(This,moduleId)  \
-    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) )
+#define ICorProfilerCallback5_ModuleLoadStarted(This,moduleId) \
+    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback5_ModuleLoadFinished(This,moduleId,hrStatus)    \
-    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback5_ModuleLoadFinished(This,moduleId,hrStatus)       \
+    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback5_ModuleUnloadStarted(This,moduleId)    \
-    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) )
+#define ICorProfilerCallback5_ModuleUnloadStarted(This,moduleId)       \
+    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback5_ModuleUnloadFinished(This,moduleId,hrStatus)  \
-    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback5_ModuleUnloadFinished(This,moduleId,hrStatus)     \
+    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback5_ModuleAttachedToAssembly(This,moduleId,AssemblyId)    \
-    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) )
+#define ICorProfilerCallback5_ModuleAttachedToAssembly(This,moduleId,AssemblyId)       \
+    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) 
 
-#define ICorProfilerCallback5_ClassLoadStarted(This,classId)    \
-    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) )
+#define ICorProfilerCallback5_ClassLoadStarted(This,classId)   \
+    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) 
 
-#define ICorProfilerCallback5_ClassLoadFinished(This,classId,hrStatus)  \
-    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback5_ClassLoadFinished(This,classId,hrStatus) \
+    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback5_ClassUnloadStarted(This,classId)  \
-    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) )
+#define ICorProfilerCallback5_ClassUnloadStarted(This,classId) \
+    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) 
 
-#define ICorProfilerCallback5_ClassUnloadFinished(This,classId,hrStatus)    \
-    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback5_ClassUnloadFinished(This,classId,hrStatus)       \
+    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback5_FunctionUnloadStarted(This,functionId)    \
-    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) )
+#define ICorProfilerCallback5_FunctionUnloadStarted(This,functionId)   \
+    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) 
 
-#define ICorProfilerCallback5_JITCompilationStarted(This,functionId,fIsSafeToBlock) \
-    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) )
+#define ICorProfilerCallback5_JITCompilationStarted(This,functionId,fIsSafeToBlock)    \
+    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback5_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)   \
-    ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) )
+#define ICorProfilerCallback5_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)  \
+    ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback5_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)   \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) )
+#define ICorProfilerCallback5_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)      \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) 
 
-#define ICorProfilerCallback5_JITCachedFunctionSearchFinished(This,functionId,result)   \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) )
+#define ICorProfilerCallback5_JITCachedFunctionSearchFinished(This,functionId,result)  \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) 
 
-#define ICorProfilerCallback5_JITFunctionPitched(This,functionId)   \
-    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) )
+#define ICorProfilerCallback5_JITFunctionPitched(This,functionId)      \
+    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) 
 
-#define ICorProfilerCallback5_JITInlining(This,callerId,calleeId,pfShouldInline)    \
-    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) )
+#define ICorProfilerCallback5_JITInlining(This,callerId,calleeId,pfShouldInline)       \
+    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) 
 
-#define ICorProfilerCallback5_ThreadCreated(This,threadId)  \
-    ( (This)->lpVtbl -> ThreadCreated(This,threadId) )
+#define ICorProfilerCallback5_ThreadCreated(This,threadId)     \
+    ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) 
 
-#define ICorProfilerCallback5_ThreadDestroyed(This,threadId)    \
-    ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) )
+#define ICorProfilerCallback5_ThreadDestroyed(This,threadId)   \
+    ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) 
 
-#define ICorProfilerCallback5_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \
-    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) )
+#define ICorProfilerCallback5_ThreadAssignedToOSThread(This,managedThreadId,osThreadId)        \
+    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) 
 
-#define ICorProfilerCallback5_RemotingClientInvocationStarted(This) \
-    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) )
+#define ICorProfilerCallback5_RemotingClientInvocationStarted(This)    \
+    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) 
 
-#define ICorProfilerCallback5_RemotingClientSendingMessage(This,pCookie,fIsAsync)   \
-    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback5_RemotingClientSendingMessage(This,pCookie,fIsAsync)      \
+    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback5_RemotingClientReceivingReply(This,pCookie,fIsAsync)   \
-    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback5_RemotingClientReceivingReply(This,pCookie,fIsAsync)      \
+    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback5_RemotingClientInvocationFinished(This)    \
-    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) )
+#define ICorProfilerCallback5_RemotingClientInvocationFinished(This)   \
+    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) 
 
-#define ICorProfilerCallback5_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \
-    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback5_RemotingServerReceivingMessage(This,pCookie,fIsAsync)    \
+    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback5_RemotingServerInvocationStarted(This) \
-    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) )
+#define ICorProfilerCallback5_RemotingServerInvocationStarted(This)    \
+    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) 
 
-#define ICorProfilerCallback5_RemotingServerInvocationReturned(This)    \
-    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) )
+#define ICorProfilerCallback5_RemotingServerInvocationReturned(This)   \
+    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) 
 
-#define ICorProfilerCallback5_RemotingServerSendingReply(This,pCookie,fIsAsync) \
-    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback5_RemotingServerSendingReply(This,pCookie,fIsAsync)        \
+    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback5_UnmanagedToManagedTransition(This,functionId,reason)  \
-    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback5_UnmanagedToManagedTransition(This,functionId,reason)     \
+    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback5_ManagedToUnmanagedTransition(This,functionId,reason)  \
-    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback5_ManagedToUnmanagedTransition(This,functionId,reason)     \
+    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback5_RuntimeSuspendStarted(This,suspendReason) \
-    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) )
+#define ICorProfilerCallback5_RuntimeSuspendStarted(This,suspendReason)        \
+    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) 
 
-#define ICorProfilerCallback5_RuntimeSuspendFinished(This)  \
-    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) )
+#define ICorProfilerCallback5_RuntimeSuspendFinished(This)     \
+    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) 
 
-#define ICorProfilerCallback5_RuntimeSuspendAborted(This)   \
-    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) )
+#define ICorProfilerCallback5_RuntimeSuspendAborted(This)      \
+    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) 
 
-#define ICorProfilerCallback5_RuntimeResumeStarted(This)    \
-    ( (This)->lpVtbl -> RuntimeResumeStarted(This) )
+#define ICorProfilerCallback5_RuntimeResumeStarted(This)       \
+    ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) 
 
-#define ICorProfilerCallback5_RuntimeResumeFinished(This)   \
-    ( (This)->lpVtbl -> RuntimeResumeFinished(This) )
+#define ICorProfilerCallback5_RuntimeResumeFinished(This)      \
+    ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) 
 
-#define ICorProfilerCallback5_RuntimeThreadSuspended(This,threadId) \
-    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) )
+#define ICorProfilerCallback5_RuntimeThreadSuspended(This,threadId)    \
+    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) 
 
-#define ICorProfilerCallback5_RuntimeThreadResumed(This,threadId)   \
-    ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) )
+#define ICorProfilerCallback5_RuntimeThreadResumed(This,threadId)      \
+    ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) 
 
-#define ICorProfilerCallback5_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength)   \
-    ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) )
+#define ICorProfilerCallback5_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) )
+#define ICorProfilerCallback5_ObjectAllocated(This,objectId,classId)   \
+    ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) 
 
-#define ICorProfilerCallback5_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects)   \
-    ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) )
+#define ICorProfilerCallback5_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) )
+#define ICorProfilerCallback5_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) )
+#define ICorProfilerCallback5_RootReferences(This,cRootRefs,rootRefIds)        \
+    ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) 
 
-#define ICorProfilerCallback5_ExceptionThrown(This,thrownObjectId)  \
-    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) )
+#define ICorProfilerCallback5_ExceptionThrown(This,thrownObjectId)     \
+    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) 
 
-#define ICorProfilerCallback5_ExceptionSearchFunctionEnter(This,functionId) \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) )
+#define ICorProfilerCallback5_ExceptionSearchFunctionEnter(This,functionId)    \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback5_ExceptionSearchFunctionLeave(This)    \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) )
+#define ICorProfilerCallback5_ExceptionSearchFunctionLeave(This)       \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) 
 
-#define ICorProfilerCallback5_ExceptionSearchFilterEnter(This,functionId)   \
-    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) )
+#define ICorProfilerCallback5_ExceptionSearchFilterEnter(This,functionId)      \
+    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) 
 
-#define ICorProfilerCallback5_ExceptionSearchFilterLeave(This)  \
-    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) )
+#define ICorProfilerCallback5_ExceptionSearchFilterLeave(This) \
+    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) 
 
-#define ICorProfilerCallback5_ExceptionSearchCatcherFound(This,functionId)  \
-    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) )
+#define ICorProfilerCallback5_ExceptionSearchCatcherFound(This,functionId)     \
+    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) 
 
-#define ICorProfilerCallback5_ExceptionOSHandlerEnter(This,__unused)    \
-    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) )
+#define ICorProfilerCallback5_ExceptionOSHandlerEnter(This,__unused)   \
+    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) 
 
-#define ICorProfilerCallback5_ExceptionOSHandlerLeave(This,__unused)    \
-    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) )
+#define ICorProfilerCallback5_ExceptionOSHandlerLeave(This,__unused)   \
+    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) 
 
-#define ICorProfilerCallback5_ExceptionUnwindFunctionEnter(This,functionId) \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) )
+#define ICorProfilerCallback5_ExceptionUnwindFunctionEnter(This,functionId)    \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback5_ExceptionUnwindFunctionLeave(This)    \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) )
+#define ICorProfilerCallback5_ExceptionUnwindFunctionLeave(This)       \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) 
 
-#define ICorProfilerCallback5_ExceptionUnwindFinallyEnter(This,functionId)  \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) )
+#define ICorProfilerCallback5_ExceptionUnwindFinallyEnter(This,functionId)     \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) 
 
-#define ICorProfilerCallback5_ExceptionUnwindFinallyLeave(This) \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) )
+#define ICorProfilerCallback5_ExceptionUnwindFinallyLeave(This)        \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) 
 
-#define ICorProfilerCallback5_ExceptionCatcherEnter(This,functionId,objectId)   \
-    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) )
+#define ICorProfilerCallback5_ExceptionCatcherEnter(This,functionId,objectId)  \
+    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) 
 
-#define ICorProfilerCallback5_ExceptionCatcherLeave(This)   \
-    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) )
+#define ICorProfilerCallback5_ExceptionCatcherLeave(This)      \
+    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) 
 
-#define ICorProfilerCallback5_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots)    \
-    ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) )
+#define ICorProfilerCallback5_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) )
+#define ICorProfilerCallback5_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable)    \
+    ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) 
 
-#define ICorProfilerCallback5_ExceptionCLRCatcherFound(This)    \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) )
+#define ICorProfilerCallback5_ExceptionCLRCatcherFound(This)   \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) 
 
-#define ICorProfilerCallback5_ExceptionCLRCatcherExecute(This)  \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) )
+#define ICorProfilerCallback5_ExceptionCLRCatcherExecute(This) \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) 
 
 
-#define ICorProfilerCallback5_ThreadNameChanged(This,threadId,cchName,name) \
-    ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) )
+#define ICorProfilerCallback5_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) )
+#define ICorProfilerCallback5_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) )
+#define ICorProfilerCallback5_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength)       \
+    ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) 
 
-#define ICorProfilerCallback5_GarbageCollectionFinished(This)   \
-    ( (This)->lpVtbl -> GarbageCollectionFinished(This) )
+#define ICorProfilerCallback5_GarbageCollectionFinished(This)  \
+    ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) 
 
-#define ICorProfilerCallback5_FinalizeableObjectQueued(This,finalizerFlags,objectID)    \
-    ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) )
+#define ICorProfilerCallback5_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) )
+#define ICorProfilerCallback5_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) )
+#define ICorProfilerCallback5_HandleCreated(This,handleId,initialObjectId)     \
+    ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) 
 
-#define ICorProfilerCallback5_HandleDestroyed(This,handleId)    \
-    ( (This)->lpVtbl -> HandleDestroyed(This,handleId) )
+#define ICorProfilerCallback5_HandleDestroyed(This,handleId)   \
+    ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) 
 
 
-#define ICorProfilerCallback5_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData)   \
-    ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) )
+#define ICorProfilerCallback5_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData)  \
+    ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) 
 
-#define ICorProfilerCallback5_ProfilerAttachComplete(This)  \
-    ( (This)->lpVtbl -> ProfilerAttachComplete(This) )
+#define ICorProfilerCallback5_ProfilerAttachComplete(This)     \
+    ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) 
 
-#define ICorProfilerCallback5_ProfilerDetachSucceeded(This) \
-    ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) )
+#define ICorProfilerCallback5_ProfilerDetachSucceeded(This)    \
+    ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) 
 
 
-#define ICorProfilerCallback5_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock)   \
-    ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) )
+#define ICorProfilerCallback5_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) )
+#define ICorProfilerCallback5_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) )
+#define ICorProfilerCallback5_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) )
+#define ICorProfilerCallback5_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) )
+#define ICorProfilerCallback5_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) )
+#define ICorProfilerCallback5_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) )
+#define ICorProfilerCallback5_ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds)      \
+    ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerCallback5_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerCallback5_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerCallback6_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerCallback6Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerCallback6 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerCallback6 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerCallback6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Initialize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
+        HRESULT ( STDMETHODCALLTYPE *Initialize )( 
             ICorProfilerCallback6 * This,
             /* [in] */ IUnknown *pICorProfilerInfoUnk);
-
-        HRESULT ( STDMETHODCALLTYPE *Shutdown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
+        HRESULT ( STDMETHODCALLTYPE *Shutdown )( 
             ICorProfilerCallback6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( 
             ICorProfilerCallback6 * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( 
             ICorProfilerCallback6 * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( 
             ICorProfilerCallback6 * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( 
             ICorProfilerCallback6 * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( 
             ICorProfilerCallback6 * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( 
             ICorProfilerCallback6 * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( 
             ICorProfilerCallback6 * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( 
             ICorProfilerCallback6 * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
+        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ AssemblyID AssemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( 
             ICorProfilerCallback6 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( 
             ICorProfilerCallback6 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( 
             ICorProfilerCallback6 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( 
             ICorProfilerCallback6 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ BOOL *pbUseCachedFunction);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( 
             ICorProfilerCallback6 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_JIT_CACHE result);
-
-        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
+        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( 
             ICorProfilerCallback6 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITInlining )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
+        HRESULT ( STDMETHODCALLTYPE *JITInlining )( 
             ICorProfilerCallback6 * This,
             /* [in] */ FunctionID callerId,
             /* [in] */ FunctionID calleeId,
             /* [out] */ BOOL *pfShouldInline);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
+        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
+        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ThreadID managedThreadId,
             /* [in] */ DWORD osThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( 
             ICorProfilerCallback6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( 
             ICorProfilerCallback6 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( 
             ICorProfilerCallback6 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( 
             ICorProfilerCallback6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( 
             ICorProfilerCallback6 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( 
             ICorProfilerCallback6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( 
             ICorProfilerCallback6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( 
             ICorProfilerCallback6 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( 
             ICorProfilerCallback6 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( 
             ICorProfilerCallback6 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( 
             ICorProfilerCallback6 * This,
             /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( 
             ICorProfilerCallback6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( 
             ICorProfilerCallback6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( 
             ICorProfilerCallback6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( 
             ICorProfilerCallback6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *MovedReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
+        HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
+        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ULONG cClassCount,
             /* [size_is][in] */ ClassID classIds[  ],
             /* [size_is][in] */ ULONG cObjects[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
+        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId,
             /* [in] */ ULONG cObjectRefs,
             /* [size_is][in] */ ObjectID objectRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
+        HRESULT ( STDMETHODCALLTYPE *RootReferences )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ULONG cRootRefs,
             /* [size_is][in] */ ObjectID rootRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ObjectID thrownObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( 
             ICorProfilerCallback6 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( 
             ICorProfilerCallback6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( 
             ICorProfilerCallback6 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( 
             ICorProfilerCallback6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( 
             ICorProfilerCallback6 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( 
             ICorProfilerCallback6 * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( 
             ICorProfilerCallback6 * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( 
             ICorProfilerCallback6 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( 
             ICorProfilerCallback6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( 
             ICorProfilerCallback6 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( 
             ICorProfilerCallback6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( 
             ICorProfilerCallback6 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ObjectID objectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( 
             ICorProfilerCallback6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable,
             /* [in] */ ULONG cSlots);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( 
             ICorProfilerCallback6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( 
             ICorProfilerCallback6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted)
+        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( 
             ICorProfilerCallback6 * This,
             /* [in] */ int cGenerations,
             /* [size_is][in] */ BOOL generationCollected[  ],
             /* [in] */ COR_PRF_GC_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences)
+        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ULONG cSurvivingObjectIDRanges,
             /* [size_is][in] */ ObjectID objectIDRangeStart[  ],
             /* [size_is][in] */ ULONG cObjectIDRangeLength[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished)
+        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( 
             ICorProfilerCallback6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued)
+        HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( 
             ICorProfilerCallback6 * This,
             /* [in] */ DWORD finalizerFlags,
             /* [in] */ ObjectID objectID);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated)
+        HRESULT ( STDMETHODCALLTYPE *HandleCreated )( 
             ICorProfilerCallback6 * This,
             /* [in] */ GCHandleID handleId,
             /* [in] */ ObjectID initialObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( 
             ICorProfilerCallback6 * This,
             /* [in] */ GCHandleID handleId);
-
-        HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach)
+        HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( 
             ICorProfilerCallback6 * This,
             /* [in] */ IUnknown *pCorProfilerInfoUnk,
             /* [in] */ void *pvClientData,
             /* [in] */ UINT cbClientData);
-
-        HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete)
+        HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( 
             ICorProfilerCallback6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded)
+        HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( 
             ICorProfilerCallback6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( 
             ICorProfilerCallback6 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ReJITID rejitId,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters)
+        HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [in] */ ICorProfilerFunctionControl *pFunctionControl);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( 
             ICorProfilerCallback6 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ReJITID rejitId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITError )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError)
+        HRESULT ( STDMETHODCALLTYPE *ReJITError )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2)
+        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( 
             ICorProfilerCallback6 * This,
             /* [in] */ ULONG cSurvivingObjectIDRanges,
             /* [size_is][in] */ ObjectID objectIDRangeStart[  ],
             /* [size_is][in] */ SIZE_T cObjectIDRangeLength[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback5, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback6, GetAssemblyReferences)
+        HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( 
             ICorProfilerCallback6 * This,
             /* [string][in] */ const WCHAR *wszAssemblyPath,
             /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider);
-
+        
         END_INTERFACE
     } ICorProfilerCallback6Vtbl;
 
@@ -4929,750 +5451,842 @@ 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) )
+#define ICorProfilerCallback6_QueryInterface(This,riid,ppvObject)      \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerCallback6_AddRef(This)  \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerCallback6_AddRef(This)     \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerCallback6_Release(This) \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerCallback6_Release(This)    \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerCallback6_Initialize(This,pICorProfilerInfoUnk) \
-    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) )
+#define ICorProfilerCallback6_Initialize(This,pICorProfilerInfoUnk)    \
+    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) 
 
-#define ICorProfilerCallback6_Shutdown(This)    \
-    ( (This)->lpVtbl -> Shutdown(This) )
+#define ICorProfilerCallback6_Shutdown(This)   \
+    ( (This)->lpVtbl -> Shutdown(This) ) 
 
-#define ICorProfilerCallback6_AppDomainCreationStarted(This,appDomainId)    \
-    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) )
+#define ICorProfilerCallback6_AppDomainCreationStarted(This,appDomainId)       \
+    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback6_AppDomainCreationFinished(This,appDomainId,hrStatus)  \
-    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback6_AppDomainCreationFinished(This,appDomainId,hrStatus)     \
+    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback6_AppDomainShutdownStarted(This,appDomainId)    \
-    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) )
+#define ICorProfilerCallback6_AppDomainShutdownStarted(This,appDomainId)       \
+    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback6_AppDomainShutdownFinished(This,appDomainId,hrStatus)  \
-    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback6_AppDomainShutdownFinished(This,appDomainId,hrStatus)     \
+    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback6_AssemblyLoadStarted(This,assemblyId)  \
-    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) )
+#define ICorProfilerCallback6_AssemblyLoadStarted(This,assemblyId)     \
+    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback6_AssemblyLoadFinished(This,assemblyId,hrStatus)    \
-    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback6_AssemblyLoadFinished(This,assemblyId,hrStatus)   \
+    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback6_AssemblyUnloadStarted(This,assemblyId)    \
-    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) )
+#define ICorProfilerCallback6_AssemblyUnloadStarted(This,assemblyId)   \
+    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback6_AssemblyUnloadFinished(This,assemblyId,hrStatus)  \
-    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback6_AssemblyUnloadFinished(This,assemblyId,hrStatus) \
+    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback6_ModuleLoadStarted(This,moduleId)  \
-    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) )
+#define ICorProfilerCallback6_ModuleLoadStarted(This,moduleId) \
+    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback6_ModuleLoadFinished(This,moduleId,hrStatus)    \
-    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback6_ModuleLoadFinished(This,moduleId,hrStatus)       \
+    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback6_ModuleUnloadStarted(This,moduleId)    \
-    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) )
+#define ICorProfilerCallback6_ModuleUnloadStarted(This,moduleId)       \
+    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback6_ModuleUnloadFinished(This,moduleId,hrStatus)  \
-    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback6_ModuleUnloadFinished(This,moduleId,hrStatus)     \
+    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback6_ModuleAttachedToAssembly(This,moduleId,AssemblyId)    \
-    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) )
+#define ICorProfilerCallback6_ModuleAttachedToAssembly(This,moduleId,AssemblyId)       \
+    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) 
 
-#define ICorProfilerCallback6_ClassLoadStarted(This,classId)    \
-    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) )
+#define ICorProfilerCallback6_ClassLoadStarted(This,classId)   \
+    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) 
 
-#define ICorProfilerCallback6_ClassLoadFinished(This,classId,hrStatus)  \
-    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback6_ClassLoadFinished(This,classId,hrStatus) \
+    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback6_ClassUnloadStarted(This,classId)  \
-    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) )
+#define ICorProfilerCallback6_ClassUnloadStarted(This,classId) \
+    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) 
 
-#define ICorProfilerCallback6_ClassUnloadFinished(This,classId,hrStatus)    \
-    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback6_ClassUnloadFinished(This,classId,hrStatus)       \
+    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback6_FunctionUnloadStarted(This,functionId)    \
-    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) )
+#define ICorProfilerCallback6_FunctionUnloadStarted(This,functionId)   \
+    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) 
 
-#define ICorProfilerCallback6_JITCompilationStarted(This,functionId,fIsSafeToBlock) \
-    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) )
+#define ICorProfilerCallback6_JITCompilationStarted(This,functionId,fIsSafeToBlock)    \
+    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback6_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)   \
-    ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) )
+#define ICorProfilerCallback6_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)  \
+    ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback6_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)   \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) )
+#define ICorProfilerCallback6_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)      \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) 
 
-#define ICorProfilerCallback6_JITCachedFunctionSearchFinished(This,functionId,result)   \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) )
+#define ICorProfilerCallback6_JITCachedFunctionSearchFinished(This,functionId,result)  \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) 
 
-#define ICorProfilerCallback6_JITFunctionPitched(This,functionId)   \
-    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) )
+#define ICorProfilerCallback6_JITFunctionPitched(This,functionId)      \
+    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) 
 
-#define ICorProfilerCallback6_JITInlining(This,callerId,calleeId,pfShouldInline)    \
-    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) )
+#define ICorProfilerCallback6_JITInlining(This,callerId,calleeId,pfShouldInline)       \
+    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) 
 
-#define ICorProfilerCallback6_ThreadCreated(This,threadId)  \
-    ( (This)->lpVtbl -> ThreadCreated(This,threadId) )
+#define ICorProfilerCallback6_ThreadCreated(This,threadId)     \
+    ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) 
 
-#define ICorProfilerCallback6_ThreadDestroyed(This,threadId)    \
-    ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) )
+#define ICorProfilerCallback6_ThreadDestroyed(This,threadId)   \
+    ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) 
 
-#define ICorProfilerCallback6_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \
-    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) )
+#define ICorProfilerCallback6_ThreadAssignedToOSThread(This,managedThreadId,osThreadId)        \
+    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) 
 
-#define ICorProfilerCallback6_RemotingClientInvocationStarted(This) \
-    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) )
+#define ICorProfilerCallback6_RemotingClientInvocationStarted(This)    \
+    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) 
 
-#define ICorProfilerCallback6_RemotingClientSendingMessage(This,pCookie,fIsAsync)   \
-    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback6_RemotingClientSendingMessage(This,pCookie,fIsAsync)      \
+    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback6_RemotingClientReceivingReply(This,pCookie,fIsAsync)   \
-    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback6_RemotingClientReceivingReply(This,pCookie,fIsAsync)      \
+    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback6_RemotingClientInvocationFinished(This)    \
-    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) )
+#define ICorProfilerCallback6_RemotingClientInvocationFinished(This)   \
+    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) 
 
-#define ICorProfilerCallback6_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \
-    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback6_RemotingServerReceivingMessage(This,pCookie,fIsAsync)    \
+    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback6_RemotingServerInvocationStarted(This) \
-    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) )
+#define ICorProfilerCallback6_RemotingServerInvocationStarted(This)    \
+    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) 
 
-#define ICorProfilerCallback6_RemotingServerInvocationReturned(This)    \
-    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) )
+#define ICorProfilerCallback6_RemotingServerInvocationReturned(This)   \
+    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) 
 
-#define ICorProfilerCallback6_RemotingServerSendingReply(This,pCookie,fIsAsync) \
-    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback6_RemotingServerSendingReply(This,pCookie,fIsAsync)        \
+    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback6_UnmanagedToManagedTransition(This,functionId,reason)  \
-    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback6_UnmanagedToManagedTransition(This,functionId,reason)     \
+    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback6_ManagedToUnmanagedTransition(This,functionId,reason)  \
-    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback6_ManagedToUnmanagedTransition(This,functionId,reason)     \
+    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback6_RuntimeSuspendStarted(This,suspendReason) \
-    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) )
+#define ICorProfilerCallback6_RuntimeSuspendStarted(This,suspendReason)        \
+    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) 
 
-#define ICorProfilerCallback6_RuntimeSuspendFinished(This)  \
-    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) )
+#define ICorProfilerCallback6_RuntimeSuspendFinished(This)     \
+    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) 
 
-#define ICorProfilerCallback6_RuntimeSuspendAborted(This)   \
-    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) )
+#define ICorProfilerCallback6_RuntimeSuspendAborted(This)      \
+    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) 
 
-#define ICorProfilerCallback6_RuntimeResumeStarted(This)    \
-    ( (This)->lpVtbl -> RuntimeResumeStarted(This) )
+#define ICorProfilerCallback6_RuntimeResumeStarted(This)       \
+    ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) 
 
-#define ICorProfilerCallback6_RuntimeResumeFinished(This)   \
-    ( (This)->lpVtbl -> RuntimeResumeFinished(This) )
+#define ICorProfilerCallback6_RuntimeResumeFinished(This)      \
+    ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) 
 
-#define ICorProfilerCallback6_RuntimeThreadSuspended(This,threadId) \
-    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) )
+#define ICorProfilerCallback6_RuntimeThreadSuspended(This,threadId)    \
+    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) 
 
-#define ICorProfilerCallback6_RuntimeThreadResumed(This,threadId)   \
-    ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) )
+#define ICorProfilerCallback6_RuntimeThreadResumed(This,threadId)      \
+    ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) 
 
-#define ICorProfilerCallback6_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength)   \
-    ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) )
+#define ICorProfilerCallback6_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) )
+#define ICorProfilerCallback6_ObjectAllocated(This,objectId,classId)   \
+    ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) 
 
-#define ICorProfilerCallback6_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects)   \
-    ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) )
+#define ICorProfilerCallback6_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) )
+#define ICorProfilerCallback6_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) )
+#define ICorProfilerCallback6_RootReferences(This,cRootRefs,rootRefIds)        \
+    ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) 
 
-#define ICorProfilerCallback6_ExceptionThrown(This,thrownObjectId)  \
-    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) )
+#define ICorProfilerCallback6_ExceptionThrown(This,thrownObjectId)     \
+    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) 
 
-#define ICorProfilerCallback6_ExceptionSearchFunctionEnter(This,functionId) \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) )
+#define ICorProfilerCallback6_ExceptionSearchFunctionEnter(This,functionId)    \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback6_ExceptionSearchFunctionLeave(This)    \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) )
+#define ICorProfilerCallback6_ExceptionSearchFunctionLeave(This)       \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) 
 
-#define ICorProfilerCallback6_ExceptionSearchFilterEnter(This,functionId)   \
-    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) )
+#define ICorProfilerCallback6_ExceptionSearchFilterEnter(This,functionId)      \
+    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) 
 
-#define ICorProfilerCallback6_ExceptionSearchFilterLeave(This)  \
-    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) )
+#define ICorProfilerCallback6_ExceptionSearchFilterLeave(This) \
+    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) 
 
-#define ICorProfilerCallback6_ExceptionSearchCatcherFound(This,functionId)  \
-    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) )
+#define ICorProfilerCallback6_ExceptionSearchCatcherFound(This,functionId)     \
+    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) 
 
-#define ICorProfilerCallback6_ExceptionOSHandlerEnter(This,__unused)    \
-    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) )
+#define ICorProfilerCallback6_ExceptionOSHandlerEnter(This,__unused)   \
+    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) 
 
-#define ICorProfilerCallback6_ExceptionOSHandlerLeave(This,__unused)    \
-    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) )
+#define ICorProfilerCallback6_ExceptionOSHandlerLeave(This,__unused)   \
+    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) 
 
-#define ICorProfilerCallback6_ExceptionUnwindFunctionEnter(This,functionId) \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) )
+#define ICorProfilerCallback6_ExceptionUnwindFunctionEnter(This,functionId)    \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback6_ExceptionUnwindFunctionLeave(This)    \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) )
+#define ICorProfilerCallback6_ExceptionUnwindFunctionLeave(This)       \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) 
 
-#define ICorProfilerCallback6_ExceptionUnwindFinallyEnter(This,functionId)  \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) )
+#define ICorProfilerCallback6_ExceptionUnwindFinallyEnter(This,functionId)     \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) 
 
-#define ICorProfilerCallback6_ExceptionUnwindFinallyLeave(This) \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) )
+#define ICorProfilerCallback6_ExceptionUnwindFinallyLeave(This)        \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) 
 
-#define ICorProfilerCallback6_ExceptionCatcherEnter(This,functionId,objectId)   \
-    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) )
+#define ICorProfilerCallback6_ExceptionCatcherEnter(This,functionId,objectId)  \
+    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) 
 
-#define ICorProfilerCallback6_ExceptionCatcherLeave(This)   \
-    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) )
+#define ICorProfilerCallback6_ExceptionCatcherLeave(This)      \
+    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) 
 
-#define ICorProfilerCallback6_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots)    \
-    ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) )
+#define ICorProfilerCallback6_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) )
+#define ICorProfilerCallback6_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable)    \
+    ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) 
 
-#define ICorProfilerCallback6_ExceptionCLRCatcherFound(This)    \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) )
+#define ICorProfilerCallback6_ExceptionCLRCatcherFound(This)   \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) 
 
-#define ICorProfilerCallback6_ExceptionCLRCatcherExecute(This)  \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) )
+#define ICorProfilerCallback6_ExceptionCLRCatcherExecute(This) \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) 
 
 
-#define ICorProfilerCallback6_ThreadNameChanged(This,threadId,cchName,name) \
-    ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) )
+#define ICorProfilerCallback6_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) )
+#define ICorProfilerCallback6_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) )
+#define ICorProfilerCallback6_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength)       \
+    ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) 
 
-#define ICorProfilerCallback6_GarbageCollectionFinished(This)   \
-    ( (This)->lpVtbl -> GarbageCollectionFinished(This) )
+#define ICorProfilerCallback6_GarbageCollectionFinished(This)  \
+    ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) 
 
-#define ICorProfilerCallback6_FinalizeableObjectQueued(This,finalizerFlags,objectID)    \
-    ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) )
+#define ICorProfilerCallback6_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) )
+#define ICorProfilerCallback6_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) )
+#define ICorProfilerCallback6_HandleCreated(This,handleId,initialObjectId)     \
+    ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) 
 
-#define ICorProfilerCallback6_HandleDestroyed(This,handleId)    \
-    ( (This)->lpVtbl -> HandleDestroyed(This,handleId) )
+#define ICorProfilerCallback6_HandleDestroyed(This,handleId)   \
+    ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) 
 
 
-#define ICorProfilerCallback6_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData)   \
-    ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) )
+#define ICorProfilerCallback6_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData)  \
+    ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) 
 
-#define ICorProfilerCallback6_ProfilerAttachComplete(This)  \
-    ( (This)->lpVtbl -> ProfilerAttachComplete(This) )
+#define ICorProfilerCallback6_ProfilerAttachComplete(This)     \
+    ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) 
 
-#define ICorProfilerCallback6_ProfilerDetachSucceeded(This) \
-    ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) )
+#define ICorProfilerCallback6_ProfilerDetachSucceeded(This)    \
+    ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) 
 
 
-#define ICorProfilerCallback6_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock)   \
-    ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) )
+#define ICorProfilerCallback6_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) )
+#define ICorProfilerCallback6_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) )
+#define ICorProfilerCallback6_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) )
+#define ICorProfilerCallback6_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) )
+#define ICorProfilerCallback6_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) )
+#define ICorProfilerCallback6_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) )
+#define ICorProfilerCallback6_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) )
+#define ICorProfilerCallback6_GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider)      \
+    ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerCallback6_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerCallback6_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerCallback7_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerCallback7Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerCallback7 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerCallback7 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerCallback7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Initialize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
+        HRESULT ( STDMETHODCALLTYPE *Initialize )( 
             ICorProfilerCallback7 * This,
             /* [in] */ IUnknown *pICorProfilerInfoUnk);
-
-        HRESULT ( STDMETHODCALLTYPE *Shutdown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
+        HRESULT ( STDMETHODCALLTYPE *Shutdown )( 
             ICorProfilerCallback7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( 
             ICorProfilerCallback7 * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( 
             ICorProfilerCallback7 * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( 
             ICorProfilerCallback7 * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( 
             ICorProfilerCallback7 * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( 
             ICorProfilerCallback7 * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( 
             ICorProfilerCallback7 * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( 
             ICorProfilerCallback7 * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( 
             ICorProfilerCallback7 * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
+        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ AssemblyID AssemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( 
             ICorProfilerCallback7 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( 
             ICorProfilerCallback7 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( 
             ICorProfilerCallback7 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( 
             ICorProfilerCallback7 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ BOOL *pbUseCachedFunction);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( 
             ICorProfilerCallback7 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_JIT_CACHE result);
-
-        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
+        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( 
             ICorProfilerCallback7 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITInlining )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
+        HRESULT ( STDMETHODCALLTYPE *JITInlining )( 
             ICorProfilerCallback7 * This,
             /* [in] */ FunctionID callerId,
             /* [in] */ FunctionID calleeId,
             /* [out] */ BOOL *pfShouldInline);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
+        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
+        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ThreadID managedThreadId,
             /* [in] */ DWORD osThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( 
             ICorProfilerCallback7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( 
             ICorProfilerCallback7 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( 
             ICorProfilerCallback7 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( 
             ICorProfilerCallback7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( 
             ICorProfilerCallback7 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( 
             ICorProfilerCallback7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( 
             ICorProfilerCallback7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( 
             ICorProfilerCallback7 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( 
             ICorProfilerCallback7 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( 
             ICorProfilerCallback7 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( 
             ICorProfilerCallback7 * This,
             /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( 
             ICorProfilerCallback7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( 
             ICorProfilerCallback7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( 
             ICorProfilerCallback7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( 
             ICorProfilerCallback7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *MovedReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
+        HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
+        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ULONG cClassCount,
             /* [size_is][in] */ ClassID classIds[  ],
             /* [size_is][in] */ ULONG cObjects[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
+        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId,
             /* [in] */ ULONG cObjectRefs,
             /* [size_is][in] */ ObjectID objectRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
+        HRESULT ( STDMETHODCALLTYPE *RootReferences )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ULONG cRootRefs,
             /* [size_is][in] */ ObjectID rootRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ObjectID thrownObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( 
             ICorProfilerCallback7 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( 
             ICorProfilerCallback7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( 
             ICorProfilerCallback7 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( 
             ICorProfilerCallback7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( 
             ICorProfilerCallback7 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( 
             ICorProfilerCallback7 * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( 
             ICorProfilerCallback7 * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( 
             ICorProfilerCallback7 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( 
             ICorProfilerCallback7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( 
             ICorProfilerCallback7 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( 
             ICorProfilerCallback7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( 
             ICorProfilerCallback7 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ObjectID objectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( 
             ICorProfilerCallback7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable,
             /* [in] */ ULONG cSlots);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( 
             ICorProfilerCallback7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( 
             ICorProfilerCallback7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted)
+        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( 
             ICorProfilerCallback7 * This,
             /* [in] */ int cGenerations,
             /* [size_is][in] */ BOOL generationCollected[  ],
             /* [in] */ COR_PRF_GC_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences)
+        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ULONG cSurvivingObjectIDRanges,
             /* [size_is][in] */ ObjectID objectIDRangeStart[  ],
             /* [size_is][in] */ ULONG cObjectIDRangeLength[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished)
+        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( 
             ICorProfilerCallback7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued)
+        HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( 
             ICorProfilerCallback7 * This,
             /* [in] */ DWORD finalizerFlags,
             /* [in] */ ObjectID objectID);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated)
+        HRESULT ( STDMETHODCALLTYPE *HandleCreated )( 
             ICorProfilerCallback7 * This,
             /* [in] */ GCHandleID handleId,
             /* [in] */ ObjectID initialObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( 
             ICorProfilerCallback7 * This,
             /* [in] */ GCHandleID handleId);
-
-        HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach)
+        HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( 
             ICorProfilerCallback7 * This,
             /* [in] */ IUnknown *pCorProfilerInfoUnk,
             /* [in] */ void *pvClientData,
             /* [in] */ UINT cbClientData);
-
-        HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete)
+        HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( 
             ICorProfilerCallback7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded)
+        HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( 
             ICorProfilerCallback7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( 
             ICorProfilerCallback7 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ReJITID rejitId,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters)
+        HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [in] */ ICorProfilerFunctionControl *pFunctionControl);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( 
             ICorProfilerCallback7 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ReJITID rejitId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITError )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError)
+        HRESULT ( STDMETHODCALLTYPE *ReJITError )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2)
+        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( 
             ICorProfilerCallback7 * This,
             /* [in] */ ULONG cSurvivingObjectIDRanges,
             /* [size_is][in] */ ObjectID objectIDRangeStart[  ],
             /* [size_is][in] */ SIZE_T cObjectIDRangeLength[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback5, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback6, GetAssemblyReferences)
+        HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( 
             ICorProfilerCallback7 * This,
             /* [string][in] */ const WCHAR *wszAssemblyPath,
             /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback7, ModuleInMemorySymbolsUpdated)
+        HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( 
             ICorProfilerCallback7 * This,
             ModuleID moduleId);
-
+        
         END_INTERFACE
     } ICorProfilerCallback7Vtbl;
 
@@ -5681,775 +6295,869 @@ 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) )
+#define ICorProfilerCallback7_QueryInterface(This,riid,ppvObject)      \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerCallback7_AddRef(This)  \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerCallback7_AddRef(This)     \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerCallback7_Release(This) \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerCallback7_Release(This)    \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerCallback7_Initialize(This,pICorProfilerInfoUnk) \
-    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) )
+#define ICorProfilerCallback7_Initialize(This,pICorProfilerInfoUnk)    \
+    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) 
 
-#define ICorProfilerCallback7_Shutdown(This)    \
-    ( (This)->lpVtbl -> Shutdown(This) )
+#define ICorProfilerCallback7_Shutdown(This)   \
+    ( (This)->lpVtbl -> Shutdown(This) ) 
 
-#define ICorProfilerCallback7_AppDomainCreationStarted(This,appDomainId)    \
-    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) )
+#define ICorProfilerCallback7_AppDomainCreationStarted(This,appDomainId)       \
+    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback7_AppDomainCreationFinished(This,appDomainId,hrStatus)  \
-    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback7_AppDomainCreationFinished(This,appDomainId,hrStatus)     \
+    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback7_AppDomainShutdownStarted(This,appDomainId)    \
-    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) )
+#define ICorProfilerCallback7_AppDomainShutdownStarted(This,appDomainId)       \
+    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback7_AppDomainShutdownFinished(This,appDomainId,hrStatus)  \
-    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback7_AppDomainShutdownFinished(This,appDomainId,hrStatus)     \
+    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback7_AssemblyLoadStarted(This,assemblyId)  \
-    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) )
+#define ICorProfilerCallback7_AssemblyLoadStarted(This,assemblyId)     \
+    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback7_AssemblyLoadFinished(This,assemblyId,hrStatus)    \
-    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback7_AssemblyLoadFinished(This,assemblyId,hrStatus)   \
+    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback7_AssemblyUnloadStarted(This,assemblyId)    \
-    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) )
+#define ICorProfilerCallback7_AssemblyUnloadStarted(This,assemblyId)   \
+    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback7_AssemblyUnloadFinished(This,assemblyId,hrStatus)  \
-    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback7_AssemblyUnloadFinished(This,assemblyId,hrStatus) \
+    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback7_ModuleLoadStarted(This,moduleId)  \
-    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) )
+#define ICorProfilerCallback7_ModuleLoadStarted(This,moduleId) \
+    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback7_ModuleLoadFinished(This,moduleId,hrStatus)    \
-    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback7_ModuleLoadFinished(This,moduleId,hrStatus)       \
+    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback7_ModuleUnloadStarted(This,moduleId)    \
-    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) )
+#define ICorProfilerCallback7_ModuleUnloadStarted(This,moduleId)       \
+    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback7_ModuleUnloadFinished(This,moduleId,hrStatus)  \
-    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback7_ModuleUnloadFinished(This,moduleId,hrStatus)     \
+    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback7_ModuleAttachedToAssembly(This,moduleId,AssemblyId)    \
-    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) )
+#define ICorProfilerCallback7_ModuleAttachedToAssembly(This,moduleId,AssemblyId)       \
+    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) 
 
-#define ICorProfilerCallback7_ClassLoadStarted(This,classId)    \
-    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) )
+#define ICorProfilerCallback7_ClassLoadStarted(This,classId)   \
+    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) 
 
-#define ICorProfilerCallback7_ClassLoadFinished(This,classId,hrStatus)  \
-    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback7_ClassLoadFinished(This,classId,hrStatus) \
+    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback7_ClassUnloadStarted(This,classId)  \
-    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) )
+#define ICorProfilerCallback7_ClassUnloadStarted(This,classId) \
+    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) 
 
-#define ICorProfilerCallback7_ClassUnloadFinished(This,classId,hrStatus)    \
-    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback7_ClassUnloadFinished(This,classId,hrStatus)       \
+    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback7_FunctionUnloadStarted(This,functionId)    \
-    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) )
+#define ICorProfilerCallback7_FunctionUnloadStarted(This,functionId)   \
+    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) 
 
-#define ICorProfilerCallback7_JITCompilationStarted(This,functionId,fIsSafeToBlock) \
-    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) )
+#define ICorProfilerCallback7_JITCompilationStarted(This,functionId,fIsSafeToBlock)    \
+    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback7_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)   \
-    ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) )
+#define ICorProfilerCallback7_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)  \
+    ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback7_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)   \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) )
+#define ICorProfilerCallback7_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)      \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) 
 
-#define ICorProfilerCallback7_JITCachedFunctionSearchFinished(This,functionId,result)   \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) )
+#define ICorProfilerCallback7_JITCachedFunctionSearchFinished(This,functionId,result)  \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) 
 
-#define ICorProfilerCallback7_JITFunctionPitched(This,functionId)   \
-    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) )
+#define ICorProfilerCallback7_JITFunctionPitched(This,functionId)      \
+    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) 
 
-#define ICorProfilerCallback7_JITInlining(This,callerId,calleeId,pfShouldInline)    \
-    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) )
+#define ICorProfilerCallback7_JITInlining(This,callerId,calleeId,pfShouldInline)       \
+    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) 
 
-#define ICorProfilerCallback7_ThreadCreated(This,threadId)  \
-    ( (This)->lpVtbl -> ThreadCreated(This,threadId) )
+#define ICorProfilerCallback7_ThreadCreated(This,threadId)     \
+    ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) 
 
-#define ICorProfilerCallback7_ThreadDestroyed(This,threadId)    \
-    ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) )
+#define ICorProfilerCallback7_ThreadDestroyed(This,threadId)   \
+    ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) 
 
-#define ICorProfilerCallback7_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \
-    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) )
+#define ICorProfilerCallback7_ThreadAssignedToOSThread(This,managedThreadId,osThreadId)        \
+    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) 
 
-#define ICorProfilerCallback7_RemotingClientInvocationStarted(This) \
-    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) )
+#define ICorProfilerCallback7_RemotingClientInvocationStarted(This)    \
+    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) 
 
-#define ICorProfilerCallback7_RemotingClientSendingMessage(This,pCookie,fIsAsync)   \
-    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback7_RemotingClientSendingMessage(This,pCookie,fIsAsync)      \
+    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback7_RemotingClientReceivingReply(This,pCookie,fIsAsync)   \
-    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback7_RemotingClientReceivingReply(This,pCookie,fIsAsync)      \
+    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback7_RemotingClientInvocationFinished(This)    \
-    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) )
+#define ICorProfilerCallback7_RemotingClientInvocationFinished(This)   \
+    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) 
 
-#define ICorProfilerCallback7_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \
-    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback7_RemotingServerReceivingMessage(This,pCookie,fIsAsync)    \
+    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback7_RemotingServerInvocationStarted(This) \
-    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) )
+#define ICorProfilerCallback7_RemotingServerInvocationStarted(This)    \
+    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) 
 
-#define ICorProfilerCallback7_RemotingServerInvocationReturned(This)    \
-    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) )
+#define ICorProfilerCallback7_RemotingServerInvocationReturned(This)   \
+    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) 
 
-#define ICorProfilerCallback7_RemotingServerSendingReply(This,pCookie,fIsAsync) \
-    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback7_RemotingServerSendingReply(This,pCookie,fIsAsync)        \
+    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback7_UnmanagedToManagedTransition(This,functionId,reason)  \
-    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback7_UnmanagedToManagedTransition(This,functionId,reason)     \
+    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback7_ManagedToUnmanagedTransition(This,functionId,reason)  \
-    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback7_ManagedToUnmanagedTransition(This,functionId,reason)     \
+    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback7_RuntimeSuspendStarted(This,suspendReason) \
-    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) )
+#define ICorProfilerCallback7_RuntimeSuspendStarted(This,suspendReason)        \
+    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) 
 
-#define ICorProfilerCallback7_RuntimeSuspendFinished(This)  \
-    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) )
+#define ICorProfilerCallback7_RuntimeSuspendFinished(This)     \
+    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) 
 
-#define ICorProfilerCallback7_RuntimeSuspendAborted(This)   \
-    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) )
+#define ICorProfilerCallback7_RuntimeSuspendAborted(This)      \
+    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) 
 
-#define ICorProfilerCallback7_RuntimeResumeStarted(This)    \
-    ( (This)->lpVtbl -> RuntimeResumeStarted(This) )
+#define ICorProfilerCallback7_RuntimeResumeStarted(This)       \
+    ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) 
 
-#define ICorProfilerCallback7_RuntimeResumeFinished(This)   \
-    ( (This)->lpVtbl -> RuntimeResumeFinished(This) )
+#define ICorProfilerCallback7_RuntimeResumeFinished(This)      \
+    ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) 
 
-#define ICorProfilerCallback7_RuntimeThreadSuspended(This,threadId) \
-    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) )
+#define ICorProfilerCallback7_RuntimeThreadSuspended(This,threadId)    \
+    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) 
 
-#define ICorProfilerCallback7_RuntimeThreadResumed(This,threadId)   \
-    ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) )
+#define ICorProfilerCallback7_RuntimeThreadResumed(This,threadId)      \
+    ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) 
 
-#define ICorProfilerCallback7_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength)   \
-    ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) )
+#define ICorProfilerCallback7_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) )
+#define ICorProfilerCallback7_ObjectAllocated(This,objectId,classId)   \
+    ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) 
 
-#define ICorProfilerCallback7_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects)   \
-    ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) )
+#define ICorProfilerCallback7_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) )
+#define ICorProfilerCallback7_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) )
+#define ICorProfilerCallback7_RootReferences(This,cRootRefs,rootRefIds)        \
+    ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) 
 
-#define ICorProfilerCallback7_ExceptionThrown(This,thrownObjectId)  \
-    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) )
+#define ICorProfilerCallback7_ExceptionThrown(This,thrownObjectId)     \
+    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) 
 
-#define ICorProfilerCallback7_ExceptionSearchFunctionEnter(This,functionId) \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) )
+#define ICorProfilerCallback7_ExceptionSearchFunctionEnter(This,functionId)    \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback7_ExceptionSearchFunctionLeave(This)    \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) )
+#define ICorProfilerCallback7_ExceptionSearchFunctionLeave(This)       \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) 
 
-#define ICorProfilerCallback7_ExceptionSearchFilterEnter(This,functionId)   \
-    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) )
+#define ICorProfilerCallback7_ExceptionSearchFilterEnter(This,functionId)      \
+    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) 
 
-#define ICorProfilerCallback7_ExceptionSearchFilterLeave(This)  \
-    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) )
+#define ICorProfilerCallback7_ExceptionSearchFilterLeave(This) \
+    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) 
 
-#define ICorProfilerCallback7_ExceptionSearchCatcherFound(This,functionId)  \
-    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) )
+#define ICorProfilerCallback7_ExceptionSearchCatcherFound(This,functionId)     \
+    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) 
 
-#define ICorProfilerCallback7_ExceptionOSHandlerEnter(This,__unused)    \
-    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) )
+#define ICorProfilerCallback7_ExceptionOSHandlerEnter(This,__unused)   \
+    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) 
 
-#define ICorProfilerCallback7_ExceptionOSHandlerLeave(This,__unused)    \
-    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) )
+#define ICorProfilerCallback7_ExceptionOSHandlerLeave(This,__unused)   \
+    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) 
 
-#define ICorProfilerCallback7_ExceptionUnwindFunctionEnter(This,functionId) \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) )
+#define ICorProfilerCallback7_ExceptionUnwindFunctionEnter(This,functionId)    \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback7_ExceptionUnwindFunctionLeave(This)    \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) )
+#define ICorProfilerCallback7_ExceptionUnwindFunctionLeave(This)       \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) 
 
-#define ICorProfilerCallback7_ExceptionUnwindFinallyEnter(This,functionId)  \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) )
+#define ICorProfilerCallback7_ExceptionUnwindFinallyEnter(This,functionId)     \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) 
 
-#define ICorProfilerCallback7_ExceptionUnwindFinallyLeave(This) \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) )
+#define ICorProfilerCallback7_ExceptionUnwindFinallyLeave(This)        \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) 
 
-#define ICorProfilerCallback7_ExceptionCatcherEnter(This,functionId,objectId)   \
-    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) )
+#define ICorProfilerCallback7_ExceptionCatcherEnter(This,functionId,objectId)  \
+    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) 
 
-#define ICorProfilerCallback7_ExceptionCatcherLeave(This)   \
-    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) )
+#define ICorProfilerCallback7_ExceptionCatcherLeave(This)      \
+    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) 
 
-#define ICorProfilerCallback7_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots)    \
-    ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) )
+#define ICorProfilerCallback7_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) )
+#define ICorProfilerCallback7_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable)    \
+    ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) 
 
-#define ICorProfilerCallback7_ExceptionCLRCatcherFound(This)    \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) )
+#define ICorProfilerCallback7_ExceptionCLRCatcherFound(This)   \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) 
 
-#define ICorProfilerCallback7_ExceptionCLRCatcherExecute(This)  \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) )
+#define ICorProfilerCallback7_ExceptionCLRCatcherExecute(This) \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) 
 
 
-#define ICorProfilerCallback7_ThreadNameChanged(This,threadId,cchName,name) \
-    ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) )
+#define ICorProfilerCallback7_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) )
+#define ICorProfilerCallback7_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) )
+#define ICorProfilerCallback7_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength)       \
+    ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) 
 
-#define ICorProfilerCallback7_GarbageCollectionFinished(This)   \
-    ( (This)->lpVtbl -> GarbageCollectionFinished(This) )
+#define ICorProfilerCallback7_GarbageCollectionFinished(This)  \
+    ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) 
 
-#define ICorProfilerCallback7_FinalizeableObjectQueued(This,finalizerFlags,objectID)    \
-    ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) )
+#define ICorProfilerCallback7_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) )
+#define ICorProfilerCallback7_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) )
+#define ICorProfilerCallback7_HandleCreated(This,handleId,initialObjectId)     \
+    ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) 
 
-#define ICorProfilerCallback7_HandleDestroyed(This,handleId)    \
-    ( (This)->lpVtbl -> HandleDestroyed(This,handleId) )
+#define ICorProfilerCallback7_HandleDestroyed(This,handleId)   \
+    ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) 
 
 
-#define ICorProfilerCallback7_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData)   \
-    ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) )
+#define ICorProfilerCallback7_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData)  \
+    ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) 
 
-#define ICorProfilerCallback7_ProfilerAttachComplete(This)  \
-    ( (This)->lpVtbl -> ProfilerAttachComplete(This) )
+#define ICorProfilerCallback7_ProfilerAttachComplete(This)     \
+    ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) 
 
-#define ICorProfilerCallback7_ProfilerDetachSucceeded(This) \
-    ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) )
+#define ICorProfilerCallback7_ProfilerDetachSucceeded(This)    \
+    ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) 
 
 
-#define ICorProfilerCallback7_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock)   \
-    ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) )
+#define ICorProfilerCallback7_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) )
+#define ICorProfilerCallback7_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) )
+#define ICorProfilerCallback7_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) )
+#define ICorProfilerCallback7_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) )
+#define ICorProfilerCallback7_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) )
+#define ICorProfilerCallback7_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) )
+#define ICorProfilerCallback7_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) )
+#define ICorProfilerCallback7_GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider)      \
+    ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) 
 
 
-#define ICorProfilerCallback7_ModuleInMemorySymbolsUpdated(This,moduleId)   \
-    ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) )
+#define ICorProfilerCallback7_ModuleInMemorySymbolsUpdated(This,moduleId)      \
+    ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerCallback7_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerCallback7_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerCallback8_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerCallback8Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerCallback8 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerCallback8 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerCallback8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Initialize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
+        HRESULT ( STDMETHODCALLTYPE *Initialize )( 
             ICorProfilerCallback8 * This,
             /* [in] */ IUnknown *pICorProfilerInfoUnk);
-
-        HRESULT ( STDMETHODCALLTYPE *Shutdown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
+        HRESULT ( STDMETHODCALLTYPE *Shutdown )( 
             ICorProfilerCallback8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( 
             ICorProfilerCallback8 * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( 
             ICorProfilerCallback8 * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( 
             ICorProfilerCallback8 * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( 
             ICorProfilerCallback8 * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( 
             ICorProfilerCallback8 * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( 
             ICorProfilerCallback8 * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( 
             ICorProfilerCallback8 * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( 
             ICorProfilerCallback8 * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
+        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ AssemblyID AssemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( 
             ICorProfilerCallback8 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( 
             ICorProfilerCallback8 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( 
             ICorProfilerCallback8 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( 
             ICorProfilerCallback8 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ BOOL *pbUseCachedFunction);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( 
             ICorProfilerCallback8 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_JIT_CACHE result);
-
-        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
+        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( 
             ICorProfilerCallback8 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITInlining )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
+        HRESULT ( STDMETHODCALLTYPE *JITInlining )( 
             ICorProfilerCallback8 * This,
             /* [in] */ FunctionID callerId,
             /* [in] */ FunctionID calleeId,
             /* [out] */ BOOL *pfShouldInline);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
+        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
+        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ThreadID managedThreadId,
             /* [in] */ DWORD osThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( 
             ICorProfilerCallback8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( 
             ICorProfilerCallback8 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( 
             ICorProfilerCallback8 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( 
             ICorProfilerCallback8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( 
             ICorProfilerCallback8 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( 
             ICorProfilerCallback8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( 
             ICorProfilerCallback8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( 
             ICorProfilerCallback8 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( 
             ICorProfilerCallback8 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( 
             ICorProfilerCallback8 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( 
             ICorProfilerCallback8 * This,
             /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( 
             ICorProfilerCallback8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( 
             ICorProfilerCallback8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( 
             ICorProfilerCallback8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( 
             ICorProfilerCallback8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *MovedReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
+        HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
+        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ULONG cClassCount,
             /* [size_is][in] */ ClassID classIds[  ],
             /* [size_is][in] */ ULONG cObjects[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
+        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId,
             /* [in] */ ULONG cObjectRefs,
             /* [size_is][in] */ ObjectID objectRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
+        HRESULT ( STDMETHODCALLTYPE *RootReferences )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ULONG cRootRefs,
             /* [size_is][in] */ ObjectID rootRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ObjectID thrownObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( 
             ICorProfilerCallback8 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( 
             ICorProfilerCallback8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( 
             ICorProfilerCallback8 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( 
             ICorProfilerCallback8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( 
             ICorProfilerCallback8 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( 
             ICorProfilerCallback8 * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( 
             ICorProfilerCallback8 * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( 
             ICorProfilerCallback8 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( 
             ICorProfilerCallback8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( 
             ICorProfilerCallback8 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( 
             ICorProfilerCallback8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( 
             ICorProfilerCallback8 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ObjectID objectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( 
             ICorProfilerCallback8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable,
             /* [in] */ ULONG cSlots);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( 
             ICorProfilerCallback8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( 
             ICorProfilerCallback8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted)
+        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( 
             ICorProfilerCallback8 * This,
             /* [in] */ int cGenerations,
             /* [size_is][in] */ BOOL generationCollected[  ],
             /* [in] */ COR_PRF_GC_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences)
+        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ULONG cSurvivingObjectIDRanges,
             /* [size_is][in] */ ObjectID objectIDRangeStart[  ],
             /* [size_is][in] */ ULONG cObjectIDRangeLength[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished)
+        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( 
             ICorProfilerCallback8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued)
+        HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( 
             ICorProfilerCallback8 * This,
             /* [in] */ DWORD finalizerFlags,
             /* [in] */ ObjectID objectID);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated)
+        HRESULT ( STDMETHODCALLTYPE *HandleCreated )( 
             ICorProfilerCallback8 * This,
             /* [in] */ GCHandleID handleId,
             /* [in] */ ObjectID initialObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( 
             ICorProfilerCallback8 * This,
             /* [in] */ GCHandleID handleId);
-
-        HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach)
+        HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( 
             ICorProfilerCallback8 * This,
             /* [in] */ IUnknown *pCorProfilerInfoUnk,
             /* [in] */ void *pvClientData,
             /* [in] */ UINT cbClientData);
-
-        HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete)
+        HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( 
             ICorProfilerCallback8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded)
+        HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( 
             ICorProfilerCallback8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( 
             ICorProfilerCallback8 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ReJITID rejitId,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters)
+        HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [in] */ ICorProfilerFunctionControl *pFunctionControl);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( 
             ICorProfilerCallback8 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ReJITID rejitId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITError )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError)
+        HRESULT ( STDMETHODCALLTYPE *ReJITError )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2)
+        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( 
             ICorProfilerCallback8 * This,
             /* [in] */ ULONG cSurvivingObjectIDRanges,
             /* [size_is][in] */ ObjectID objectIDRangeStart[  ],
             /* [size_is][in] */ SIZE_T cObjectIDRangeLength[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback5, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback6, GetAssemblyReferences)
+        HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( 
             ICorProfilerCallback8 * This,
             /* [string][in] */ const WCHAR *wszAssemblyPath,
             /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback7, ModuleInMemorySymbolsUpdated)
+        HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( 
             ICorProfilerCallback8 * This,
             ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )( 
             ICorProfilerCallback8 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ BOOL fIsSafeToBlock,
             /* [in] */ LPCBYTE pILHeader,
             /* [in] */ ULONG cbILHeader);
-
-        HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )( 
             ICorProfilerCallback8 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
+        
         END_INTERFACE
     } ICorProfilerCallback8Vtbl;
 
@@ -6458,778 +7166,873 @@ 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) )
+#define ICorProfilerCallback8_QueryInterface(This,riid,ppvObject)      \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerCallback8_AddRef(This)  \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerCallback8_AddRef(This)     \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerCallback8_Release(This) \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerCallback8_Release(This)    \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerCallback8_Initialize(This,pICorProfilerInfoUnk) \
-    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) )
+#define ICorProfilerCallback8_Initialize(This,pICorProfilerInfoUnk)    \
+    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) 
 
-#define ICorProfilerCallback8_Shutdown(This)    \
-    ( (This)->lpVtbl -> Shutdown(This) )
+#define ICorProfilerCallback8_Shutdown(This)   \
+    ( (This)->lpVtbl -> Shutdown(This) ) 
 
-#define ICorProfilerCallback8_AppDomainCreationStarted(This,appDomainId)    \
-    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) )
+#define ICorProfilerCallback8_AppDomainCreationStarted(This,appDomainId)       \
+    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback8_AppDomainCreationFinished(This,appDomainId,hrStatus)  \
-    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback8_AppDomainCreationFinished(This,appDomainId,hrStatus)     \
+    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback8_AppDomainShutdownStarted(This,appDomainId)    \
-    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) )
+#define ICorProfilerCallback8_AppDomainShutdownStarted(This,appDomainId)       \
+    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback8_AppDomainShutdownFinished(This,appDomainId,hrStatus)  \
-    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback8_AppDomainShutdownFinished(This,appDomainId,hrStatus)     \
+    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback8_AssemblyLoadStarted(This,assemblyId)  \
-    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) )
+#define ICorProfilerCallback8_AssemblyLoadStarted(This,assemblyId)     \
+    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback8_AssemblyLoadFinished(This,assemblyId,hrStatus)    \
-    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback8_AssemblyLoadFinished(This,assemblyId,hrStatus)   \
+    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback8_AssemblyUnloadStarted(This,assemblyId)    \
-    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) )
+#define ICorProfilerCallback8_AssemblyUnloadStarted(This,assemblyId)   \
+    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback8_AssemblyUnloadFinished(This,assemblyId,hrStatus)  \
-    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback8_AssemblyUnloadFinished(This,assemblyId,hrStatus) \
+    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback8_ModuleLoadStarted(This,moduleId)  \
-    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) )
+#define ICorProfilerCallback8_ModuleLoadStarted(This,moduleId) \
+    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback8_ModuleLoadFinished(This,moduleId,hrStatus)    \
-    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback8_ModuleLoadFinished(This,moduleId,hrStatus)       \
+    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback8_ModuleUnloadStarted(This,moduleId)    \
-    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) )
+#define ICorProfilerCallback8_ModuleUnloadStarted(This,moduleId)       \
+    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback8_ModuleUnloadFinished(This,moduleId,hrStatus)  \
-    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback8_ModuleUnloadFinished(This,moduleId,hrStatus)     \
+    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback8_ModuleAttachedToAssembly(This,moduleId,AssemblyId)    \
-    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) )
+#define ICorProfilerCallback8_ModuleAttachedToAssembly(This,moduleId,AssemblyId)       \
+    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) 
 
-#define ICorProfilerCallback8_ClassLoadStarted(This,classId)    \
-    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) )
+#define ICorProfilerCallback8_ClassLoadStarted(This,classId)   \
+    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) 
 
-#define ICorProfilerCallback8_ClassLoadFinished(This,classId,hrStatus)  \
-    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback8_ClassLoadFinished(This,classId,hrStatus) \
+    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback8_ClassUnloadStarted(This,classId)  \
-    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) )
+#define ICorProfilerCallback8_ClassUnloadStarted(This,classId) \
+    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) 
 
-#define ICorProfilerCallback8_ClassUnloadFinished(This,classId,hrStatus)    \
-    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback8_ClassUnloadFinished(This,classId,hrStatus)       \
+    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback8_FunctionUnloadStarted(This,functionId)    \
-    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) )
+#define ICorProfilerCallback8_FunctionUnloadStarted(This,functionId)   \
+    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) 
 
-#define ICorProfilerCallback8_JITCompilationStarted(This,functionId,fIsSafeToBlock) \
-    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) )
+#define ICorProfilerCallback8_JITCompilationStarted(This,functionId,fIsSafeToBlock)    \
+    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback8_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)   \
-    ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) )
+#define ICorProfilerCallback8_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)  \
+    ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback8_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)   \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) )
+#define ICorProfilerCallback8_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)      \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) 
 
-#define ICorProfilerCallback8_JITCachedFunctionSearchFinished(This,functionId,result)   \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) )
+#define ICorProfilerCallback8_JITCachedFunctionSearchFinished(This,functionId,result)  \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) 
 
-#define ICorProfilerCallback8_JITFunctionPitched(This,functionId)   \
-    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) )
+#define ICorProfilerCallback8_JITFunctionPitched(This,functionId)      \
+    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) 
 
-#define ICorProfilerCallback8_JITInlining(This,callerId,calleeId,pfShouldInline)    \
-    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) )
+#define ICorProfilerCallback8_JITInlining(This,callerId,calleeId,pfShouldInline)       \
+    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) 
 
-#define ICorProfilerCallback8_ThreadCreated(This,threadId)  \
-    ( (This)->lpVtbl -> ThreadCreated(This,threadId) )
+#define ICorProfilerCallback8_ThreadCreated(This,threadId)     \
+    ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) 
 
-#define ICorProfilerCallback8_ThreadDestroyed(This,threadId)    \
-    ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) )
+#define ICorProfilerCallback8_ThreadDestroyed(This,threadId)   \
+    ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) 
 
-#define ICorProfilerCallback8_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \
-    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) )
+#define ICorProfilerCallback8_ThreadAssignedToOSThread(This,managedThreadId,osThreadId)        \
+    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) 
 
-#define ICorProfilerCallback8_RemotingClientInvocationStarted(This) \
-    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) )
+#define ICorProfilerCallback8_RemotingClientInvocationStarted(This)    \
+    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) 
 
-#define ICorProfilerCallback8_RemotingClientSendingMessage(This,pCookie,fIsAsync)   \
-    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback8_RemotingClientSendingMessage(This,pCookie,fIsAsync)      \
+    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback8_RemotingClientReceivingReply(This,pCookie,fIsAsync)   \
-    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback8_RemotingClientReceivingReply(This,pCookie,fIsAsync)      \
+    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback8_RemotingClientInvocationFinished(This)    \
-    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) )
+#define ICorProfilerCallback8_RemotingClientInvocationFinished(This)   \
+    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) 
 
-#define ICorProfilerCallback8_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \
-    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback8_RemotingServerReceivingMessage(This,pCookie,fIsAsync)    \
+    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback8_RemotingServerInvocationStarted(This) \
-    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) )
+#define ICorProfilerCallback8_RemotingServerInvocationStarted(This)    \
+    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) 
 
-#define ICorProfilerCallback8_RemotingServerInvocationReturned(This)    \
-    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) )
+#define ICorProfilerCallback8_RemotingServerInvocationReturned(This)   \
+    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) 
 
-#define ICorProfilerCallback8_RemotingServerSendingReply(This,pCookie,fIsAsync) \
-    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback8_RemotingServerSendingReply(This,pCookie,fIsAsync)        \
+    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback8_UnmanagedToManagedTransition(This,functionId,reason)  \
-    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback8_UnmanagedToManagedTransition(This,functionId,reason)     \
+    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback8_ManagedToUnmanagedTransition(This,functionId,reason)  \
-    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback8_ManagedToUnmanagedTransition(This,functionId,reason)     \
+    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback8_RuntimeSuspendStarted(This,suspendReason) \
-    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) )
+#define ICorProfilerCallback8_RuntimeSuspendStarted(This,suspendReason)        \
+    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) 
 
-#define ICorProfilerCallback8_RuntimeSuspendFinished(This)  \
-    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) )
+#define ICorProfilerCallback8_RuntimeSuspendFinished(This)     \
+    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) 
 
-#define ICorProfilerCallback8_RuntimeSuspendAborted(This)   \
-    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) )
+#define ICorProfilerCallback8_RuntimeSuspendAborted(This)      \
+    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) 
 
-#define ICorProfilerCallback8_RuntimeResumeStarted(This)    \
-    ( (This)->lpVtbl -> RuntimeResumeStarted(This) )
+#define ICorProfilerCallback8_RuntimeResumeStarted(This)       \
+    ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) 
 
-#define ICorProfilerCallback8_RuntimeResumeFinished(This)   \
-    ( (This)->lpVtbl -> RuntimeResumeFinished(This) )
+#define ICorProfilerCallback8_RuntimeResumeFinished(This)      \
+    ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) 
 
-#define ICorProfilerCallback8_RuntimeThreadSuspended(This,threadId) \
-    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) )
+#define ICorProfilerCallback8_RuntimeThreadSuspended(This,threadId)    \
+    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) 
 
-#define ICorProfilerCallback8_RuntimeThreadResumed(This,threadId)   \
-    ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) )
+#define ICorProfilerCallback8_RuntimeThreadResumed(This,threadId)      \
+    ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) 
 
-#define ICorProfilerCallback8_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength)   \
-    ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) )
+#define ICorProfilerCallback8_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) )
+#define ICorProfilerCallback8_ObjectAllocated(This,objectId,classId)   \
+    ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) 
 
-#define ICorProfilerCallback8_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects)   \
-    ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) )
+#define ICorProfilerCallback8_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) )
+#define ICorProfilerCallback8_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) )
+#define ICorProfilerCallback8_RootReferences(This,cRootRefs,rootRefIds)        \
+    ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) 
 
-#define ICorProfilerCallback8_ExceptionThrown(This,thrownObjectId)  \
-    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) )
+#define ICorProfilerCallback8_ExceptionThrown(This,thrownObjectId)     \
+    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) 
 
-#define ICorProfilerCallback8_ExceptionSearchFunctionEnter(This,functionId) \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) )
+#define ICorProfilerCallback8_ExceptionSearchFunctionEnter(This,functionId)    \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback8_ExceptionSearchFunctionLeave(This)    \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) )
+#define ICorProfilerCallback8_ExceptionSearchFunctionLeave(This)       \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) 
 
-#define ICorProfilerCallback8_ExceptionSearchFilterEnter(This,functionId)   \
-    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) )
+#define ICorProfilerCallback8_ExceptionSearchFilterEnter(This,functionId)      \
+    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) 
 
-#define ICorProfilerCallback8_ExceptionSearchFilterLeave(This)  \
-    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) )
+#define ICorProfilerCallback8_ExceptionSearchFilterLeave(This) \
+    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) 
 
-#define ICorProfilerCallback8_ExceptionSearchCatcherFound(This,functionId)  \
-    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) )
+#define ICorProfilerCallback8_ExceptionSearchCatcherFound(This,functionId)     \
+    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) 
 
-#define ICorProfilerCallback8_ExceptionOSHandlerEnter(This,__unused)    \
-    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) )
+#define ICorProfilerCallback8_ExceptionOSHandlerEnter(This,__unused)   \
+    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) 
 
-#define ICorProfilerCallback8_ExceptionOSHandlerLeave(This,__unused)    \
-    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) )
+#define ICorProfilerCallback8_ExceptionOSHandlerLeave(This,__unused)   \
+    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) 
 
-#define ICorProfilerCallback8_ExceptionUnwindFunctionEnter(This,functionId) \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) )
+#define ICorProfilerCallback8_ExceptionUnwindFunctionEnter(This,functionId)    \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback8_ExceptionUnwindFunctionLeave(This)    \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) )
+#define ICorProfilerCallback8_ExceptionUnwindFunctionLeave(This)       \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) 
 
-#define ICorProfilerCallback8_ExceptionUnwindFinallyEnter(This,functionId)  \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) )
+#define ICorProfilerCallback8_ExceptionUnwindFinallyEnter(This,functionId)     \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) 
 
-#define ICorProfilerCallback8_ExceptionUnwindFinallyLeave(This) \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) )
+#define ICorProfilerCallback8_ExceptionUnwindFinallyLeave(This)        \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) 
 
-#define ICorProfilerCallback8_ExceptionCatcherEnter(This,functionId,objectId)   \
-    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) )
+#define ICorProfilerCallback8_ExceptionCatcherEnter(This,functionId,objectId)  \
+    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) 
 
-#define ICorProfilerCallback8_ExceptionCatcherLeave(This)   \
-    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) )
+#define ICorProfilerCallback8_ExceptionCatcherLeave(This)      \
+    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) 
 
-#define ICorProfilerCallback8_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots)    \
-    ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) )
+#define ICorProfilerCallback8_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) )
+#define ICorProfilerCallback8_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable)    \
+    ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) 
 
-#define ICorProfilerCallback8_ExceptionCLRCatcherFound(This)    \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) )
+#define ICorProfilerCallback8_ExceptionCLRCatcherFound(This)   \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) 
 
-#define ICorProfilerCallback8_ExceptionCLRCatcherExecute(This)  \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) )
+#define ICorProfilerCallback8_ExceptionCLRCatcherExecute(This) \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) 
 
 
-#define ICorProfilerCallback8_ThreadNameChanged(This,threadId,cchName,name) \
-    ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) )
+#define ICorProfilerCallback8_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) )
+#define ICorProfilerCallback8_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) )
+#define ICorProfilerCallback8_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength)       \
+    ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) 
 
-#define ICorProfilerCallback8_GarbageCollectionFinished(This)   \
-    ( (This)->lpVtbl -> GarbageCollectionFinished(This) )
+#define ICorProfilerCallback8_GarbageCollectionFinished(This)  \
+    ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) 
 
-#define ICorProfilerCallback8_FinalizeableObjectQueued(This,finalizerFlags,objectID)    \
-    ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) )
+#define ICorProfilerCallback8_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) )
+#define ICorProfilerCallback8_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) )
+#define ICorProfilerCallback8_HandleCreated(This,handleId,initialObjectId)     \
+    ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) 
 
-#define ICorProfilerCallback8_HandleDestroyed(This,handleId)    \
-    ( (This)->lpVtbl -> HandleDestroyed(This,handleId) )
+#define ICorProfilerCallback8_HandleDestroyed(This,handleId)   \
+    ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) 
 
 
-#define ICorProfilerCallback8_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData)   \
-    ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) )
+#define ICorProfilerCallback8_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData)  \
+    ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) 
 
-#define ICorProfilerCallback8_ProfilerAttachComplete(This)  \
-    ( (This)->lpVtbl -> ProfilerAttachComplete(This) )
+#define ICorProfilerCallback8_ProfilerAttachComplete(This)     \
+    ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) 
 
-#define ICorProfilerCallback8_ProfilerDetachSucceeded(This) \
-    ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) )
+#define ICorProfilerCallback8_ProfilerDetachSucceeded(This)    \
+    ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) 
 
 
-#define ICorProfilerCallback8_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock)   \
-    ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) )
+#define ICorProfilerCallback8_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) )
+#define ICorProfilerCallback8_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) )
+#define ICorProfilerCallback8_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) )
+#define ICorProfilerCallback8_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) )
+#define ICorProfilerCallback8_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) )
+#define ICorProfilerCallback8_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) )
+#define ICorProfilerCallback8_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) )
+#define ICorProfilerCallback8_GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider)      \
+    ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) 
 
 
-#define ICorProfilerCallback8_ModuleInMemorySymbolsUpdated(This,moduleId)   \
-    ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) )
+#define ICorProfilerCallback8_ModuleInMemorySymbolsUpdated(This,moduleId)      \
+    ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) 
 
 
-#define ICorProfilerCallback8_DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader)   \
-    ( (This)->lpVtbl -> DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) )
+#define ICorProfilerCallback8_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) )
+#define ICorProfilerCallback8_DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)     \
+    ( (This)->lpVtbl -> DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerCallback8_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerCallback8_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerCallback9_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerCallback9Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerCallback9 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerCallback9 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerCallback9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Initialize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
+        HRESULT ( STDMETHODCALLTYPE *Initialize )( 
             ICorProfilerCallback9 * This,
             /* [in] */ IUnknown *pICorProfilerInfoUnk);
-
-        HRESULT ( STDMETHODCALLTYPE *Shutdown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
+        HRESULT ( STDMETHODCALLTYPE *Shutdown )( 
             ICorProfilerCallback9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( 
             ICorProfilerCallback9 * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( 
             ICorProfilerCallback9 * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( 
             ICorProfilerCallback9 * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( 
             ICorProfilerCallback9 * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( 
             ICorProfilerCallback9 * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( 
             ICorProfilerCallback9 * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( 
             ICorProfilerCallback9 * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( 
             ICorProfilerCallback9 * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
+        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ AssemblyID AssemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( 
             ICorProfilerCallback9 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( 
             ICorProfilerCallback9 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( 
             ICorProfilerCallback9 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( 
             ICorProfilerCallback9 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ BOOL *pbUseCachedFunction);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( 
             ICorProfilerCallback9 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_JIT_CACHE result);
-
-        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
+        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( 
             ICorProfilerCallback9 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITInlining )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
+        HRESULT ( STDMETHODCALLTYPE *JITInlining )( 
             ICorProfilerCallback9 * This,
             /* [in] */ FunctionID callerId,
             /* [in] */ FunctionID calleeId,
             /* [out] */ BOOL *pfShouldInline);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
+        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
+        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ThreadID managedThreadId,
             /* [in] */ DWORD osThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( 
             ICorProfilerCallback9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( 
             ICorProfilerCallback9 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( 
             ICorProfilerCallback9 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( 
             ICorProfilerCallback9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( 
             ICorProfilerCallback9 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( 
             ICorProfilerCallback9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( 
             ICorProfilerCallback9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( 
             ICorProfilerCallback9 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( 
             ICorProfilerCallback9 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( 
             ICorProfilerCallback9 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( 
             ICorProfilerCallback9 * This,
             /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( 
             ICorProfilerCallback9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( 
             ICorProfilerCallback9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( 
             ICorProfilerCallback9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( 
             ICorProfilerCallback9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *MovedReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
+        HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
+        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ULONG cClassCount,
             /* [size_is][in] */ ClassID classIds[  ],
             /* [size_is][in] */ ULONG cObjects[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
+        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId,
             /* [in] */ ULONG cObjectRefs,
             /* [size_is][in] */ ObjectID objectRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
+        HRESULT ( STDMETHODCALLTYPE *RootReferences )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ULONG cRootRefs,
             /* [size_is][in] */ ObjectID rootRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ObjectID thrownObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( 
             ICorProfilerCallback9 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( 
             ICorProfilerCallback9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( 
             ICorProfilerCallback9 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( 
             ICorProfilerCallback9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( 
             ICorProfilerCallback9 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( 
             ICorProfilerCallback9 * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( 
             ICorProfilerCallback9 * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( 
             ICorProfilerCallback9 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( 
             ICorProfilerCallback9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( 
             ICorProfilerCallback9 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( 
             ICorProfilerCallback9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( 
             ICorProfilerCallback9 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ObjectID objectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( 
             ICorProfilerCallback9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable,
             /* [in] */ ULONG cSlots);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( 
             ICorProfilerCallback9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( 
             ICorProfilerCallback9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted)
+        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( 
             ICorProfilerCallback9 * This,
             /* [in] */ int cGenerations,
             /* [size_is][in] */ BOOL generationCollected[  ],
             /* [in] */ COR_PRF_GC_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences)
+        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ULONG cSurvivingObjectIDRanges,
             /* [size_is][in] */ ObjectID objectIDRangeStart[  ],
             /* [size_is][in] */ ULONG cObjectIDRangeLength[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished)
+        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( 
             ICorProfilerCallback9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued)
+        HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( 
             ICorProfilerCallback9 * This,
             /* [in] */ DWORD finalizerFlags,
             /* [in] */ ObjectID objectID);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated)
+        HRESULT ( STDMETHODCALLTYPE *HandleCreated )( 
             ICorProfilerCallback9 * This,
             /* [in] */ GCHandleID handleId,
             /* [in] */ ObjectID initialObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( 
             ICorProfilerCallback9 * This,
             /* [in] */ GCHandleID handleId);
-
-        HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach)
+        HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( 
             ICorProfilerCallback9 * This,
             /* [in] */ IUnknown *pCorProfilerInfoUnk,
             /* [in] */ void *pvClientData,
             /* [in] */ UINT cbClientData);
-
-        HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete)
+        HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( 
             ICorProfilerCallback9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded)
+        HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( 
             ICorProfilerCallback9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( 
             ICorProfilerCallback9 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ReJITID rejitId,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters)
+        HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [in] */ ICorProfilerFunctionControl *pFunctionControl);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( 
             ICorProfilerCallback9 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ReJITID rejitId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITError )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError)
+        HRESULT ( STDMETHODCALLTYPE *ReJITError )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2)
+        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( 
             ICorProfilerCallback9 * This,
             /* [in] */ ULONG cSurvivingObjectIDRanges,
             /* [size_is][in] */ ObjectID objectIDRangeStart[  ],
             /* [size_is][in] */ SIZE_T cObjectIDRangeLength[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback5, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback6, GetAssemblyReferences)
+        HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( 
             ICorProfilerCallback9 * This,
             /* [string][in] */ const WCHAR *wszAssemblyPath,
             /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback7, ModuleInMemorySymbolsUpdated)
+        HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( 
             ICorProfilerCallback9 * This,
             ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )( 
             ICorProfilerCallback9 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ BOOL fIsSafeToBlock,
             /* [in] */ LPCBYTE pILHeader,
             /* [in] */ ULONG cbILHeader);
-
-        HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )( 
             ICorProfilerCallback9 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *DynamicMethodUnloaded )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback9, DynamicMethodUnloaded)
+        HRESULT ( STDMETHODCALLTYPE *DynamicMethodUnloaded )( 
             ICorProfilerCallback9 * This,
             /* [in] */ FunctionID functionId);
-
+        
         END_INTERFACE
     } ICorProfilerCallback9Vtbl;
 
@@ -7238,332 +8041,332 @@ 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) )
+#define ICorProfilerCallback9_QueryInterface(This,riid,ppvObject)      \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerCallback9_AddRef(This)  \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerCallback9_AddRef(This)     \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerCallback9_Release(This) \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerCallback9_Release(This)    \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerCallback9_Initialize(This,pICorProfilerInfoUnk) \
-    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) )
+#define ICorProfilerCallback9_Initialize(This,pICorProfilerInfoUnk)    \
+    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) 
 
-#define ICorProfilerCallback9_Shutdown(This)    \
-    ( (This)->lpVtbl -> Shutdown(This) )
+#define ICorProfilerCallback9_Shutdown(This)   \
+    ( (This)->lpVtbl -> Shutdown(This) ) 
 
-#define ICorProfilerCallback9_AppDomainCreationStarted(This,appDomainId)    \
-    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) )
+#define ICorProfilerCallback9_AppDomainCreationStarted(This,appDomainId)       \
+    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback9_AppDomainCreationFinished(This,appDomainId,hrStatus)  \
-    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback9_AppDomainCreationFinished(This,appDomainId,hrStatus)     \
+    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback9_AppDomainShutdownStarted(This,appDomainId)    \
-    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) )
+#define ICorProfilerCallback9_AppDomainShutdownStarted(This,appDomainId)       \
+    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback9_AppDomainShutdownFinished(This,appDomainId,hrStatus)  \
-    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback9_AppDomainShutdownFinished(This,appDomainId,hrStatus)     \
+    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback9_AssemblyLoadStarted(This,assemblyId)  \
-    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) )
+#define ICorProfilerCallback9_AssemblyLoadStarted(This,assemblyId)     \
+    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback9_AssemblyLoadFinished(This,assemblyId,hrStatus)    \
-    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback9_AssemblyLoadFinished(This,assemblyId,hrStatus)   \
+    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback9_AssemblyUnloadStarted(This,assemblyId)    \
-    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) )
+#define ICorProfilerCallback9_AssemblyUnloadStarted(This,assemblyId)   \
+    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback9_AssemblyUnloadFinished(This,assemblyId,hrStatus)  \
-    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback9_AssemblyUnloadFinished(This,assemblyId,hrStatus) \
+    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback9_ModuleLoadStarted(This,moduleId)  \
-    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) )
+#define ICorProfilerCallback9_ModuleLoadStarted(This,moduleId) \
+    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback9_ModuleLoadFinished(This,moduleId,hrStatus)    \
-    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback9_ModuleLoadFinished(This,moduleId,hrStatus)       \
+    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback9_ModuleUnloadStarted(This,moduleId)    \
-    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) )
+#define ICorProfilerCallback9_ModuleUnloadStarted(This,moduleId)       \
+    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback9_ModuleUnloadFinished(This,moduleId,hrStatus)  \
-    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback9_ModuleUnloadFinished(This,moduleId,hrStatus)     \
+    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback9_ModuleAttachedToAssembly(This,moduleId,AssemblyId)    \
-    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) )
+#define ICorProfilerCallback9_ModuleAttachedToAssembly(This,moduleId,AssemblyId)       \
+    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) 
 
-#define ICorProfilerCallback9_ClassLoadStarted(This,classId)    \
-    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) )
+#define ICorProfilerCallback9_ClassLoadStarted(This,classId)   \
+    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) 
 
-#define ICorProfilerCallback9_ClassLoadFinished(This,classId,hrStatus)  \
-    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback9_ClassLoadFinished(This,classId,hrStatus) \
+    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback9_ClassUnloadStarted(This,classId)  \
-    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) )
+#define ICorProfilerCallback9_ClassUnloadStarted(This,classId) \
+    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) 
 
-#define ICorProfilerCallback9_ClassUnloadFinished(This,classId,hrStatus)    \
-    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback9_ClassUnloadFinished(This,classId,hrStatus)       \
+    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback9_FunctionUnloadStarted(This,functionId)    \
-    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) )
+#define ICorProfilerCallback9_FunctionUnloadStarted(This,functionId)   \
+    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) 
 
-#define ICorProfilerCallback9_JITCompilationStarted(This,functionId,fIsSafeToBlock) \
-    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) )
+#define ICorProfilerCallback9_JITCompilationStarted(This,functionId,fIsSafeToBlock)    \
+    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback9_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)   \
-    ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) )
+#define ICorProfilerCallback9_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)  \
+    ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback9_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)   \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) )
+#define ICorProfilerCallback9_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)      \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) 
 
-#define ICorProfilerCallback9_JITCachedFunctionSearchFinished(This,functionId,result)   \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) )
+#define ICorProfilerCallback9_JITCachedFunctionSearchFinished(This,functionId,result)  \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) 
 
-#define ICorProfilerCallback9_JITFunctionPitched(This,functionId)   \
-    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) )
+#define ICorProfilerCallback9_JITFunctionPitched(This,functionId)      \
+    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) 
 
-#define ICorProfilerCallback9_JITInlining(This,callerId,calleeId,pfShouldInline)    \
-    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) )
+#define ICorProfilerCallback9_JITInlining(This,callerId,calleeId,pfShouldInline)       \
+    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) 
 
-#define ICorProfilerCallback9_ThreadCreated(This,threadId)  \
-    ( (This)->lpVtbl -> ThreadCreated(This,threadId) )
+#define ICorProfilerCallback9_ThreadCreated(This,threadId)     \
+    ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) 
 
-#define ICorProfilerCallback9_ThreadDestroyed(This,threadId)    \
-    ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) )
+#define ICorProfilerCallback9_ThreadDestroyed(This,threadId)   \
+    ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) 
 
-#define ICorProfilerCallback9_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \
-    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) )
+#define ICorProfilerCallback9_ThreadAssignedToOSThread(This,managedThreadId,osThreadId)        \
+    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) 
 
-#define ICorProfilerCallback9_RemotingClientInvocationStarted(This) \
-    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) )
+#define ICorProfilerCallback9_RemotingClientInvocationStarted(This)    \
+    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) 
 
-#define ICorProfilerCallback9_RemotingClientSendingMessage(This,pCookie,fIsAsync)   \
-    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback9_RemotingClientSendingMessage(This,pCookie,fIsAsync)      \
+    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback9_RemotingClientReceivingReply(This,pCookie,fIsAsync)   \
-    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback9_RemotingClientReceivingReply(This,pCookie,fIsAsync)      \
+    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback9_RemotingClientInvocationFinished(This)    \
-    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) )
+#define ICorProfilerCallback9_RemotingClientInvocationFinished(This)   \
+    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) 
 
-#define ICorProfilerCallback9_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \
-    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback9_RemotingServerReceivingMessage(This,pCookie,fIsAsync)    \
+    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback9_RemotingServerInvocationStarted(This) \
-    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) )
+#define ICorProfilerCallback9_RemotingServerInvocationStarted(This)    \
+    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) 
 
-#define ICorProfilerCallback9_RemotingServerInvocationReturned(This)    \
-    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) )
+#define ICorProfilerCallback9_RemotingServerInvocationReturned(This)   \
+    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) 
 
-#define ICorProfilerCallback9_RemotingServerSendingReply(This,pCookie,fIsAsync) \
-    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback9_RemotingServerSendingReply(This,pCookie,fIsAsync)        \
+    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback9_UnmanagedToManagedTransition(This,functionId,reason)  \
-    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback9_UnmanagedToManagedTransition(This,functionId,reason)     \
+    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback9_ManagedToUnmanagedTransition(This,functionId,reason)  \
-    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback9_ManagedToUnmanagedTransition(This,functionId,reason)     \
+    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback9_RuntimeSuspendStarted(This,suspendReason) \
-    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) )
+#define ICorProfilerCallback9_RuntimeSuspendStarted(This,suspendReason)        \
+    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) 
 
-#define ICorProfilerCallback9_RuntimeSuspendFinished(This)  \
-    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) )
+#define ICorProfilerCallback9_RuntimeSuspendFinished(This)     \
+    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) 
 
-#define ICorProfilerCallback9_RuntimeSuspendAborted(This)   \
-    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) )
+#define ICorProfilerCallback9_RuntimeSuspendAborted(This)      \
+    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) 
 
-#define ICorProfilerCallback9_RuntimeResumeStarted(This)    \
-    ( (This)->lpVtbl -> RuntimeResumeStarted(This) )
+#define ICorProfilerCallback9_RuntimeResumeStarted(This)       \
+    ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) 
 
-#define ICorProfilerCallback9_RuntimeResumeFinished(This)   \
-    ( (This)->lpVtbl -> RuntimeResumeFinished(This) )
+#define ICorProfilerCallback9_RuntimeResumeFinished(This)      \
+    ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) 
 
-#define ICorProfilerCallback9_RuntimeThreadSuspended(This,threadId) \
-    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) )
+#define ICorProfilerCallback9_RuntimeThreadSuspended(This,threadId)    \
+    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) 
 
-#define ICorProfilerCallback9_RuntimeThreadResumed(This,threadId)   \
-    ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) )
+#define ICorProfilerCallback9_RuntimeThreadResumed(This,threadId)      \
+    ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) 
 
-#define ICorProfilerCallback9_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength)   \
-    ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) )
+#define ICorProfilerCallback9_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) )
+#define ICorProfilerCallback9_ObjectAllocated(This,objectId,classId)   \
+    ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) 
 
-#define ICorProfilerCallback9_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects)   \
-    ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) )
+#define ICorProfilerCallback9_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) )
+#define ICorProfilerCallback9_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) )
+#define ICorProfilerCallback9_RootReferences(This,cRootRefs,rootRefIds)        \
+    ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) 
 
-#define ICorProfilerCallback9_ExceptionThrown(This,thrownObjectId)  \
-    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) )
+#define ICorProfilerCallback9_ExceptionThrown(This,thrownObjectId)     \
+    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) 
 
-#define ICorProfilerCallback9_ExceptionSearchFunctionEnter(This,functionId) \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) )
+#define ICorProfilerCallback9_ExceptionSearchFunctionEnter(This,functionId)    \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback9_ExceptionSearchFunctionLeave(This)    \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) )
+#define ICorProfilerCallback9_ExceptionSearchFunctionLeave(This)       \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) 
 
-#define ICorProfilerCallback9_ExceptionSearchFilterEnter(This,functionId)   \
-    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) )
+#define ICorProfilerCallback9_ExceptionSearchFilterEnter(This,functionId)      \
+    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) 
 
-#define ICorProfilerCallback9_ExceptionSearchFilterLeave(This)  \
-    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) )
+#define ICorProfilerCallback9_ExceptionSearchFilterLeave(This) \
+    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) 
 
-#define ICorProfilerCallback9_ExceptionSearchCatcherFound(This,functionId)  \
-    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) )
+#define ICorProfilerCallback9_ExceptionSearchCatcherFound(This,functionId)     \
+    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) 
 
-#define ICorProfilerCallback9_ExceptionOSHandlerEnter(This,__unused)    \
-    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) )
+#define ICorProfilerCallback9_ExceptionOSHandlerEnter(This,__unused)   \
+    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) 
 
-#define ICorProfilerCallback9_ExceptionOSHandlerLeave(This,__unused)    \
-    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) )
+#define ICorProfilerCallback9_ExceptionOSHandlerLeave(This,__unused)   \
+    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) 
 
-#define ICorProfilerCallback9_ExceptionUnwindFunctionEnter(This,functionId) \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) )
+#define ICorProfilerCallback9_ExceptionUnwindFunctionEnter(This,functionId)    \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback9_ExceptionUnwindFunctionLeave(This)    \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) )
+#define ICorProfilerCallback9_ExceptionUnwindFunctionLeave(This)       \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) 
 
-#define ICorProfilerCallback9_ExceptionUnwindFinallyEnter(This,functionId)  \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) )
+#define ICorProfilerCallback9_ExceptionUnwindFinallyEnter(This,functionId)     \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) 
 
-#define ICorProfilerCallback9_ExceptionUnwindFinallyLeave(This) \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) )
+#define ICorProfilerCallback9_ExceptionUnwindFinallyLeave(This)        \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) 
 
-#define ICorProfilerCallback9_ExceptionCatcherEnter(This,functionId,objectId)   \
-    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) )
+#define ICorProfilerCallback9_ExceptionCatcherEnter(This,functionId,objectId)  \
+    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) 
 
-#define ICorProfilerCallback9_ExceptionCatcherLeave(This)   \
-    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) )
+#define ICorProfilerCallback9_ExceptionCatcherLeave(This)      \
+    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) 
 
-#define ICorProfilerCallback9_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots)    \
-    ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) )
+#define ICorProfilerCallback9_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) )
+#define ICorProfilerCallback9_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable)    \
+    ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) 
 
-#define ICorProfilerCallback9_ExceptionCLRCatcherFound(This)    \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) )
+#define ICorProfilerCallback9_ExceptionCLRCatcherFound(This)   \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) 
 
-#define ICorProfilerCallback9_ExceptionCLRCatcherExecute(This)  \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) )
+#define ICorProfilerCallback9_ExceptionCLRCatcherExecute(This) \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) 
 
 
-#define ICorProfilerCallback9_ThreadNameChanged(This,threadId,cchName,name) \
-    ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) )
+#define ICorProfilerCallback9_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) )
+#define ICorProfilerCallback9_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) )
+#define ICorProfilerCallback9_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength)       \
+    ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) 
 
-#define ICorProfilerCallback9_GarbageCollectionFinished(This)   \
-    ( (This)->lpVtbl -> GarbageCollectionFinished(This) )
+#define ICorProfilerCallback9_GarbageCollectionFinished(This)  \
+    ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) 
 
-#define ICorProfilerCallback9_FinalizeableObjectQueued(This,finalizerFlags,objectID)    \
-    ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) )
+#define ICorProfilerCallback9_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) )
+#define ICorProfilerCallback9_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) )
+#define ICorProfilerCallback9_HandleCreated(This,handleId,initialObjectId)     \
+    ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) 
 
-#define ICorProfilerCallback9_HandleDestroyed(This,handleId)    \
-    ( (This)->lpVtbl -> HandleDestroyed(This,handleId) )
+#define ICorProfilerCallback9_HandleDestroyed(This,handleId)   \
+    ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) 
 
 
-#define ICorProfilerCallback9_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData)   \
-    ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) )
+#define ICorProfilerCallback9_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData)  \
+    ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) 
 
-#define ICorProfilerCallback9_ProfilerAttachComplete(This)  \
-    ( (This)->lpVtbl -> ProfilerAttachComplete(This) )
+#define ICorProfilerCallback9_ProfilerAttachComplete(This)     \
+    ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) 
 
-#define ICorProfilerCallback9_ProfilerDetachSucceeded(This) \
-    ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) )
+#define ICorProfilerCallback9_ProfilerDetachSucceeded(This)    \
+    ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) 
 
 
-#define ICorProfilerCallback9_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock)   \
-    ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) )
+#define ICorProfilerCallback9_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) )
+#define ICorProfilerCallback9_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) )
+#define ICorProfilerCallback9_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) )
+#define ICorProfilerCallback9_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) )
+#define ICorProfilerCallback9_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) )
+#define ICorProfilerCallback9_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) )
+#define ICorProfilerCallback9_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) )
+#define ICorProfilerCallback9_GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider)      \
+    ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) 
 
 
-#define ICorProfilerCallback9_ModuleInMemorySymbolsUpdated(This,moduleId)   \
-    ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) )
+#define ICorProfilerCallback9_ModuleInMemorySymbolsUpdated(This,moduleId)      \
+    ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) 
 
 
-#define ICorProfilerCallback9_DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader)   \
-    ( (This)->lpVtbl -> DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) )
+#define ICorProfilerCallback9_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) )
+#define ICorProfilerCallback9_DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)     \
+    ( (This)->lpVtbl -> DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) 
 
 
-#define ICorProfilerCallback9_DynamicMethodUnloaded(This,functionId)    \
-    ( (This)->lpVtbl -> DynamicMethodUnloaded(This,functionId) )
+#define ICorProfilerCallback9_DynamicMethodUnloaded(This,functionId)   \
+    ( (This)->lpVtbl -> DynamicMethodUnloaded(This,functionId) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerCallback9_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerCallback9_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerCallback10_INTERFACE_DEFINED__
 #define __ICorProfilerCallback10_INTERFACE_DEFINED__
 
 /* interface ICorProfilerCallback10 */
-/* [local][unique][uuid][object] */
+/* [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(
+        virtual HRESULT STDMETHODCALLTYPE EventPipeEventDelivered( 
             /* [in] */ EVENTPIPE_PROVIDER provider,
             /* [in] */ DWORD eventId,
             /* [in] */ DWORD eventVersion,
@@ -7576,459 +8379,555 @@ EXTERN_C const IID IID_ICorProfilerCallback10;
             /* [in] */ ThreadID eventThread,
             /* [in] */ ULONG numStackFrames,
             /* [length_is][in] */ UINT_PTR stackFrames[  ]) = 0;
-
-        virtual HRESULT STDMETHODCALLTYPE EventPipeProviderCreated(
+        
+        virtual HRESULT STDMETHODCALLTYPE EventPipeProviderCreated( 
             /* [in] */ EVENTPIPE_PROVIDER provider) = 0;
-
+        
     };
-
-
-#else   /* C style interface */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerCallback10Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerCallback10 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerCallback10 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerCallback10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Initialize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
+        HRESULT ( STDMETHODCALLTYPE *Initialize )( 
             ICorProfilerCallback10 * This,
             /* [in] */ IUnknown *pICorProfilerInfoUnk);
-
-        HRESULT ( STDMETHODCALLTYPE *Shutdown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
+        HRESULT ( STDMETHODCALLTYPE *Shutdown )( 
             ICorProfilerCallback10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( 
             ICorProfilerCallback10 * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( 
             ICorProfilerCallback10 * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( 
             ICorProfilerCallback10 * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( 
             ICorProfilerCallback10 * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( 
             ICorProfilerCallback10 * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( 
             ICorProfilerCallback10 * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( 
             ICorProfilerCallback10 * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( 
             ICorProfilerCallback10 * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
+        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ AssemblyID AssemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( 
             ICorProfilerCallback10 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( 
             ICorProfilerCallback10 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( 
             ICorProfilerCallback10 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( 
             ICorProfilerCallback10 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ BOOL *pbUseCachedFunction);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( 
             ICorProfilerCallback10 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_JIT_CACHE result);
-
-        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
+        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( 
             ICorProfilerCallback10 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITInlining )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
+        HRESULT ( STDMETHODCALLTYPE *JITInlining )( 
             ICorProfilerCallback10 * This,
             /* [in] */ FunctionID callerId,
             /* [in] */ FunctionID calleeId,
             /* [out] */ BOOL *pfShouldInline);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
+        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
+        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ThreadID managedThreadId,
             /* [in] */ DWORD osThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( 
             ICorProfilerCallback10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( 
             ICorProfilerCallback10 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( 
             ICorProfilerCallback10 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( 
             ICorProfilerCallback10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( 
             ICorProfilerCallback10 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( 
             ICorProfilerCallback10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( 
             ICorProfilerCallback10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( 
             ICorProfilerCallback10 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( 
             ICorProfilerCallback10 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( 
             ICorProfilerCallback10 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( 
             ICorProfilerCallback10 * This,
             /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( 
             ICorProfilerCallback10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( 
             ICorProfilerCallback10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( 
             ICorProfilerCallback10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( 
             ICorProfilerCallback10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *MovedReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, MovedReferences)
+        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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
+        HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
+        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ULONG cClassCount,
             /* [size_is][in] */ ClassID classIds[  ],
             /* [size_is][in] */ ULONG cObjects[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
+        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId,
             /* [in] */ ULONG cObjectRefs,
             /* [size_is][in] */ ObjectID objectRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
+        HRESULT ( STDMETHODCALLTYPE *RootReferences )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ULONG cRootRefs,
             /* [size_is][in] */ ObjectID rootRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ObjectID thrownObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( 
             ICorProfilerCallback10 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( 
             ICorProfilerCallback10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( 
             ICorProfilerCallback10 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( 
             ICorProfilerCallback10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( 
             ICorProfilerCallback10 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( 
             ICorProfilerCallback10 * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( 
             ICorProfilerCallback10 * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( 
             ICorProfilerCallback10 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( 
             ICorProfilerCallback10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( 
             ICorProfilerCallback10 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( 
             ICorProfilerCallback10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( 
             ICorProfilerCallback10 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ObjectID objectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( 
             ICorProfilerCallback10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable,
             /* [in] */ ULONG cSlots);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( 
             ICorProfilerCallback10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( 
             ICorProfilerCallback10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged)
+        HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ThreadID threadId,
             /* [in] */ ULONG cchName,
-            /* [annotation][in] */
+            /* [annotation][in] */ 
             _In_reads_opt_(cchName)  WCHAR name[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted)
+        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( 
             ICorProfilerCallback10 * This,
             /* [in] */ int cGenerations,
             /* [size_is][in] */ BOOL generationCollected[  ],
             /* [in] */ COR_PRF_GC_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences)
+        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ULONG cSurvivingObjectIDRanges,
             /* [size_is][in] */ ObjectID objectIDRangeStart[  ],
             /* [size_is][in] */ ULONG cObjectIDRangeLength[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished)
+        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( 
             ICorProfilerCallback10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued)
+        HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( 
             ICorProfilerCallback10 * This,
             /* [in] */ DWORD finalizerFlags,
             /* [in] */ ObjectID objectID);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, RootReferences2)
+        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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated)
+        HRESULT ( STDMETHODCALLTYPE *HandleCreated )( 
             ICorProfilerCallback10 * This,
             /* [in] */ GCHandleID handleId,
             /* [in] */ ObjectID initialObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( 
             ICorProfilerCallback10 * This,
             /* [in] */ GCHandleID handleId);
-
-        HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach)
+        HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( 
             ICorProfilerCallback10 * This,
             /* [in] */ IUnknown *pCorProfilerInfoUnk,
             /* [in] */ void *pvClientData,
             /* [in] */ UINT cbClientData);
-
-        HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete)
+        HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( 
             ICorProfilerCallback10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded)
+        HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( 
             ICorProfilerCallback10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( 
             ICorProfilerCallback10 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ReJITID rejitId,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters)
+        HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [in] */ ICorProfilerFunctionControl *pFunctionControl);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( 
             ICorProfilerCallback10 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ReJITID rejitId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITError )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError)
+        HRESULT ( STDMETHODCALLTYPE *ReJITError )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, MovedReferences2)
+        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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2)
+        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( 
             ICorProfilerCallback10 * This,
             /* [in] */ ULONG cSurvivingObjectIDRanges,
             /* [size_is][in] */ ObjectID objectIDRangeStart[  ],
             /* [size_is][in] */ SIZE_T cObjectIDRangeLength[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback5, ConditionalWeakTableElementReferences)
+        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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback6, GetAssemblyReferences)
+        HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( 
             ICorProfilerCallback10 * This,
             /* [string][in] */ const WCHAR *wszAssemblyPath,
             /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback7, ModuleInMemorySymbolsUpdated)
+        HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( 
             ICorProfilerCallback10 * This,
             ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )( 
             ICorProfilerCallback10 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ BOOL fIsSafeToBlock,
             /* [in] */ LPCBYTE pILHeader,
             /* [in] */ ULONG cbILHeader);
-
-        HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )( 
             ICorProfilerCallback10 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *DynamicMethodUnloaded )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback9, DynamicMethodUnloaded)
+        HRESULT ( STDMETHODCALLTYPE *DynamicMethodUnloaded )( 
             ICorProfilerCallback10 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *EventPipeEventDelivered )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback10, EventPipeEventDelivered)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeEventDelivered )( 
             ICorProfilerCallback10 * This,
             /* [in] */ EVENTPIPE_PROVIDER provider,
             /* [in] */ DWORD eventId,
@@ -8042,11 +8941,12 @@ EXTERN_C const IID IID_ICorProfilerCallback10;
             /* [in] */ ThreadID eventThread,
             /* [in] */ ULONG numStackFrames,
             /* [length_is][in] */ UINT_PTR stackFrames[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *EventPipeProviderCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback10, EventPipeProviderCreated)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeProviderCreated )( 
             ICorProfilerCallback10 * This,
             /* [in] */ EVENTPIPE_PROVIDER provider);
-
+        
         END_INTERFACE
     } ICorProfilerCallback10Vtbl;
 
@@ -8055,790 +8955,886 @@ EXTERN_C const IID IID_ICorProfilerCallback10;
         CONST_VTBL struct ICorProfilerCallback10Vtbl *lpVtbl;
     };
 
-
+    
 
 #ifdef COBJMACROS
 
 
-#define ICorProfilerCallback10_QueryInterface(This,riid,ppvObject)  \
-    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+#define ICorProfilerCallback10_QueryInterface(This,riid,ppvObject)     \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerCallback10_AddRef(This) \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerCallback10_AddRef(This)    \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerCallback10_Release(This)    \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerCallback10_Release(This)   \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerCallback10_Initialize(This,pICorProfilerInfoUnk)    \
-    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) )
+#define ICorProfilerCallback10_Initialize(This,pICorProfilerInfoUnk)   \
+    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) 
 
-#define ICorProfilerCallback10_Shutdown(This)   \
-    ( (This)->lpVtbl -> Shutdown(This) )
+#define ICorProfilerCallback10_Shutdown(This)  \
+    ( (This)->lpVtbl -> Shutdown(This) ) 
 
-#define ICorProfilerCallback10_AppDomainCreationStarted(This,appDomainId)   \
-    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) )
+#define ICorProfilerCallback10_AppDomainCreationStarted(This,appDomainId)      \
+    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback10_AppDomainCreationFinished(This,appDomainId,hrStatus) \
-    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback10_AppDomainCreationFinished(This,appDomainId,hrStatus)    \
+    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback10_AppDomainShutdownStarted(This,appDomainId)   \
-    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) )
+#define ICorProfilerCallback10_AppDomainShutdownStarted(This,appDomainId)      \
+    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback10_AppDomainShutdownFinished(This,appDomainId,hrStatus) \
-    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback10_AppDomainShutdownFinished(This,appDomainId,hrStatus)    \
+    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback10_AssemblyLoadStarted(This,assemblyId) \
-    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) )
+#define ICorProfilerCallback10_AssemblyLoadStarted(This,assemblyId)    \
+    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback10_AssemblyLoadFinished(This,assemblyId,hrStatus)   \
-    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback10_AssemblyLoadFinished(This,assemblyId,hrStatus)  \
+    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback10_AssemblyUnloadStarted(This,assemblyId)   \
-    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) )
+#define ICorProfilerCallback10_AssemblyUnloadStarted(This,assemblyId)  \
+    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback10_AssemblyUnloadFinished(This,assemblyId,hrStatus) \
-    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback10_AssemblyUnloadFinished(This,assemblyId,hrStatus)        \
+    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback10_ModuleLoadStarted(This,moduleId) \
-    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) )
+#define ICorProfilerCallback10_ModuleLoadStarted(This,moduleId)        \
+    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback10_ModuleLoadFinished(This,moduleId,hrStatus)   \
-    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback10_ModuleLoadFinished(This,moduleId,hrStatus)      \
+    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback10_ModuleUnloadStarted(This,moduleId)   \
-    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) )
+#define ICorProfilerCallback10_ModuleUnloadStarted(This,moduleId)      \
+    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback10_ModuleUnloadFinished(This,moduleId,hrStatus) \
-    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) )
+#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_ModuleAttachedToAssembly(This,moduleId,AssemblyId)      \
+    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) 
 
-#define ICorProfilerCallback10_ClassLoadStarted(This,classId)   \
-    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) )
+#define ICorProfilerCallback10_ClassLoadStarted(This,classId)  \
+    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) 
 
-#define ICorProfilerCallback10_ClassLoadFinished(This,classId,hrStatus) \
-    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback10_ClassLoadFinished(This,classId,hrStatus)        \
+    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback10_ClassUnloadStarted(This,classId) \
-    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) )
+#define ICorProfilerCallback10_ClassUnloadStarted(This,classId)        \
+    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) 
 
-#define ICorProfilerCallback10_ClassUnloadFinished(This,classId,hrStatus)   \
-    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback10_ClassUnloadFinished(This,classId,hrStatus)      \
+    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback10_FunctionUnloadStarted(This,functionId)   \
-    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) )
+#define ICorProfilerCallback10_FunctionUnloadStarted(This,functionId)  \
+    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) 
 
-#define ICorProfilerCallback10_JITCompilationStarted(This,functionId,fIsSafeToBlock)    \
-    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) )
+#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_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_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)     \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) 
 
-#define ICorProfilerCallback10_JITCachedFunctionSearchFinished(This,functionId,result)  \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) )
+#define ICorProfilerCallback10_JITCachedFunctionSearchFinished(This,functionId,result) \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) 
 
-#define ICorProfilerCallback10_JITFunctionPitched(This,functionId)  \
-    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) )
+#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_JITInlining(This,callerId,calleeId,pfShouldInline)      \
+    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) 
 
-#define ICorProfilerCallback10_ThreadCreated(This,threadId) \
-    ( (This)->lpVtbl -> ThreadCreated(This,threadId) )
+#define ICorProfilerCallback10_ThreadCreated(This,threadId)    \
+    ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) 
 
-#define ICorProfilerCallback10_ThreadDestroyed(This,threadId)   \
-    ( (This)->lpVtbl -> ThreadDestroyed(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_ThreadAssignedToOSThread(This,managedThreadId,osThreadId)       \
+    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) 
 
-#define ICorProfilerCallback10_RemotingClientInvocationStarted(This)    \
-    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) )
+#define ICorProfilerCallback10_RemotingClientInvocationStarted(This)   \
+    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) 
 
-#define ICorProfilerCallback10_RemotingClientSendingMessage(This,pCookie,fIsAsync)  \
-    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) )
+#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_RemotingClientReceivingReply(This,pCookie,fIsAsync)     \
+    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback10_RemotingClientInvocationFinished(This)   \
-    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) )
+#define ICorProfilerCallback10_RemotingClientInvocationFinished(This)  \
+    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) 
 
-#define ICorProfilerCallback10_RemotingServerReceivingMessage(This,pCookie,fIsAsync)    \
-    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback10_RemotingServerReceivingMessage(This,pCookie,fIsAsync)   \
+    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback10_RemotingServerInvocationStarted(This)    \
-    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) )
+#define ICorProfilerCallback10_RemotingServerInvocationStarted(This)   \
+    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) 
 
-#define ICorProfilerCallback10_RemotingServerInvocationReturned(This)   \
-    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) )
+#define ICorProfilerCallback10_RemotingServerInvocationReturned(This)  \
+    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) 
 
-#define ICorProfilerCallback10_RemotingServerSendingReply(This,pCookie,fIsAsync)    \
-    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) )
+#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_UnmanagedToManagedTransition(This,functionId,reason)    \
+    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback10_ManagedToUnmanagedTransition(This,functionId,reason) \
-    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(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_RuntimeSuspendStarted(This,suspendReason)       \
+    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) 
 
-#define ICorProfilerCallback10_RuntimeSuspendFinished(This) \
-    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) )
+#define ICorProfilerCallback10_RuntimeSuspendFinished(This)    \
+    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) 
 
-#define ICorProfilerCallback10_RuntimeSuspendAborted(This)  \
-    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) )
+#define ICorProfilerCallback10_RuntimeSuspendAborted(This)     \
+    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) 
 
-#define ICorProfilerCallback10_RuntimeResumeStarted(This)   \
-    ( (This)->lpVtbl -> RuntimeResumeStarted(This) )
+#define ICorProfilerCallback10_RuntimeResumeStarted(This)      \
+    ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) 
 
-#define ICorProfilerCallback10_RuntimeResumeFinished(This)  \
-    ( (This)->lpVtbl -> RuntimeResumeFinished(This) )
+#define ICorProfilerCallback10_RuntimeResumeFinished(This)     \
+    ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) 
 
-#define ICorProfilerCallback10_RuntimeThreadSuspended(This,threadId)    \
-    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) )
+#define ICorProfilerCallback10_RuntimeThreadSuspended(This,threadId)   \
+    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) 
 
-#define ICorProfilerCallback10_RuntimeThreadResumed(This,threadId)  \
-    ( (This)->lpVtbl -> RuntimeThreadResumed(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_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_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_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_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_RootReferences(This,cRootRefs,rootRefIds)       \
+    ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) 
 
-#define ICorProfilerCallback10_ExceptionThrown(This,thrownObjectId) \
-    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) )
+#define ICorProfilerCallback10_ExceptionThrown(This,thrownObjectId)    \
+    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) 
 
-#define ICorProfilerCallback10_ExceptionSearchFunctionEnter(This,functionId)    \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) )
+#define ICorProfilerCallback10_ExceptionSearchFunctionEnter(This,functionId)   \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback10_ExceptionSearchFunctionLeave(This)   \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) )
+#define ICorProfilerCallback10_ExceptionSearchFunctionLeave(This)      \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) 
 
-#define ICorProfilerCallback10_ExceptionSearchFilterEnter(This,functionId)  \
-    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) )
+#define ICorProfilerCallback10_ExceptionSearchFilterEnter(This,functionId)     \
+    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) 
 
-#define ICorProfilerCallback10_ExceptionSearchFilterLeave(This) \
-    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) )
+#define ICorProfilerCallback10_ExceptionSearchFilterLeave(This)        \
+    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) 
 
-#define ICorProfilerCallback10_ExceptionSearchCatcherFound(This,functionId) \
-    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) )
+#define ICorProfilerCallback10_ExceptionSearchCatcherFound(This,functionId)    \
+    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) 
 
-#define ICorProfilerCallback10_ExceptionOSHandlerEnter(This,__unused)   \
-    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) )
+#define ICorProfilerCallback10_ExceptionOSHandlerEnter(This,__unused)  \
+    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) 
 
-#define ICorProfilerCallback10_ExceptionOSHandlerLeave(This,__unused)   \
-    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) )
+#define ICorProfilerCallback10_ExceptionOSHandlerLeave(This,__unused)  \
+    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) 
 
-#define ICorProfilerCallback10_ExceptionUnwindFunctionEnter(This,functionId)    \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) )
+#define ICorProfilerCallback10_ExceptionUnwindFunctionEnter(This,functionId)   \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback10_ExceptionUnwindFunctionLeave(This)   \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) )
+#define ICorProfilerCallback10_ExceptionUnwindFunctionLeave(This)      \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) 
 
-#define ICorProfilerCallback10_ExceptionUnwindFinallyEnter(This,functionId) \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) )
+#define ICorProfilerCallback10_ExceptionUnwindFinallyEnter(This,functionId)    \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) 
 
-#define ICorProfilerCallback10_ExceptionUnwindFinallyLeave(This)    \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) )
+#define ICorProfilerCallback10_ExceptionUnwindFinallyLeave(This)       \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) 
 
-#define ICorProfilerCallback10_ExceptionCatcherEnter(This,functionId,objectId)  \
-    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) )
+#define ICorProfilerCallback10_ExceptionCatcherEnter(This,functionId,objectId) \
+    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) 
 
-#define ICorProfilerCallback10_ExceptionCatcherLeave(This)  \
-    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) )
+#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_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_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable)   \
+    ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) 
 
-#define ICorProfilerCallback10_ExceptionCLRCatcherFound(This)   \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) )
+#define ICorProfilerCallback10_ExceptionCLRCatcherFound(This)  \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) 
 
-#define ICorProfilerCallback10_ExceptionCLRCatcherExecute(This) \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(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_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_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_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength)      \
+    ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) 
 
-#define ICorProfilerCallback10_GarbageCollectionFinished(This)  \
-    ( (This)->lpVtbl -> GarbageCollectionFinished(This) )
+#define ICorProfilerCallback10_GarbageCollectionFinished(This) \
+    ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) 
 
-#define ICorProfilerCallback10_FinalizeableObjectQueued(This,finalizerFlags,objectID)   \
-    ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) )
+#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_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_HandleCreated(This,handleId,initialObjectId)    \
+    ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) 
 
-#define ICorProfilerCallback10_HandleDestroyed(This,handleId)   \
-    ( (This)->lpVtbl -> HandleDestroyed(This,handleId) )
+#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_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \
+    ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) 
 
-#define ICorProfilerCallback10_ProfilerAttachComplete(This) \
-    ( (This)->lpVtbl -> ProfilerAttachComplete(This) )
+#define ICorProfilerCallback10_ProfilerAttachComplete(This)    \
+    ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) 
 
-#define ICorProfilerCallback10_ProfilerDetachSucceeded(This)    \
-    ( (This)->lpVtbl -> ProfilerDetachSucceeded(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_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_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_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_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_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_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_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_GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider)     \
+    ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) 
 
 
-#define ICorProfilerCallback10_ModuleInMemorySymbolsUpdated(This,moduleId)  \
-    ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) )
+#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_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_DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)    \
+    ( (This)->lpVtbl -> DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) 
 
 
-#define ICorProfilerCallback10_DynamicMethodUnloaded(This,functionId)   \
-    ( (This)->lpVtbl -> DynamicMethodUnloaded(This,functionId) )
+#define ICorProfilerCallback10_DynamicMethodUnloaded(This,functionId)  \
+    ( (This)->lpVtbl -> DynamicMethodUnloaded(This,functionId) ) 
 
 
-#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_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) )
+#define ICorProfilerCallback10_EventPipeProviderCreated(This,provider) \
+    ( (This)->lpVtbl -> EventPipeProviderCreated(This,provider) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerCallback10_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerCallback10_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerCallback11_INTERFACE_DEFINED__
 #define __ICorProfilerCallback11_INTERFACE_DEFINED__
 
 /* interface ICorProfilerCallback11 */
-/* [local][unique][uuid][object] */
+/* [local][unique][uuid][object] */ 
 
 
 EXTERN_C const IID IID_ICorProfilerCallback11;
 
 #if defined(__cplusplus) && !defined(CINTERFACE)
-
+    
     MIDL_INTERFACE("42350846-AAED-47F7-B128-FD0C98881CDE")
     ICorProfilerCallback11 : public ICorProfilerCallback10
     {
     public:
-        virtual HRESULT STDMETHODCALLTYPE LoadAsNotificationOnly(
+        virtual HRESULT STDMETHODCALLTYPE LoadAsNotificationOnly( 
             BOOL *pbNotificationOnly) = 0;
-
+        
     };
-
-
-#else   /* C style interface */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerCallback11Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerCallback11 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerCallback11 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerCallback11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Initialize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
+        HRESULT ( STDMETHODCALLTYPE *Initialize )( 
             ICorProfilerCallback11 * This,
             /* [in] */ IUnknown *pICorProfilerInfoUnk);
-
-        HRESULT ( STDMETHODCALLTYPE *Shutdown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
+        HRESULT ( STDMETHODCALLTYPE *Shutdown )( 
             ICorProfilerCallback11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( 
             ICorProfilerCallback11 * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( 
             ICorProfilerCallback11 * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( 
             ICorProfilerCallback11 * This,
             /* [in] */ AppDomainID appDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
+        HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( 
             ICorProfilerCallback11 * This,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( 
             ICorProfilerCallback11 * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( 
             ICorProfilerCallback11 * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( 
             ICorProfilerCallback11 * This,
             /* [in] */ AssemblyID assemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( 
             ICorProfilerCallback11 * This,
             /* [in] */ AssemblyID assemblyId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
+        HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ AssemblyID AssemblyId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
+        HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ClassID classId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
+        HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( 
             ICorProfilerCallback11 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( 
             ICorProfilerCallback11 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( 
             ICorProfilerCallback11 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( 
             ICorProfilerCallback11 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ BOOL *pbUseCachedFunction);
-
-        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
+        HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( 
             ICorProfilerCallback11 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_JIT_CACHE result);
-
-        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
+        HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( 
             ICorProfilerCallback11 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *JITInlining )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
+        HRESULT ( STDMETHODCALLTYPE *JITInlining )( 
             ICorProfilerCallback11 * This,
             /* [in] */ FunctionID callerId,
             /* [in] */ FunctionID calleeId,
             /* [out] */ BOOL *pfShouldInline);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
+        HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
+        HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ThreadID managedThreadId,
             /* [in] */ DWORD osThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( 
             ICorProfilerCallback11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( 
             ICorProfilerCallback11 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( 
             ICorProfilerCallback11 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
+        HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( 
             ICorProfilerCallback11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( 
             ICorProfilerCallback11 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( 
             ICorProfilerCallback11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( 
             ICorProfilerCallback11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
+        HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( 
             ICorProfilerCallback11 * This,
             /* [in] */ GUID *pCookie,
             /* [in] */ BOOL fIsAsync);
-
-        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( 
             ICorProfilerCallback11 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
+        HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( 
             ICorProfilerCallback11 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_TRANSITION_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( 
             ICorProfilerCallback11 * This,
             /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( 
             ICorProfilerCallback11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( 
             ICorProfilerCallback11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( 
             ICorProfilerCallback11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( 
             ICorProfilerCallback11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
+        HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ThreadID threadId);
-
-        HRESULT ( STDMETHODCALLTYPE *MovedReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, MovedReferences)
+        HRESULT ( STDMETHODCALLTYPE *MovedReferences )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ULONG cMovedObjectIDRanges,
             /* [size_is][in] */ ObjectID oldObjectIDRangeStart[  ],
             /* [size_is][in] */ ObjectID newObjectIDRangeStart[  ],
             /* [size_is][in] */ ULONG cObjectIDRangeLength[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
+        HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
+        HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ULONG cClassCount,
             /* [size_is][in] */ ClassID classIds[  ],
             /* [size_is][in] */ ULONG cObjects[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
+        HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ClassID classId,
             /* [in] */ ULONG cObjectRefs,
             /* [size_is][in] */ ObjectID objectRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
+        HRESULT ( STDMETHODCALLTYPE *RootReferences )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ULONG cRootRefs,
             /* [size_is][in] */ ObjectID rootRefIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ObjectID thrownObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( 
             ICorProfilerCallback11 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( 
             ICorProfilerCallback11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( 
             ICorProfilerCallback11 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( 
             ICorProfilerCallback11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( 
             ICorProfilerCallback11 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( 
             ICorProfilerCallback11 * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( 
             ICorProfilerCallback11 * This,
             /* [in] */ UINT_PTR __unused);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( 
             ICorProfilerCallback11 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( 
             ICorProfilerCallback11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( 
             ICorProfilerCallback11 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( 
             ICorProfilerCallback11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( 
             ICorProfilerCallback11 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ObjectID objectId);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( 
             ICorProfilerCallback11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable,
             /* [in] */ ULONG cSlots);
-
-        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ClassID wrappedClassId,
             /* [in] */ REFGUID implementedIID,
             /* [in] */ void *pVTable);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( 
             ICorProfilerCallback11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
+        HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( 
             ICorProfilerCallback11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged)
+        HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ThreadID threadId,
             /* [in] */ ULONG cchName,
-            /* [annotation][in] */
+            /* [annotation][in] */ 
             _In_reads_opt_(cchName)  WCHAR name[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted)
+        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( 
             ICorProfilerCallback11 * This,
             /* [in] */ int cGenerations,
             /* [size_is][in] */ BOOL generationCollected[  ],
             /* [in] */ COR_PRF_GC_REASON reason);
-
-        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences)
+        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ULONG cSurvivingObjectIDRanges,
             /* [size_is][in] */ ObjectID objectIDRangeStart[  ],
             /* [size_is][in] */ ULONG cObjectIDRangeLength[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished)
+        HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( 
             ICorProfilerCallback11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued)
+        HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( 
             ICorProfilerCallback11 * This,
             /* [in] */ DWORD finalizerFlags,
             /* [in] */ ObjectID objectID);
-
-        HRESULT ( STDMETHODCALLTYPE *RootReferences2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, RootReferences2)
+        HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( 
             ICorProfilerCallback11 * 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated)
+        HRESULT ( STDMETHODCALLTYPE *HandleCreated )( 
             ICorProfilerCallback11 * This,
             /* [in] */ GCHandleID handleId,
             /* [in] */ ObjectID initialObjectId);
-
-        HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed)
+        HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( 
             ICorProfilerCallback11 * This,
             /* [in] */ GCHandleID handleId);
-
-        HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach)
+        HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( 
             ICorProfilerCallback11 * This,
             /* [in] */ IUnknown *pCorProfilerInfoUnk,
             /* [in] */ void *pvClientData,
             /* [in] */ UINT cbClientData);
-
-        HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete)
+        HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( 
             ICorProfilerCallback11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded)
+        HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( 
             ICorProfilerCallback11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( 
             ICorProfilerCallback11 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ReJITID rejitId,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters)
+        HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [in] */ ICorProfilerFunctionControl *pFunctionControl);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( 
             ICorProfilerCallback11 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ReJITID rejitId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *ReJITError )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError)
+        HRESULT ( STDMETHODCALLTYPE *ReJITError )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus);
-
-        HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, MovedReferences2)
+        HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ULONG cMovedObjectIDRanges,
             /* [size_is][in] */ ObjectID oldObjectIDRangeStart[  ],
             /* [size_is][in] */ ObjectID newObjectIDRangeStart[  ],
             /* [size_is][in] */ SIZE_T cObjectIDRangeLength[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2)
+        HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ULONG cSurvivingObjectIDRanges,
             /* [size_is][in] */ ObjectID objectIDRangeStart[  ],
             /* [size_is][in] */ SIZE_T cObjectIDRangeLength[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback5, ConditionalWeakTableElementReferences)
+        HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( 
             ICorProfilerCallback11 * This,
             /* [in] */ ULONG cRootRefs,
             /* [size_is][in] */ ObjectID keyRefIds[  ],
             /* [size_is][in] */ ObjectID valueRefIds[  ],
             /* [size_is][in] */ GCHandleID rootIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback6, GetAssemblyReferences)
+        HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( 
             ICorProfilerCallback11 * This,
             /* [string][in] */ const WCHAR *wszAssemblyPath,
             /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider);
-
-        HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback7, ModuleInMemorySymbolsUpdated)
+        HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( 
             ICorProfilerCallback11 * This,
             ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationStarted)
+        HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )( 
             ICorProfilerCallback11 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ BOOL fIsSafeToBlock,
             /* [in] */ LPCBYTE pILHeader,
             /* [in] */ ULONG cbILHeader);
-
-        HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationFinished)
+        HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )( 
             ICorProfilerCallback11 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ HRESULT hrStatus,
             /* [in] */ BOOL fIsSafeToBlock);
-
-        HRESULT ( STDMETHODCALLTYPE *DynamicMethodUnloaded )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback9, DynamicMethodUnloaded)
+        HRESULT ( STDMETHODCALLTYPE *DynamicMethodUnloaded )( 
             ICorProfilerCallback11 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *EventPipeEventDelivered )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback10, EventPipeEventDelivered)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeEventDelivered )( 
             ICorProfilerCallback11 * This,
             /* [in] */ EVENTPIPE_PROVIDER provider,
             /* [in] */ DWORD eventId,
@@ -8852,15 +9848,17 @@ EXTERN_C const IID IID_ICorProfilerCallback11;
             /* [in] */ ThreadID eventThread,
             /* [in] */ ULONG numStackFrames,
             /* [length_is][in] */ UINT_PTR stackFrames[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *EventPipeProviderCreated )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback10, EventPipeProviderCreated)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeProviderCreated )( 
             ICorProfilerCallback11 * This,
             /* [in] */ EVENTPIPE_PROVIDER provider);
-
-        HRESULT ( STDMETHODCALLTYPE *LoadAsNotificationOnly )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerCallback11, LoadAsNotificationOnly)
+        HRESULT ( STDMETHODCALLTYPE *LoadAsNotificationOnly )( 
             ICorProfilerCallback11 * This,
             BOOL *pbNotificationOnly);
-
+        
         END_INTERFACE
     } ICorProfilerCallback11Vtbl;
 
@@ -8869,336 +9867,336 @@ EXTERN_C const IID IID_ICorProfilerCallback11;
         CONST_VTBL struct ICorProfilerCallback11Vtbl *lpVtbl;
     };
 
-
+    
 
 #ifdef COBJMACROS
 
 
-#define ICorProfilerCallback11_QueryInterface(This,riid,ppvObject)  \
-    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+#define ICorProfilerCallback11_QueryInterface(This,riid,ppvObject)     \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerCallback11_AddRef(This) \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerCallback11_AddRef(This)    \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerCallback11_Release(This)    \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerCallback11_Release(This)   \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerCallback11_Initialize(This,pICorProfilerInfoUnk)    \
-    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) )
+#define ICorProfilerCallback11_Initialize(This,pICorProfilerInfoUnk)   \
+    ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) 
 
-#define ICorProfilerCallback11_Shutdown(This)   \
-    ( (This)->lpVtbl -> Shutdown(This) )
+#define ICorProfilerCallback11_Shutdown(This)  \
+    ( (This)->lpVtbl -> Shutdown(This) ) 
 
-#define ICorProfilerCallback11_AppDomainCreationStarted(This,appDomainId)   \
-    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) )
+#define ICorProfilerCallback11_AppDomainCreationStarted(This,appDomainId)      \
+    ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback11_AppDomainCreationFinished(This,appDomainId,hrStatus) \
-    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback11_AppDomainCreationFinished(This,appDomainId,hrStatus)    \
+    ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback11_AppDomainShutdownStarted(This,appDomainId)   \
-    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) )
+#define ICorProfilerCallback11_AppDomainShutdownStarted(This,appDomainId)      \
+    ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) 
 
-#define ICorProfilerCallback11_AppDomainShutdownFinished(This,appDomainId,hrStatus) \
-    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) )
+#define ICorProfilerCallback11_AppDomainShutdownFinished(This,appDomainId,hrStatus)    \
+    ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) 
 
-#define ICorProfilerCallback11_AssemblyLoadStarted(This,assemblyId) \
-    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) )
+#define ICorProfilerCallback11_AssemblyLoadStarted(This,assemblyId)    \
+    ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback11_AssemblyLoadFinished(This,assemblyId,hrStatus)   \
-    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback11_AssemblyLoadFinished(This,assemblyId,hrStatus)  \
+    ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback11_AssemblyUnloadStarted(This,assemblyId)   \
-    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) )
+#define ICorProfilerCallback11_AssemblyUnloadStarted(This,assemblyId)  \
+    ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) 
 
-#define ICorProfilerCallback11_AssemblyUnloadFinished(This,assemblyId,hrStatus) \
-    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) )
+#define ICorProfilerCallback11_AssemblyUnloadFinished(This,assemblyId,hrStatus)        \
+    ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) 
 
-#define ICorProfilerCallback11_ModuleLoadStarted(This,moduleId) \
-    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) )
+#define ICorProfilerCallback11_ModuleLoadStarted(This,moduleId)        \
+    ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback11_ModuleLoadFinished(This,moduleId,hrStatus)   \
-    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback11_ModuleLoadFinished(This,moduleId,hrStatus)      \
+    ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback11_ModuleUnloadStarted(This,moduleId)   \
-    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) )
+#define ICorProfilerCallback11_ModuleUnloadStarted(This,moduleId)      \
+    ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) 
 
-#define ICorProfilerCallback11_ModuleUnloadFinished(This,moduleId,hrStatus) \
-    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) )
+#define ICorProfilerCallback11_ModuleUnloadFinished(This,moduleId,hrStatus)    \
+    ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) 
 
-#define ICorProfilerCallback11_ModuleAttachedToAssembly(This,moduleId,AssemblyId)   \
-    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) )
+#define ICorProfilerCallback11_ModuleAttachedToAssembly(This,moduleId,AssemblyId)      \
+    ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) 
 
-#define ICorProfilerCallback11_ClassLoadStarted(This,classId)   \
-    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) )
+#define ICorProfilerCallback11_ClassLoadStarted(This,classId)  \
+    ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) 
 
-#define ICorProfilerCallback11_ClassLoadFinished(This,classId,hrStatus) \
-    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback11_ClassLoadFinished(This,classId,hrStatus)        \
+    ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback11_ClassUnloadStarted(This,classId) \
-    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) )
+#define ICorProfilerCallback11_ClassUnloadStarted(This,classId)        \
+    ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) 
 
-#define ICorProfilerCallback11_ClassUnloadFinished(This,classId,hrStatus)   \
-    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) )
+#define ICorProfilerCallback11_ClassUnloadFinished(This,classId,hrStatus)      \
+    ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) 
 
-#define ICorProfilerCallback11_FunctionUnloadStarted(This,functionId)   \
-    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) )
+#define ICorProfilerCallback11_FunctionUnloadStarted(This,functionId)  \
+    ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) 
 
-#define ICorProfilerCallback11_JITCompilationStarted(This,functionId,fIsSafeToBlock)    \
-    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) )
+#define ICorProfilerCallback11_JITCompilationStarted(This,functionId,fIsSafeToBlock)   \
+    ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback11_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)  \
-    ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) )
+#define ICorProfilerCallback11_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \
+    ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback11_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)  \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) )
+#define ICorProfilerCallback11_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction)     \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) 
 
-#define ICorProfilerCallback11_JITCachedFunctionSearchFinished(This,functionId,result)  \
-    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) )
+#define ICorProfilerCallback11_JITCachedFunctionSearchFinished(This,functionId,result) \
+    ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) 
 
-#define ICorProfilerCallback11_JITFunctionPitched(This,functionId)  \
-    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) )
+#define ICorProfilerCallback11_JITFunctionPitched(This,functionId)     \
+    ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) 
 
-#define ICorProfilerCallback11_JITInlining(This,callerId,calleeId,pfShouldInline)   \
-    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) )
+#define ICorProfilerCallback11_JITInlining(This,callerId,calleeId,pfShouldInline)      \
+    ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) 
 
-#define ICorProfilerCallback11_ThreadCreated(This,threadId) \
-    ( (This)->lpVtbl -> ThreadCreated(This,threadId) )
+#define ICorProfilerCallback11_ThreadCreated(This,threadId)    \
+    ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) 
 
-#define ICorProfilerCallback11_ThreadDestroyed(This,threadId)   \
-    ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) )
+#define ICorProfilerCallback11_ThreadDestroyed(This,threadId)  \
+    ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) 
 
-#define ICorProfilerCallback11_ThreadAssignedToOSThread(This,managedThreadId,osThreadId)    \
-    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) )
+#define ICorProfilerCallback11_ThreadAssignedToOSThread(This,managedThreadId,osThreadId)       \
+    ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) 
 
-#define ICorProfilerCallback11_RemotingClientInvocationStarted(This)    \
-    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) )
+#define ICorProfilerCallback11_RemotingClientInvocationStarted(This)   \
+    ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) 
 
-#define ICorProfilerCallback11_RemotingClientSendingMessage(This,pCookie,fIsAsync)  \
-    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback11_RemotingClientSendingMessage(This,pCookie,fIsAsync)     \
+    ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback11_RemotingClientReceivingReply(This,pCookie,fIsAsync)  \
-    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback11_RemotingClientReceivingReply(This,pCookie,fIsAsync)     \
+    ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback11_RemotingClientInvocationFinished(This)   \
-    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) )
+#define ICorProfilerCallback11_RemotingClientInvocationFinished(This)  \
+    ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) 
 
-#define ICorProfilerCallback11_RemotingServerReceivingMessage(This,pCookie,fIsAsync)    \
-    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback11_RemotingServerReceivingMessage(This,pCookie,fIsAsync)   \
+    ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback11_RemotingServerInvocationStarted(This)    \
-    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) )
+#define ICorProfilerCallback11_RemotingServerInvocationStarted(This)   \
+    ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) 
 
-#define ICorProfilerCallback11_RemotingServerInvocationReturned(This)   \
-    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) )
+#define ICorProfilerCallback11_RemotingServerInvocationReturned(This)  \
+    ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) 
 
-#define ICorProfilerCallback11_RemotingServerSendingReply(This,pCookie,fIsAsync)    \
-    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback11_RemotingServerSendingReply(This,pCookie,fIsAsync)       \
+    ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) 
 
-#define ICorProfilerCallback11_UnmanagedToManagedTransition(This,functionId,reason) \
-    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback11_UnmanagedToManagedTransition(This,functionId,reason)    \
+    ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback11_ManagedToUnmanagedTransition(This,functionId,reason) \
-    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback11_ManagedToUnmanagedTransition(This,functionId,reason)    \
+    ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) 
 
-#define ICorProfilerCallback11_RuntimeSuspendStarted(This,suspendReason)    \
-    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) )
+#define ICorProfilerCallback11_RuntimeSuspendStarted(This,suspendReason)       \
+    ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) 
 
-#define ICorProfilerCallback11_RuntimeSuspendFinished(This) \
-    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) )
+#define ICorProfilerCallback11_RuntimeSuspendFinished(This)    \
+    ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) 
 
-#define ICorProfilerCallback11_RuntimeSuspendAborted(This)  \
-    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) )
+#define ICorProfilerCallback11_RuntimeSuspendAborted(This)     \
+    ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) 
 
-#define ICorProfilerCallback11_RuntimeResumeStarted(This)   \
-    ( (This)->lpVtbl -> RuntimeResumeStarted(This) )
+#define ICorProfilerCallback11_RuntimeResumeStarted(This)      \
+    ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) 
 
-#define ICorProfilerCallback11_RuntimeResumeFinished(This)  \
-    ( (This)->lpVtbl -> RuntimeResumeFinished(This) )
+#define ICorProfilerCallback11_RuntimeResumeFinished(This)     \
+    ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) 
 
-#define ICorProfilerCallback11_RuntimeThreadSuspended(This,threadId)    \
-    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) )
+#define ICorProfilerCallback11_RuntimeThreadSuspended(This,threadId)   \
+    ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) 
 
-#define ICorProfilerCallback11_RuntimeThreadResumed(This,threadId)  \
-    ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) )
+#define ICorProfilerCallback11_RuntimeThreadResumed(This,threadId)     \
+    ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) 
 
-#define ICorProfilerCallback11_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength)  \
-    ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) )
+#define ICorProfilerCallback11_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength)     \
+    ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) 
 
-#define ICorProfilerCallback11_ObjectAllocated(This,objectId,classId)   \
-    ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) )
+#define ICorProfilerCallback11_ObjectAllocated(This,objectId,classId)  \
+    ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) 
 
-#define ICorProfilerCallback11_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects)  \
-    ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) )
+#define ICorProfilerCallback11_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects)     \
+    ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) 
 
-#define ICorProfilerCallback11_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \
-    ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) )
+#define ICorProfilerCallback11_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds)        \
+    ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) 
 
-#define ICorProfilerCallback11_RootReferences(This,cRootRefs,rootRefIds)    \
-    ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) )
+#define ICorProfilerCallback11_RootReferences(This,cRootRefs,rootRefIds)       \
+    ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) 
 
-#define ICorProfilerCallback11_ExceptionThrown(This,thrownObjectId) \
-    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) )
+#define ICorProfilerCallback11_ExceptionThrown(This,thrownObjectId)    \
+    ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) 
 
-#define ICorProfilerCallback11_ExceptionSearchFunctionEnter(This,functionId)    \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) )
+#define ICorProfilerCallback11_ExceptionSearchFunctionEnter(This,functionId)   \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback11_ExceptionSearchFunctionLeave(This)   \
-    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) )
+#define ICorProfilerCallback11_ExceptionSearchFunctionLeave(This)      \
+    ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) 
 
-#define ICorProfilerCallback11_ExceptionSearchFilterEnter(This,functionId)  \
-    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) )
+#define ICorProfilerCallback11_ExceptionSearchFilterEnter(This,functionId)     \
+    ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) 
 
-#define ICorProfilerCallback11_ExceptionSearchFilterLeave(This) \
-    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) )
+#define ICorProfilerCallback11_ExceptionSearchFilterLeave(This)        \
+    ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) 
 
-#define ICorProfilerCallback11_ExceptionSearchCatcherFound(This,functionId) \
-    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) )
+#define ICorProfilerCallback11_ExceptionSearchCatcherFound(This,functionId)    \
+    ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) 
 
-#define ICorProfilerCallback11_ExceptionOSHandlerEnter(This,__unused)   \
-    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) )
+#define ICorProfilerCallback11_ExceptionOSHandlerEnter(This,__unused)  \
+    ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) 
 
-#define ICorProfilerCallback11_ExceptionOSHandlerLeave(This,__unused)   \
-    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) )
+#define ICorProfilerCallback11_ExceptionOSHandlerLeave(This,__unused)  \
+    ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) 
 
-#define ICorProfilerCallback11_ExceptionUnwindFunctionEnter(This,functionId)    \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) )
+#define ICorProfilerCallback11_ExceptionUnwindFunctionEnter(This,functionId)   \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) 
 
-#define ICorProfilerCallback11_ExceptionUnwindFunctionLeave(This)   \
-    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) )
+#define ICorProfilerCallback11_ExceptionUnwindFunctionLeave(This)      \
+    ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) 
 
-#define ICorProfilerCallback11_ExceptionUnwindFinallyEnter(This,functionId) \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) )
+#define ICorProfilerCallback11_ExceptionUnwindFinallyEnter(This,functionId)    \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) 
 
-#define ICorProfilerCallback11_ExceptionUnwindFinallyLeave(This)    \
-    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) )
+#define ICorProfilerCallback11_ExceptionUnwindFinallyLeave(This)       \
+    ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) 
 
-#define ICorProfilerCallback11_ExceptionCatcherEnter(This,functionId,objectId)  \
-    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) )
+#define ICorProfilerCallback11_ExceptionCatcherEnter(This,functionId,objectId) \
+    ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) 
 
-#define ICorProfilerCallback11_ExceptionCatcherLeave(This)  \
-    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) )
+#define ICorProfilerCallback11_ExceptionCatcherLeave(This)     \
+    ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) 
 
-#define ICorProfilerCallback11_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots)   \
-    ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) )
+#define ICorProfilerCallback11_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots)      \
+    ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) 
 
-#define ICorProfilerCallback11_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable)    \
-    ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) )
+#define ICorProfilerCallback11_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable)   \
+    ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) 
 
-#define ICorProfilerCallback11_ExceptionCLRCatcherFound(This)   \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) )
+#define ICorProfilerCallback11_ExceptionCLRCatcherFound(This)  \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) 
 
-#define ICorProfilerCallback11_ExceptionCLRCatcherExecute(This) \
-    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) )
+#define ICorProfilerCallback11_ExceptionCLRCatcherExecute(This)        \
+    ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) 
 
 
-#define ICorProfilerCallback11_ThreadNameChanged(This,threadId,cchName,name)    \
-    ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) )
+#define ICorProfilerCallback11_ThreadNameChanged(This,threadId,cchName,name)   \
+    ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) 
 
-#define ICorProfilerCallback11_GarbageCollectionStarted(This,cGenerations,generationCollected,reason)   \
-    ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) )
+#define ICorProfilerCallback11_GarbageCollectionStarted(This,cGenerations,generationCollected,reason)  \
+    ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) 
 
-#define ICorProfilerCallback11_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength)   \
-    ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) )
+#define ICorProfilerCallback11_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength)      \
+    ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) 
 
-#define ICorProfilerCallback11_GarbageCollectionFinished(This)  \
-    ( (This)->lpVtbl -> GarbageCollectionFinished(This) )
+#define ICorProfilerCallback11_GarbageCollectionFinished(This) \
+    ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) 
 
-#define ICorProfilerCallback11_FinalizeableObjectQueued(This,finalizerFlags,objectID)   \
-    ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) )
+#define ICorProfilerCallback11_FinalizeableObjectQueued(This,finalizerFlags,objectID)  \
+    ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) 
 
-#define ICorProfilerCallback11_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds)   \
-    ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) )
+#define ICorProfilerCallback11_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds)  \
+    ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) 
 
-#define ICorProfilerCallback11_HandleCreated(This,handleId,initialObjectId) \
-    ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) )
+#define ICorProfilerCallback11_HandleCreated(This,handleId,initialObjectId)    \
+    ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) 
 
-#define ICorProfilerCallback11_HandleDestroyed(This,handleId)   \
-    ( (This)->lpVtbl -> HandleDestroyed(This,handleId) )
+#define ICorProfilerCallback11_HandleDestroyed(This,handleId)  \
+    ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) 
 
 
-#define ICorProfilerCallback11_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData)  \
-    ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) )
+#define ICorProfilerCallback11_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \
+    ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) 
 
-#define ICorProfilerCallback11_ProfilerAttachComplete(This) \
-    ( (This)->lpVtbl -> ProfilerAttachComplete(This) )
+#define ICorProfilerCallback11_ProfilerAttachComplete(This)    \
+    ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) 
 
-#define ICorProfilerCallback11_ProfilerDetachSucceeded(This)    \
-    ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) )
+#define ICorProfilerCallback11_ProfilerDetachSucceeded(This)   \
+    ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) 
 
 
-#define ICorProfilerCallback11_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock)  \
-    ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) )
+#define ICorProfilerCallback11_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) \
+    ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback11_GetReJITParameters(This,moduleId,methodId,pFunctionControl)  \
-    ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) )
+#define ICorProfilerCallback11_GetReJITParameters(This,moduleId,methodId,pFunctionControl)     \
+    ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) 
 
-#define ICorProfilerCallback11_ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock)    \
-    ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) )
+#define ICorProfilerCallback11_ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock)       \
+    ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) 
 
-#define ICorProfilerCallback11_ReJITError(This,moduleId,methodId,functionId,hrStatus)   \
-    ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) )
+#define ICorProfilerCallback11_ReJITError(This,moduleId,methodId,functionId,hrStatus)  \
+    ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) 
 
-#define ICorProfilerCallback11_MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \
-    ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) )
+#define ICorProfilerCallback11_MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength)    \
+    ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) 
 
-#define ICorProfilerCallback11_SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength)  \
-    ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) )
+#define ICorProfilerCallback11_SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength)     \
+    ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) 
 
 
-#define ICorProfilerCallback11_ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds)  \
-    ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) )
+#define ICorProfilerCallback11_ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds)     \
+    ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) 
 
 
-#define ICorProfilerCallback11_GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider)  \
-    ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) )
+#define ICorProfilerCallback11_GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider)     \
+    ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) 
 
 
-#define ICorProfilerCallback11_ModuleInMemorySymbolsUpdated(This,moduleId)  \
-    ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) )
+#define ICorProfilerCallback11_ModuleInMemorySymbolsUpdated(This,moduleId)     \
+    ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) 
 
 
-#define ICorProfilerCallback11_DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader)  \
-    ( (This)->lpVtbl -> DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) )
+#define ICorProfilerCallback11_DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) \
+    ( (This)->lpVtbl -> DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) ) 
 
-#define ICorProfilerCallback11_DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \
-    ( (This)->lpVtbl -> DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) )
+#define ICorProfilerCallback11_DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock)    \
+    ( (This)->lpVtbl -> DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) 
 
 
-#define ICorProfilerCallback11_DynamicMethodUnloaded(This,functionId)   \
-    ( (This)->lpVtbl -> DynamicMethodUnloaded(This,functionId) )
+#define ICorProfilerCallback11_DynamicMethodUnloaded(This,functionId)  \
+    ( (This)->lpVtbl -> DynamicMethodUnloaded(This,functionId) ) 
 
 
-#define ICorProfilerCallback11_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 ICorProfilerCallback11_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 ICorProfilerCallback11_EventPipeProviderCreated(This,provider)  \
-    ( (This)->lpVtbl -> EventPipeProviderCreated(This,provider) )
+#define ICorProfilerCallback11_EventPipeProviderCreated(This,provider) \
+    ( (This)->lpVtbl -> EventPipeProviderCreated(This,provider) ) 
 
 
-#define ICorProfilerCallback11_LoadAsNotificationOnly(This,pbNotificationOnly)  \
-    ( (This)->lpVtbl -> LoadAsNotificationOnly(This,pbNotificationOnly) )
+#define ICorProfilerCallback11_LoadAsNotificationOnly(This,pbNotificationOnly) \
+    ( (This)->lpVtbl -> LoadAsNotificationOnly(This,pbNotificationOnly) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerCallback11_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerCallback11_INTERFACE_DEFINED__ */
 
 
 /* interface __MIDL_itf_corprof_0000_0011 */
-/* [local] */
+/* [local] */ 
 
-typedef /* [public] */
+typedef /* [public] */ 
 enum __MIDL___MIDL_itf_corprof_0000_0011_0001
     {
-        COR_PRF_CODEGEN_DISABLE_INLINING    = 0x1,
-        COR_PRF_CODEGEN_DISABLE_ALL_OPTIMIZATIONS   = 0x2
-    }   COR_PRF_CODEGEN_FLAGS;
+        COR_PRF_CODEGEN_DISABLE_INLINING       = 0x1,
+        COR_PRF_CODEGEN_DISABLE_ALL_OPTIMIZATIONS      = 0x2
+    }  COR_PRF_CODEGEN_FLAGS;
 
 
 
@@ -9209,383 +10207,419 @@ extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0011_v0_0_s_ifspec;
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerInfoVtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerInfo * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerInfo * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerInfo * This);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( 
             ICorProfilerInfo * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( 
             ICorProfilerInfo * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdTypeDef typeDef,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( 
             ICorProfilerInfo * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ LPCBYTE *pStart,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask )( 
             ICorProfilerInfo * This,
             /* [out] */ DWORD *pdwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( 
             ICorProfilerInfo * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( 
             ICorProfilerInfo * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdToken token,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
+        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( 
             ICorProfilerInfo * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ HANDLE *phThread);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( 
             ICorProfilerInfo * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
+        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( 
             ICorProfilerInfo * This,
             /* [in] */ ClassID classId,
             /* [out] */ CorElementType *pBaseElemType,
             /* [out] */ ClassID *pBaseClassId,
             /* [out] */ ULONG *pcRank);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( 
             ICorProfilerInfo * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ DWORD *pdwWin32ThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
+        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( 
             ICorProfilerInfo * This,
             /* [out] */ ThreadID *pThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( 
             ICorProfilerInfo * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdTypeDef *pTypeDefToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( 
             ICorProfilerInfo * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ ClassID *pClassId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask )( 
             ICorProfilerInfo * This,
             /* [in] */ DWORD dwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( 
             ICorProfilerInfo * This,
             /* [in] */ FunctionEnter *pFuncEnter,
             /* [in] */ FunctionLeave *pFuncLeave,
             /* [in] */ FunctionTailcall *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( 
             ICorProfilerInfo * This,
             /* [in] */ FunctionIDMapper *pFunc);
-
-        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
+        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( 
             ICorProfilerInfo * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppImport,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
+        HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( 
             ICorProfilerInfo * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ DWORD dwOpenFlags,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppOut);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( 
             ICorProfilerInfo * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [out] */ LPCBYTE *ppMethodHeader,
             /* [out] */ ULONG *pcbMethodSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( 
             ICorProfilerInfo * This,
             /* [in] */ ModuleID moduleId,
             /* [out] */ IMethodMalloc **ppMalloc);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( 
             ICorProfilerInfo * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodid,
             /* [in] */ LPCBYTE pbNewILMethodHeader);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( 
             ICorProfilerInfo * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
+        HRESULT ( STDMETHODCALLTYPE *ForceGC )( 
             ICorProfilerInfo * This);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( 
             ICorProfilerInfo * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( 
             ICorProfilerInfo * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( 
             ICorProfilerInfo * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ ContextID *pContextId);
-
-        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( 
             ICorProfilerInfo * This,
             /* [in] */ BOOL fThisThreadOnly,
             /* [out] */ DWORD *pdwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( 
             ICorProfilerInfo * This,
             /* [in] */ DWORD dwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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;
 
@@ -9594,160 +10628,160 @@ 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) )
+#define ICorProfilerInfo_QueryInterface(This,riid,ppvObject)   \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerInfo_AddRef(This)   \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerInfo_AddRef(This)  \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerInfo_Release(This)  \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerInfo_Release(This) \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerInfo_GetClassFromObject(This,objectId,pClassId) \
-    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
+#define ICorProfilerInfo_GetClassFromObject(This,objectId,pClassId)    \
+    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) 
 
-#define ICorProfilerInfo_GetClassFromToken(This,moduleId,typeDef,pClassId)  \
-    ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
+#define ICorProfilerInfo_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) )
+#define ICorProfilerInfo_GetCodeInfo(This,functionId,pStart,pcSize)    \
+    ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) 
 
-#define ICorProfilerInfo_GetEventMask(This,pdwEvents)   \
-    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
+#define ICorProfilerInfo_GetEventMask(This,pdwEvents)  \
+    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) 
 
-#define ICorProfilerInfo_GetFunctionFromIP(This,ip,pFunctionId) \
-    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+#define ICorProfilerInfo_GetFunctionFromIP(This,ip,pFunctionId)        \
+    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) 
 
-#define ICorProfilerInfo_GetFunctionFromToken(This,moduleId,token,pFunctionId)  \
-    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
+#define ICorProfilerInfo_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
+    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) 
 
-#define ICorProfilerInfo_GetHandleFromThread(This,threadId,phThread)    \
-    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+#define ICorProfilerInfo_GetHandleFromThread(This,threadId,phThread)   \
+    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) 
 
-#define ICorProfilerInfo_GetObjectSize(This,objectId,pcSize)    \
-    ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
+#define ICorProfilerInfo_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) )
+#define ICorProfilerInfo_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) )
+#define ICorProfilerInfo_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
+    ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) 
 
-#define ICorProfilerInfo_GetCurrentThreadID(This,pThreadId) \
-    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+#define ICorProfilerInfo_GetCurrentThreadID(This,pThreadId)    \
+    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) 
 
-#define ICorProfilerInfo_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken)   \
-    ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
+#define ICorProfilerInfo_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) )
+#define ICorProfilerInfo_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken)    \
+    ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) 
 
-#define ICorProfilerInfo_SetEventMask(This,dwEvents)    \
-    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
+#define ICorProfilerInfo_SetEventMask(This,dwEvents)   \
+    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) 
 
-#define ICorProfilerInfo_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall)   \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+#define ICorProfilerInfo_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall)  \
+    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) 
 
-#define ICorProfilerInfo_SetFunctionIDMapper(This,pFunc)    \
-    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+#define ICorProfilerInfo_SetFunctionIDMapper(This,pFunc)       \
+    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) 
 
-#define ICorProfilerInfo_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken)  \
-    ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
+#define ICorProfilerInfo_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) )
+#define ICorProfilerInfo_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) )
+#define ICorProfilerInfo_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) )
+#define ICorProfilerInfo_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) )
+#define ICorProfilerInfo_GetILFunctionBodyAllocator(This,moduleId,ppMalloc)    \
+    ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) 
 
-#define ICorProfilerInfo_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader)  \
-    ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
+#define ICorProfilerInfo_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) )
+#define ICorProfilerInfo_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) )
+#define ICorProfilerInfo_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) )
+#define ICorProfilerInfo_SetFunctionReJIT(This,functionId)     \
+    ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) 
 
-#define ICorProfilerInfo_ForceGC(This)  \
-    ( (This)->lpVtbl -> ForceGC(This) )
+#define ICorProfilerInfo_ForceGC(This) \
+    ( (This)->lpVtbl -> ForceGC(This) ) 
 
-#define ICorProfilerInfo_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)   \
-    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+#define ICorProfilerInfo_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)      \
+    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) 
 
-#define ICorProfilerInfo_GetInprocInspectionInterface(This,ppicd)   \
-    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
+#define ICorProfilerInfo_GetInprocInspectionInterface(This,ppicd)      \
+    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) 
 
-#define ICorProfilerInfo_GetInprocInspectionIThisThread(This,ppicd) \
-    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
+#define ICorProfilerInfo_GetInprocInspectionIThisThread(This,ppicd)    \
+    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) 
 
-#define ICorProfilerInfo_GetThreadContext(This,threadId,pContextId) \
-    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
+#define ICorProfilerInfo_GetThreadContext(This,threadId,pContextId)    \
+    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) 
 
-#define ICorProfilerInfo_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext)  \
-    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
+#define ICorProfilerInfo_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
+    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) 
 
-#define ICorProfilerInfo_EndInprocDebugging(This,dwProfilerContext) \
-    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
+#define ICorProfilerInfo_EndInprocDebugging(This,dwProfilerContext)    \
+    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) 
 
-#define ICorProfilerInfo_GetILToNativeMapping(This,functionId,cMap,pcMap,map)   \
-    ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
+#define ICorProfilerInfo_GetILToNativeMapping(This,functionId,cMap,pcMap,map)  \
+    ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerInfo_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerInfo_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo2_INTERFACE_DEFINED__
 #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,
@@ -9756,20 +10790,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,
@@ -9777,298 +10811,335 @@ 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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerInfo2Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerInfo2 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerInfo2 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerInfo2 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdTypeDef typeDef,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( 
             ICorProfilerInfo2 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ LPCBYTE *pStart,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask )( 
             ICorProfilerInfo2 * This,
             /* [out] */ DWORD *pdwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( 
             ICorProfilerInfo2 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdToken token,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
+        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ HANDLE *phThread);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
+        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ClassID classId,
             /* [out] */ CorElementType *pBaseElemType,
             /* [out] */ ClassID *pBaseClassId,
             /* [out] */ ULONG *pcRank);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ DWORD *pdwWin32ThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
+        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( 
             ICorProfilerInfo2 * This,
             /* [out] */ ThreadID *pThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdTypeDef *pTypeDefToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( 
             ICorProfilerInfo2 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ ClassID *pClassId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask )( 
             ICorProfilerInfo2 * This,
             /* [in] */ DWORD dwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( 
             ICorProfilerInfo2 * This,
             /* [in] */ FunctionEnter *pFuncEnter,
             /* [in] */ FunctionLeave *pFuncLeave,
             /* [in] */ FunctionTailcall *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( 
             ICorProfilerInfo2 * This,
             /* [in] */ FunctionIDMapper *pFunc);
-
-        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
+        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( 
             ICorProfilerInfo2 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppImport,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
+        HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ DWORD dwOpenFlags,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppOut);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [out] */ LPCBYTE *ppMethodHeader,
             /* [out] */ ULONG *pcbMethodSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ModuleID moduleId,
             /* [out] */ IMethodMalloc **ppMalloc);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodid,
             /* [in] */ LPCBYTE pbNewILMethodHeader);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( 
             ICorProfilerInfo2 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
+        HRESULT ( STDMETHODCALLTYPE *ForceGC )( 
             ICorProfilerInfo2 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( 
             ICorProfilerInfo2 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( 
             ICorProfilerInfo2 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ ContextID *pContextId);
-
-        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( 
             ICorProfilerInfo2 * This,
             /* [in] */ BOOL fThisThreadOnly,
             /* [out] */ DWORD *pdwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( 
             ICorProfilerInfo2 * This,
             /* [in] */ DWORD dwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
+        HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ThreadID thread,
             /* [in] */ StackSnapshotCallback *callback,
@@ -10076,14 +11147,16 @@ EXTERN_C const IID IID_ICorProfilerInfo2;
             /* [in] */ void *clientData,
             /* [size_is][in] */ BYTE context[  ],
             /* [in] */ ULONG32 contextSize);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( 
             ICorProfilerInfo2 * This,
             /* [in] */ FunctionEnter2 *pFuncEnter,
             /* [in] */ FunctionLeave2 *pFuncLeave,
             /* [in] */ FunctionTailcall2 *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( 
             ICorProfilerInfo2 * This,
             /* [in] */ FunctionID funcId,
             /* [in] */ COR_PRF_FRAME_INFO frameInfo,
@@ -10093,22 +11166,25 @@ EXTERN_C const IID IID_ICorProfilerInfo2;
             /* [in] */ ULONG32 cTypeArgs,
             /* [out] */ ULONG32 *pcTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( 
             ICorProfilerInfo2 * This,
             /* [out] */ ULONG *pBufferLengthOffset,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
@@ -10117,23 +11193,26 @@ EXTERN_C const IID IID_ICorProfilerInfo2;
             /* [in] */ ULONG32 cNumTypeArgs,
             /* [out] */ ULONG32 *pcNumTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ModuleID moduleID,
             /* [in] */ mdMethodDef funcDef,
@@ -10141,78 +11220,90 @@ EXTERN_C const IID IID_ICorProfilerInfo2;
             /* [in] */ ULONG32 cTypeArgs,
             /* [size_is][in] */ ClassID typeArgs[  ],
             /* [out] */ FunctionID *pFunctionID);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
+        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ModuleID moduleID,
             /* [out] */ ICorProfilerObjectEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ULONG32 *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ AppDomainID *pAppDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ContextID contextId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( 
             ICorProfilerInfo2 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
-
-        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( 
             ICorProfilerInfo2 * This,
             /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
-
+        
         END_INTERFACE
     } ICorProfilerInfo2Vtbl;
 
@@ -10221,256 +11312,256 @@ 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) )
+#define ICorProfilerInfo2_QueryInterface(This,riid,ppvObject)  \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerInfo2_AddRef(This)  \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerInfo2_AddRef(This) \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerInfo2_Release(This) \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerInfo2_Release(This)        \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerInfo2_GetClassFromObject(This,objectId,pClassId)    \
-    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
+#define ICorProfilerInfo2_GetClassFromObject(This,objectId,pClassId)   \
+    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) 
 
-#define ICorProfilerInfo2_GetClassFromToken(This,moduleId,typeDef,pClassId) \
-    ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_GetCodeInfo(This,functionId,pStart,pcSize)   \
+    ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) 
 
-#define ICorProfilerInfo2_GetEventMask(This,pdwEvents)  \
-    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
+#define ICorProfilerInfo2_GetEventMask(This,pdwEvents) \
+    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) 
 
-#define ICorProfilerInfo2_GetFunctionFromIP(This,ip,pFunctionId)    \
-    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+#define ICorProfilerInfo2_GetFunctionFromIP(This,ip,pFunctionId)       \
+    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) 
 
-#define ICorProfilerInfo2_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
-    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
+#define ICorProfilerInfo2_GetFunctionFromToken(This,moduleId,token,pFunctionId)        \
+    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) 
 
-#define ICorProfilerInfo2_GetHandleFromThread(This,threadId,phThread)   \
-    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+#define ICorProfilerInfo2_GetHandleFromThread(This,threadId,phThread)  \
+    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) 
 
-#define ICorProfilerInfo2_GetObjectSize(This,objectId,pcSize)   \
-    ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_GetThreadInfo(This,threadId,pdwWin32ThreadId)        \
+    ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) 
 
-#define ICorProfilerInfo2_GetCurrentThreadID(This,pThreadId)    \
-    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+#define ICorProfilerInfo2_GetCurrentThreadID(This,pThreadId)   \
+    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) 
 
-#define ICorProfilerInfo2_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken)  \
-    ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken)   \
+    ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) 
 
-#define ICorProfilerInfo2_SetEventMask(This,dwEvents)   \
-    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
+#define ICorProfilerInfo2_SetEventMask(This,dwEvents)  \
+    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) 
 
-#define ICorProfilerInfo2_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall)  \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+#define ICorProfilerInfo2_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) 
 
-#define ICorProfilerInfo2_SetFunctionIDMapper(This,pFunc)   \
-    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+#define ICorProfilerInfo2_SetFunctionIDMapper(This,pFunc)      \
+    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) 
 
-#define ICorProfilerInfo2_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
-    ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_GetILFunctionBodyAllocator(This,moduleId,ppMalloc)   \
+    ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) 
 
-#define ICorProfilerInfo2_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
-    ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_SetFunctionReJIT(This,functionId)    \
+    ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) 
 
-#define ICorProfilerInfo2_ForceGC(This) \
-    ( (This)->lpVtbl -> ForceGC(This) )
+#define ICorProfilerInfo2_ForceGC(This)        \
+    ( (This)->lpVtbl -> ForceGC(This) ) 
 
-#define ICorProfilerInfo2_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)  \
-    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+#define ICorProfilerInfo2_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)     \
+    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) 
 
-#define ICorProfilerInfo2_GetInprocInspectionInterface(This,ppicd)  \
-    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
+#define ICorProfilerInfo2_GetInprocInspectionInterface(This,ppicd)     \
+    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) 
 
-#define ICorProfilerInfo2_GetInprocInspectionIThisThread(This,ppicd)    \
-    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
+#define ICorProfilerInfo2_GetInprocInspectionIThisThread(This,ppicd)   \
+    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) 
 
-#define ICorProfilerInfo2_GetThreadContext(This,threadId,pContextId)    \
-    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
+#define ICorProfilerInfo2_GetThreadContext(This,threadId,pContextId)   \
+    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) 
 
-#define ICorProfilerInfo2_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
-    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
+#define ICorProfilerInfo2_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext)        \
+    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) 
 
-#define ICorProfilerInfo2_EndInprocDebugging(This,dwProfilerContext)    \
-    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
+#define ICorProfilerInfo2_EndInprocDebugging(This,dwProfilerContext)   \
+    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) 
 
-#define ICorProfilerInfo2_GetILToNativeMapping(This,functionId,cMap,pcMap,map)  \
-    ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_GetBoxClassLayout(This,classId,pBufferOffset)        \
+    ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) 
 
-#define ICorProfilerInfo2_GetThreadAppDomain(This,threadId,pAppDomainId)    \
-    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
+#define ICorProfilerInfo2_GetThreadAppDomain(This,threadId,pAppDomainId)       \
+    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) 
 
-#define ICorProfilerInfo2_GetRVAStaticAddress(This,classId,fieldToken,ppAddress)    \
-    ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_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) )
+#define ICorProfilerInfo2_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges)        \
+    ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) 
 
-#define ICorProfilerInfo2_GetObjectGeneration(This,objectId,range)  \
-    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
+#define ICorProfilerInfo2_GetObjectGeneration(This,objectId,range)     \
+    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) 
 
-#define ICorProfilerInfo2_GetNotifiedExceptionClauseInfo(This,pinfo)    \
-    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
+#define ICorProfilerInfo2_GetNotifiedExceptionClauseInfo(This,pinfo)   \
+    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerInfo2_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerInfo2_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo3_INTERFACE_DEFINED__
 #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,
@@ -10479,243 +11570,280 @@ 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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerInfo3Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerInfo3 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerInfo3 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerInfo3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdTypeDef typeDef,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( 
             ICorProfilerInfo3 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ LPCBYTE *pStart,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask )( 
             ICorProfilerInfo3 * This,
             /* [out] */ DWORD *pdwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( 
             ICorProfilerInfo3 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdToken token,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
+        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ HANDLE *phThread);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
+        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ClassID classId,
             /* [out] */ CorElementType *pBaseElemType,
             /* [out] */ ClassID *pBaseClassId,
             /* [out] */ ULONG *pcRank);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ DWORD *pdwWin32ThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
+        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( 
             ICorProfilerInfo3 * This,
             /* [out] */ ThreadID *pThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdTypeDef *pTypeDefToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( 
             ICorProfilerInfo3 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ ClassID *pClassId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask )( 
             ICorProfilerInfo3 * This,
             /* [in] */ DWORD dwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( 
             ICorProfilerInfo3 * This,
             /* [in] */ FunctionEnter *pFuncEnter,
             /* [in] */ FunctionLeave *pFuncLeave,
             /* [in] */ FunctionTailcall *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( 
             ICorProfilerInfo3 * This,
             /* [in] */ FunctionIDMapper *pFunc);
-
-        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
+        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( 
             ICorProfilerInfo3 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppImport,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
+        HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ DWORD dwOpenFlags,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppOut);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [out] */ LPCBYTE *ppMethodHeader,
             /* [out] */ ULONG *pcbMethodSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ModuleID moduleId,
             /* [out] */ IMethodMalloc **ppMalloc);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodid,
             /* [in] */ LPCBYTE pbNewILMethodHeader);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( 
             ICorProfilerInfo3 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
+        HRESULT ( STDMETHODCALLTYPE *ForceGC )( 
             ICorProfilerInfo3 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( 
             ICorProfilerInfo3 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( 
             ICorProfilerInfo3 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ ContextID *pContextId);
-
-        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( 
             ICorProfilerInfo3 * This,
             /* [in] */ BOOL fThisThreadOnly,
             /* [out] */ DWORD *pdwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( 
             ICorProfilerInfo3 * This,
             /* [in] */ DWORD dwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
+        HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ThreadID thread,
             /* [in] */ StackSnapshotCallback *callback,
@@ -10723,14 +11851,16 @@ EXTERN_C const IID IID_ICorProfilerInfo3;
             /* [in] */ void *clientData,
             /* [size_is][in] */ BYTE context[  ],
             /* [in] */ ULONG32 contextSize);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( 
             ICorProfilerInfo3 * This,
             /* [in] */ FunctionEnter2 *pFuncEnter,
             /* [in] */ FunctionLeave2 *pFuncLeave,
             /* [in] */ FunctionTailcall2 *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( 
             ICorProfilerInfo3 * This,
             /* [in] */ FunctionID funcId,
             /* [in] */ COR_PRF_FRAME_INFO frameInfo,
@@ -10740,22 +11870,25 @@ EXTERN_C const IID IID_ICorProfilerInfo3;
             /* [in] */ ULONG32 cTypeArgs,
             /* [out] */ ULONG32 *pcTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( 
             ICorProfilerInfo3 * This,
             /* [out] */ ULONG *pBufferLengthOffset,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
@@ -10764,23 +11897,26 @@ EXTERN_C const IID IID_ICorProfilerInfo3;
             /* [in] */ ULONG32 cNumTypeArgs,
             /* [out] */ ULONG32 *pcNumTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ModuleID moduleID,
             /* [in] */ mdMethodDef funcDef,
@@ -10788,134 +11924,157 @@ EXTERN_C const IID IID_ICorProfilerInfo3;
             /* [in] */ ULONG32 cTypeArgs,
             /* [size_is][in] */ ClassID typeArgs[  ],
             /* [out] */ FunctionID *pFunctionID);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
+        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ModuleID moduleID,
             /* [out] */ ICorProfilerObjectEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ULONG32 *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ AppDomainID *pAppDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ContextID contextId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
-
-        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( 
             ICorProfilerInfo3 * This,
             /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( 
             ICorProfilerInfo3 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
+        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( 
             ICorProfilerInfo3 * This,
             /* [in] */ DWORD dwExpectedCompletionMilliseconds);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( 
             ICorProfilerInfo3 * This,
             /* [in] */ FunctionIDMapper2 *pFunc,
             /* [in] */ void *clientData);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( 
             ICorProfilerInfo3 * This,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( 
             ICorProfilerInfo3 * This,
             /* [in] */ FunctionEnter3 *pFuncEnter3,
             /* [in] */ FunctionLeave3 *pFuncLeave3,
             /* [in] */ FunctionTailcall3 *pFuncTailcall3);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( 
             ICorProfilerInfo3 * This,
             /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
             /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
             /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( 
             ICorProfilerInfo3 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_ELT_INFO eltInfo,
             /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModules )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
+        HRESULT ( STDMETHODCALLTYPE *EnumModules )( 
             ICorProfilerInfo3 * This,
             /* [out] */ ICorProfilerModuleEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
+        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( 
             ICorProfilerInfo3 * This,
             /* [out] */ USHORT *pClrInstanceId,
             /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
@@ -10925,35 +12084,38 @@ 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( 
             ICorProfilerInfo3 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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;
 
@@ -10962,311 +12124,319 @@ 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) )
+#define ICorProfilerInfo3_QueryInterface(This,riid,ppvObject)  \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerInfo3_AddRef(This)  \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerInfo3_AddRef(This) \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerInfo3_Release(This) \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerInfo3_Release(This)        \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerInfo3_GetClassFromObject(This,objectId,pClassId)    \
-    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
+#define ICorProfilerInfo3_GetClassFromObject(This,objectId,pClassId)   \
+    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) 
 
-#define ICorProfilerInfo3_GetClassFromToken(This,moduleId,typeDef,pClassId) \
-    ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_GetCodeInfo(This,functionId,pStart,pcSize)   \
+    ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) 
 
-#define ICorProfilerInfo3_GetEventMask(This,pdwEvents)  \
-    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
+#define ICorProfilerInfo3_GetEventMask(This,pdwEvents) \
+    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) 
 
-#define ICorProfilerInfo3_GetFunctionFromIP(This,ip,pFunctionId)    \
-    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+#define ICorProfilerInfo3_GetFunctionFromIP(This,ip,pFunctionId)       \
+    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) 
 
-#define ICorProfilerInfo3_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
-    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
+#define ICorProfilerInfo3_GetFunctionFromToken(This,moduleId,token,pFunctionId)        \
+    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) 
 
-#define ICorProfilerInfo3_GetHandleFromThread(This,threadId,phThread)   \
-    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+#define ICorProfilerInfo3_GetHandleFromThread(This,threadId,phThread)  \
+    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) 
 
-#define ICorProfilerInfo3_GetObjectSize(This,objectId,pcSize)   \
-    ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_GetThreadInfo(This,threadId,pdwWin32ThreadId)        \
+    ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) 
 
-#define ICorProfilerInfo3_GetCurrentThreadID(This,pThreadId)    \
-    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+#define ICorProfilerInfo3_GetCurrentThreadID(This,pThreadId)   \
+    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) 
 
-#define ICorProfilerInfo3_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken)  \
-    ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken)   \
+    ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) 
 
-#define ICorProfilerInfo3_SetEventMask(This,dwEvents)   \
-    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
+#define ICorProfilerInfo3_SetEventMask(This,dwEvents)  \
+    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) 
 
-#define ICorProfilerInfo3_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall)  \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+#define ICorProfilerInfo3_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) 
 
-#define ICorProfilerInfo3_SetFunctionIDMapper(This,pFunc)   \
-    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+#define ICorProfilerInfo3_SetFunctionIDMapper(This,pFunc)      \
+    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) 
 
-#define ICorProfilerInfo3_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
-    ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_GetILFunctionBodyAllocator(This,moduleId,ppMalloc)   \
+    ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) 
 
-#define ICorProfilerInfo3_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
-    ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_SetFunctionReJIT(This,functionId)    \
+    ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) 
 
-#define ICorProfilerInfo3_ForceGC(This) \
-    ( (This)->lpVtbl -> ForceGC(This) )
+#define ICorProfilerInfo3_ForceGC(This)        \
+    ( (This)->lpVtbl -> ForceGC(This) ) 
 
-#define ICorProfilerInfo3_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)  \
-    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+#define ICorProfilerInfo3_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)     \
+    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) 
 
-#define ICorProfilerInfo3_GetInprocInspectionInterface(This,ppicd)  \
-    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
+#define ICorProfilerInfo3_GetInprocInspectionInterface(This,ppicd)     \
+    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) 
 
-#define ICorProfilerInfo3_GetInprocInspectionIThisThread(This,ppicd)    \
-    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
+#define ICorProfilerInfo3_GetInprocInspectionIThisThread(This,ppicd)   \
+    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) 
 
-#define ICorProfilerInfo3_GetThreadContext(This,threadId,pContextId)    \
-    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
+#define ICorProfilerInfo3_GetThreadContext(This,threadId,pContextId)   \
+    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) 
 
-#define ICorProfilerInfo3_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
-    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
+#define ICorProfilerInfo3_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext)        \
+    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) 
 
-#define ICorProfilerInfo3_EndInprocDebugging(This,dwProfilerContext)    \
-    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
+#define ICorProfilerInfo3_EndInprocDebugging(This,dwProfilerContext)   \
+    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) 
 
-#define ICorProfilerInfo3_GetILToNativeMapping(This,functionId,cMap,pcMap,map)  \
-    ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_GetBoxClassLayout(This,classId,pBufferOffset)        \
+    ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) 
 
-#define ICorProfilerInfo3_GetThreadAppDomain(This,threadId,pAppDomainId)    \
-    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
+#define ICorProfilerInfo3_GetThreadAppDomain(This,threadId,pAppDomainId)       \
+    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) 
 
-#define ICorProfilerInfo3_GetRVAStaticAddress(This,classId,fieldToken,ppAddress)    \
-    ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges)        \
+    ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) 
 
-#define ICorProfilerInfo3_GetObjectGeneration(This,objectId,range)  \
-    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
+#define ICorProfilerInfo3_GetObjectGeneration(This,objectId,range)     \
+    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) 
 
-#define ICorProfilerInfo3_GetNotifiedExceptionClauseInfo(This,pinfo)    \
-    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
+#define ICorProfilerInfo3_GetNotifiedExceptionClauseInfo(This,pinfo)   \
+    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) 
 
 
-#define ICorProfilerInfo3_EnumJITedFunctions(This,ppEnum)   \
-    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
+#define ICorProfilerInfo3_EnumJITedFunctions(This,ppEnum)      \
+    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) 
 
-#define ICorProfilerInfo3_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds)  \
-    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
+#define ICorProfilerInfo3_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
+    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) 
 
-#define ICorProfilerInfo3_SetFunctionIDMapper2(This,pFunc,clientData)   \
-    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
+#define ICorProfilerInfo3_SetFunctionIDMapper2(This,pFunc,clientData)  \
+    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) 
 
-#define ICorProfilerInfo3_GetStringLayout2(This,pStringLengthOffset,pBufferOffset)  \
-    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
+#define ICorProfilerInfo3_GetStringLayout2(This,pStringLengthOffset,pBufferOffset)     \
+    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) 
 
-#define ICorProfilerInfo3_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3)  \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
+    ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) 
 
-#define ICorProfilerInfo3_EnumModules(This,ppEnum)  \
-    ( (This)->lpVtbl -> EnumModules(This,ppEnum) )
+#define ICorProfilerInfo3_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) )
+#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) ) 
 
-#define ICorProfilerInfo3_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress)   \
-    ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_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) )
+#define ICorProfilerInfo3_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags)   \
+    ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerInfo3_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerInfo3_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerObjectEnum_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerObjectEnumVtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerObjectEnum * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerObjectEnum * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerObjectEnum * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Skip )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerObjectEnum, Skip)
+        HRESULT ( STDMETHODCALLTYPE *Skip )( 
             ICorProfilerObjectEnum * This,
             /* [in] */ ULONG celt);
-
-        HRESULT ( STDMETHODCALLTYPE *Reset )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerObjectEnum, Reset)
+        HRESULT ( STDMETHODCALLTYPE *Reset )( 
             ICorProfilerObjectEnum * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Clone )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerObjectEnum, Clone)
+        HRESULT ( STDMETHODCALLTYPE *Clone )( 
             ICorProfilerObjectEnum * This,
             /* [out] */ ICorProfilerObjectEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCount )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerObjectEnum, GetCount)
+        HRESULT ( STDMETHODCALLTYPE *GetCount )( 
             ICorProfilerObjectEnum * This,
             /* [out] */ ULONG *pcelt);
-
-        HRESULT ( STDMETHODCALLTYPE *Next )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerObjectEnum, Next)
+        HRESULT ( STDMETHODCALLTYPE *Next )( 
             ICorProfilerObjectEnum * This,
             /* [in] */ ULONG celt,
             /* [length_is][size_is][out] */ ObjectID objects[  ],
             /* [out] */ ULONG *pceltFetched);
-
+        
         END_INTERFACE
     } ICorProfilerObjectEnumVtbl;
 
@@ -11275,120 +12445,128 @@ 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) )
+#define ICorProfilerObjectEnum_QueryInterface(This,riid,ppvObject)     \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerObjectEnum_AddRef(This) \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerObjectEnum_AddRef(This)    \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerObjectEnum_Release(This)    \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerObjectEnum_Release(This)   \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerObjectEnum_Skip(This,celt)  \
-    ( (This)->lpVtbl -> Skip(This,celt) )
+#define ICorProfilerObjectEnum_Skip(This,celt) \
+    ( (This)->lpVtbl -> Skip(This,celt) ) 
 
-#define ICorProfilerObjectEnum_Reset(This)  \
-    ( (This)->lpVtbl -> Reset(This) )
+#define ICorProfilerObjectEnum_Reset(This)     \
+    ( (This)->lpVtbl -> Reset(This) ) 
 
-#define ICorProfilerObjectEnum_Clone(This,ppEnum)   \
-    ( (This)->lpVtbl -> Clone(This,ppEnum) )
+#define ICorProfilerObjectEnum_Clone(This,ppEnum)      \
+    ( (This)->lpVtbl -> Clone(This,ppEnum) ) 
 
-#define ICorProfilerObjectEnum_GetCount(This,pcelt) \
-    ( (This)->lpVtbl -> GetCount(This,pcelt) )
+#define ICorProfilerObjectEnum_GetCount(This,pcelt)    \
+    ( (This)->lpVtbl -> GetCount(This,pcelt) ) 
 
-#define ICorProfilerObjectEnum_Next(This,celt,objects,pceltFetched) \
-    ( (This)->lpVtbl -> Next(This,celt,objects,pceltFetched) )
+#define ICorProfilerObjectEnum_Next(This,celt,objects,pceltFetched)    \
+    ( (This)->lpVtbl -> Next(This,celt,objects,pceltFetched) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerObjectEnum_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerObjectEnum_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerFunctionEnum_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerFunctionEnumVtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerFunctionEnum * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerFunctionEnum * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerFunctionEnum * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Skip )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerFunctionEnum, Skip)
+        HRESULT ( STDMETHODCALLTYPE *Skip )( 
             ICorProfilerFunctionEnum * This,
             /* [in] */ ULONG celt);
-
-        HRESULT ( STDMETHODCALLTYPE *Reset )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerFunctionEnum, Reset)
+        HRESULT ( STDMETHODCALLTYPE *Reset )( 
             ICorProfilerFunctionEnum * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Clone )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerFunctionEnum, Clone)
+        HRESULT ( STDMETHODCALLTYPE *Clone )( 
             ICorProfilerFunctionEnum * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCount )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerFunctionEnum, GetCount)
+        HRESULT ( STDMETHODCALLTYPE *GetCount )( 
             ICorProfilerFunctionEnum * This,
             /* [out] */ ULONG *pcelt);
-
-        HRESULT ( STDMETHODCALLTYPE *Next )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerFunctionEnum, Next)
+        HRESULT ( STDMETHODCALLTYPE *Next )( 
             ICorProfilerFunctionEnum * This,
             /* [in] */ ULONG celt,
             /* [length_is][size_is][out] */ COR_PRF_FUNCTION ids[  ],
             /* [out] */ ULONG *pceltFetched);
-
+        
         END_INTERFACE
     } ICorProfilerFunctionEnumVtbl;
 
@@ -11397,120 +12575,128 @@ 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) )
+#define ICorProfilerFunctionEnum_QueryInterface(This,riid,ppvObject)   \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerFunctionEnum_AddRef(This)   \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerFunctionEnum_AddRef(This)  \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerFunctionEnum_Release(This)  \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerFunctionEnum_Release(This) \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerFunctionEnum_Skip(This,celt)    \
-    ( (This)->lpVtbl -> Skip(This,celt) )
+#define ICorProfilerFunctionEnum_Skip(This,celt)       \
+    ( (This)->lpVtbl -> Skip(This,celt) ) 
 
-#define ICorProfilerFunctionEnum_Reset(This)    \
-    ( (This)->lpVtbl -> Reset(This) )
+#define ICorProfilerFunctionEnum_Reset(This)   \
+    ( (This)->lpVtbl -> Reset(This) ) 
 
-#define ICorProfilerFunctionEnum_Clone(This,ppEnum) \
-    ( (This)->lpVtbl -> Clone(This,ppEnum) )
+#define ICorProfilerFunctionEnum_Clone(This,ppEnum)    \
+    ( (This)->lpVtbl -> Clone(This,ppEnum) ) 
 
-#define ICorProfilerFunctionEnum_GetCount(This,pcelt)   \
-    ( (This)->lpVtbl -> GetCount(This,pcelt) )
+#define ICorProfilerFunctionEnum_GetCount(This,pcelt)  \
+    ( (This)->lpVtbl -> GetCount(This,pcelt) ) 
 
-#define ICorProfilerFunctionEnum_Next(This,celt,ids,pceltFetched)   \
-    ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) )
+#define ICorProfilerFunctionEnum_Next(This,celt,ids,pceltFetched)      \
+    ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerFunctionEnum_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerFunctionEnum_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerModuleEnum_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerModuleEnumVtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerModuleEnum * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerModuleEnum * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerModuleEnum * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Skip )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerModuleEnum, Skip)
+        HRESULT ( STDMETHODCALLTYPE *Skip )( 
             ICorProfilerModuleEnum * This,
             /* [in] */ ULONG celt);
-
-        HRESULT ( STDMETHODCALLTYPE *Reset )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerModuleEnum, Reset)
+        HRESULT ( STDMETHODCALLTYPE *Reset )( 
             ICorProfilerModuleEnum * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Clone )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerModuleEnum, Clone)
+        HRESULT ( STDMETHODCALLTYPE *Clone )( 
             ICorProfilerModuleEnum * This,
             /* [out] */ ICorProfilerModuleEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCount )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerModuleEnum, GetCount)
+        HRESULT ( STDMETHODCALLTYPE *GetCount )( 
             ICorProfilerModuleEnum * This,
             /* [out] */ ULONG *pcelt);
-
-        HRESULT ( STDMETHODCALLTYPE *Next )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerModuleEnum, Next)
+        HRESULT ( STDMETHODCALLTYPE *Next )( 
             ICorProfilerModuleEnum * This,
             /* [in] */ ULONG celt,
             /* [length_is][size_is][out] */ ModuleID ids[  ],
             /* [out] */ ULONG *pceltFetched);
-
+        
         END_INTERFACE
     } ICorProfilerModuleEnumVtbl;
 
@@ -11519,90 +12705,94 @@ 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) )
+#define ICorProfilerModuleEnum_QueryInterface(This,riid,ppvObject)     \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerModuleEnum_AddRef(This) \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerModuleEnum_AddRef(This)    \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerModuleEnum_Release(This)    \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerModuleEnum_Release(This)   \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerModuleEnum_Skip(This,celt)  \
-    ( (This)->lpVtbl -> Skip(This,celt) )
+#define ICorProfilerModuleEnum_Skip(This,celt) \
+    ( (This)->lpVtbl -> Skip(This,celt) ) 
 
-#define ICorProfilerModuleEnum_Reset(This)  \
-    ( (This)->lpVtbl -> Reset(This) )
+#define ICorProfilerModuleEnum_Reset(This)     \
+    ( (This)->lpVtbl -> Reset(This) ) 
 
-#define ICorProfilerModuleEnum_Clone(This,ppEnum)   \
-    ( (This)->lpVtbl -> Clone(This,ppEnum) )
+#define ICorProfilerModuleEnum_Clone(This,ppEnum)      \
+    ( (This)->lpVtbl -> Clone(This,ppEnum) ) 
 
-#define ICorProfilerModuleEnum_GetCount(This,pcelt) \
-    ( (This)->lpVtbl -> GetCount(This,pcelt) )
+#define ICorProfilerModuleEnum_GetCount(This,pcelt)    \
+    ( (This)->lpVtbl -> GetCount(This,pcelt) ) 
 
-#define ICorProfilerModuleEnum_Next(This,celt,ids,pceltFetched) \
-    ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) )
+#define ICorProfilerModuleEnum_Next(This,celt,ids,pceltFetched)        \
+    ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerModuleEnum_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerModuleEnum_INTERFACE_DEFINED__ */
 
 
 #ifndef __IMethodMalloc_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct IMethodMallocVtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             IMethodMalloc * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             IMethodMalloc * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             IMethodMalloc * This);
-
-        PVOID ( STDMETHODCALLTYPE *Alloc )(
+        
+        DECLSPEC_XFGVIRT(IMethodMalloc, Alloc)
+        PVOID ( STDMETHODCALLTYPE *Alloc )( 
             IMethodMalloc * This,
             /* [in] */ ULONG cb);
-
+        
         END_INTERFACE
     } IMethodMallocVtbl;
 
@@ -11611,96 +12801,102 @@ 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) )
+#define IMethodMalloc_QueryInterface(This,riid,ppvObject)      \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define IMethodMalloc_AddRef(This)  \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define IMethodMalloc_AddRef(This)     \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define IMethodMalloc_Release(This) \
-    ( (This)->lpVtbl -> Release(This) )
+#define IMethodMalloc_Release(This)    \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define IMethodMalloc_Alloc(This,cb)    \
-    ( (This)->lpVtbl -> Alloc(This,cb) )
+#define IMethodMalloc_Alloc(This,cb)   \
+    ( (This)->lpVtbl -> Alloc(This,cb) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __IMethodMalloc_INTERFACE_DEFINED__ */
+#endif         /* __IMethodMalloc_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerFunctionControl_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerFunctionControlVtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerFunctionControl * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerFunctionControl * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerFunctionControl * This);
-
-        HRESULT ( STDMETHODCALLTYPE *SetCodegenFlags )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerFunctionControl, SetCodegenFlags)
+        HRESULT ( STDMETHODCALLTYPE *SetCodegenFlags )( 
             ICorProfilerFunctionControl * This,
             /* [in] */ DWORD flags);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerFunctionControl, SetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( 
             ICorProfilerFunctionControl * This,
             /* [in] */ ULONG cbNewILMethodHeader,
             /* [size_is][in] */ LPCBYTE pbNewILMethodHeader);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerFunctionControl, SetILInstrumentedCodeMap)
+        HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( 
             ICorProfilerFunctionControl * This,
             /* [in] */ ULONG cILMapEntries,
             /* [size_is][in] */ COR_IL_MAP rgILMapEntries[  ]);
-
+        
         END_INTERFACE
     } ICorProfilerFunctionControlVtbl;
 
@@ -11709,315 +12905,352 @@ 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) )
+#define ICorProfilerFunctionControl_QueryInterface(This,riid,ppvObject)        \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerFunctionControl_AddRef(This)    \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerFunctionControl_AddRef(This)       \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerFunctionControl_Release(This)   \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerFunctionControl_Release(This)      \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerFunctionControl_SetCodegenFlags(This,flags) \
-    ( (This)->lpVtbl -> SetCodegenFlags(This,flags) )
+#define ICorProfilerFunctionControl_SetCodegenFlags(This,flags)        \
+    ( (This)->lpVtbl -> SetCodegenFlags(This,flags) ) 
 
-#define ICorProfilerFunctionControl_SetILFunctionBody(This,cbNewILMethodHeader,pbNewILMethodHeader) \
-    ( (This)->lpVtbl -> SetILFunctionBody(This,cbNewILMethodHeader,pbNewILMethodHeader) )
+#define ICorProfilerFunctionControl_SetILFunctionBody(This,cbNewILMethodHeader,pbNewILMethodHeader)    \
+    ( (This)->lpVtbl -> SetILFunctionBody(This,cbNewILMethodHeader,pbNewILMethodHeader) ) 
 
-#define ICorProfilerFunctionControl_SetILInstrumentedCodeMap(This,cILMapEntries,rgILMapEntries) \
-    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,cILMapEntries,rgILMapEntries) )
+#define ICorProfilerFunctionControl_SetILInstrumentedCodeMap(This,cILMapEntries,rgILMapEntries)        \
+    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,cILMapEntries,rgILMapEntries) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerFunctionControl_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerFunctionControl_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo4_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerInfo4Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerInfo4 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerInfo4 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerInfo4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdTypeDef typeDef,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( 
             ICorProfilerInfo4 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ LPCBYTE *pStart,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask )( 
             ICorProfilerInfo4 * This,
             /* [out] */ DWORD *pdwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( 
             ICorProfilerInfo4 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdToken token,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
+        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ HANDLE *phThread);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
+        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ClassID classId,
             /* [out] */ CorElementType *pBaseElemType,
             /* [out] */ ClassID *pBaseClassId,
             /* [out] */ ULONG *pcRank);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ DWORD *pdwWin32ThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
+        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( 
             ICorProfilerInfo4 * This,
             /* [out] */ ThreadID *pThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdTypeDef *pTypeDefToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( 
             ICorProfilerInfo4 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ ClassID *pClassId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask )( 
             ICorProfilerInfo4 * This,
             /* [in] */ DWORD dwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( 
             ICorProfilerInfo4 * This,
             /* [in] */ FunctionEnter *pFuncEnter,
             /* [in] */ FunctionLeave *pFuncLeave,
             /* [in] */ FunctionTailcall *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( 
             ICorProfilerInfo4 * This,
             /* [in] */ FunctionIDMapper *pFunc);
-
-        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
+        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( 
             ICorProfilerInfo4 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppImport,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
+        HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ DWORD dwOpenFlags,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppOut);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [out] */ LPCBYTE *ppMethodHeader,
             /* [out] */ ULONG *pcbMethodSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ModuleID moduleId,
             /* [out] */ IMethodMalloc **ppMalloc);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodid,
             /* [in] */ LPCBYTE pbNewILMethodHeader);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( 
             ICorProfilerInfo4 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
+        HRESULT ( STDMETHODCALLTYPE *ForceGC )( 
             ICorProfilerInfo4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( 
             ICorProfilerInfo4 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( 
             ICorProfilerInfo4 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ ContextID *pContextId);
-
-        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( 
             ICorProfilerInfo4 * This,
             /* [in] */ BOOL fThisThreadOnly,
             /* [out] */ DWORD *pdwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( 
             ICorProfilerInfo4 * This,
             /* [in] */ DWORD dwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
+        HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ThreadID thread,
             /* [in] */ StackSnapshotCallback *callback,
@@ -12025,14 +13258,16 @@ EXTERN_C const IID IID_ICorProfilerInfo4;
             /* [in] */ void *clientData,
             /* [size_is][in] */ BYTE context[  ],
             /* [in] */ ULONG32 contextSize);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( 
             ICorProfilerInfo4 * This,
             /* [in] */ FunctionEnter2 *pFuncEnter,
             /* [in] */ FunctionLeave2 *pFuncLeave,
             /* [in] */ FunctionTailcall2 *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( 
             ICorProfilerInfo4 * This,
             /* [in] */ FunctionID funcId,
             /* [in] */ COR_PRF_FRAME_INFO frameInfo,
@@ -12042,22 +13277,25 @@ EXTERN_C const IID IID_ICorProfilerInfo4;
             /* [in] */ ULONG32 cTypeArgs,
             /* [out] */ ULONG32 *pcTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( 
             ICorProfilerInfo4 * This,
             /* [out] */ ULONG *pBufferLengthOffset,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
@@ -12066,23 +13304,26 @@ EXTERN_C const IID IID_ICorProfilerInfo4;
             /* [in] */ ULONG32 cNumTypeArgs,
             /* [out] */ ULONG32 *pcNumTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ModuleID moduleID,
             /* [in] */ mdMethodDef funcDef,
@@ -12090,134 +13331,157 @@ EXTERN_C const IID IID_ICorProfilerInfo4;
             /* [in] */ ULONG32 cTypeArgs,
             /* [size_is][in] */ ClassID typeArgs[  ],
             /* [out] */ FunctionID *pFunctionID);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
+        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ModuleID moduleID,
             /* [out] */ ICorProfilerObjectEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ULONG32 *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ AppDomainID *pAppDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ContextID contextId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
-
-        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( 
             ICorProfilerInfo4 * This,
             /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( 
             ICorProfilerInfo4 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
+        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( 
             ICorProfilerInfo4 * This,
             /* [in] */ DWORD dwExpectedCompletionMilliseconds);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( 
             ICorProfilerInfo4 * This,
             /* [in] */ FunctionIDMapper2 *pFunc,
             /* [in] */ void *clientData);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( 
             ICorProfilerInfo4 * This,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( 
             ICorProfilerInfo4 * This,
             /* [in] */ FunctionEnter3 *pFuncEnter3,
             /* [in] */ FunctionLeave3 *pFuncLeave3,
             /* [in] */ FunctionTailcall3 *pFuncTailcall3);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( 
             ICorProfilerInfo4 * This,
             /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
             /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
             /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( 
             ICorProfilerInfo4 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_ELT_INFO eltInfo,
             /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModules )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
+        HRESULT ( STDMETHODCALLTYPE *EnumModules )( 
             ICorProfilerInfo4 * This,
             /* [out] */ ICorProfilerModuleEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
+        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( 
             ICorProfilerInfo4 * This,
             /* [out] */ USHORT *pClrInstanceId,
             /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
@@ -12227,93 +13491,106 @@ 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
+        HRESULT ( STDMETHODCALLTYPE *EnumThreads )( 
             ICorProfilerInfo4 * This,
             /* [out] */ ICorProfilerThreadEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
+        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( 
             ICorProfilerInfo4 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
+        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ULONG cFunctions,
             /* [size_is][in] */ ModuleID moduleIds[  ],
             /* [size_is][in] */ mdMethodDef methodIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( 
             ICorProfilerInfo4 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId,
             /* [out] */ ReJITID *pReJitId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( 
             ICorProfilerInfo4 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( 
             ICorProfilerInfo4 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ SIZE_T *pcSize);
-
+        
         END_INTERFACE
     } ICorProfilerInfo4Vtbl;
 
@@ -12322,503 +13599,540 @@ 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) )
+#define ICorProfilerInfo4_QueryInterface(This,riid,ppvObject)  \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerInfo4_AddRef(This)  \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerInfo4_AddRef(This) \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerInfo4_Release(This) \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerInfo4_Release(This)        \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerInfo4_GetClassFromObject(This,objectId,pClassId)    \
-    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
+#define ICorProfilerInfo4_GetClassFromObject(This,objectId,pClassId)   \
+    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) 
 
-#define ICorProfilerInfo4_GetClassFromToken(This,moduleId,typeDef,pClassId) \
-    ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_GetCodeInfo(This,functionId,pStart,pcSize)   \
+    ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) 
 
-#define ICorProfilerInfo4_GetEventMask(This,pdwEvents)  \
-    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
+#define ICorProfilerInfo4_GetEventMask(This,pdwEvents) \
+    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) 
 
-#define ICorProfilerInfo4_GetFunctionFromIP(This,ip,pFunctionId)    \
-    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+#define ICorProfilerInfo4_GetFunctionFromIP(This,ip,pFunctionId)       \
+    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) 
 
-#define ICorProfilerInfo4_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
-    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
+#define ICorProfilerInfo4_GetFunctionFromToken(This,moduleId,token,pFunctionId)        \
+    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) 
 
-#define ICorProfilerInfo4_GetHandleFromThread(This,threadId,phThread)   \
-    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+#define ICorProfilerInfo4_GetHandleFromThread(This,threadId,phThread)  \
+    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) 
 
-#define ICorProfilerInfo4_GetObjectSize(This,objectId,pcSize)   \
-    ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_GetThreadInfo(This,threadId,pdwWin32ThreadId)        \
+    ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) 
 
-#define ICorProfilerInfo4_GetCurrentThreadID(This,pThreadId)    \
-    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+#define ICorProfilerInfo4_GetCurrentThreadID(This,pThreadId)   \
+    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) 
 
-#define ICorProfilerInfo4_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken)  \
-    ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken)   \
+    ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) 
 
-#define ICorProfilerInfo4_SetEventMask(This,dwEvents)   \
-    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
+#define ICorProfilerInfo4_SetEventMask(This,dwEvents)  \
+    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) 
 
-#define ICorProfilerInfo4_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall)  \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+#define ICorProfilerInfo4_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) 
 
-#define ICorProfilerInfo4_SetFunctionIDMapper(This,pFunc)   \
-    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+#define ICorProfilerInfo4_SetFunctionIDMapper(This,pFunc)      \
+    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) 
 
-#define ICorProfilerInfo4_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
-    ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_GetILFunctionBodyAllocator(This,moduleId,ppMalloc)   \
+    ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) 
 
-#define ICorProfilerInfo4_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
-    ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_SetFunctionReJIT(This,functionId)    \
+    ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) 
 
-#define ICorProfilerInfo4_ForceGC(This) \
-    ( (This)->lpVtbl -> ForceGC(This) )
+#define ICorProfilerInfo4_ForceGC(This)        \
+    ( (This)->lpVtbl -> ForceGC(This) ) 
 
-#define ICorProfilerInfo4_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)  \
-    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+#define ICorProfilerInfo4_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)     \
+    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) 
 
-#define ICorProfilerInfo4_GetInprocInspectionInterface(This,ppicd)  \
-    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
+#define ICorProfilerInfo4_GetInprocInspectionInterface(This,ppicd)     \
+    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) 
 
-#define ICorProfilerInfo4_GetInprocInspectionIThisThread(This,ppicd)    \
-    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
+#define ICorProfilerInfo4_GetInprocInspectionIThisThread(This,ppicd)   \
+    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) 
 
-#define ICorProfilerInfo4_GetThreadContext(This,threadId,pContextId)    \
-    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
+#define ICorProfilerInfo4_GetThreadContext(This,threadId,pContextId)   \
+    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) 
 
-#define ICorProfilerInfo4_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
-    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
+#define ICorProfilerInfo4_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext)        \
+    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) 
 
-#define ICorProfilerInfo4_EndInprocDebugging(This,dwProfilerContext)    \
-    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
+#define ICorProfilerInfo4_EndInprocDebugging(This,dwProfilerContext)   \
+    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) 
 
-#define ICorProfilerInfo4_GetILToNativeMapping(This,functionId,cMap,pcMap,map)  \
-    ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_GetBoxClassLayout(This,classId,pBufferOffset)        \
+    ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) 
 
-#define ICorProfilerInfo4_GetThreadAppDomain(This,threadId,pAppDomainId)    \
-    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
+#define ICorProfilerInfo4_GetThreadAppDomain(This,threadId,pAppDomainId)       \
+    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) 
 
-#define ICorProfilerInfo4_GetRVAStaticAddress(This,classId,fieldToken,ppAddress)    \
-    ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges)        \
+    ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) 
 
-#define ICorProfilerInfo4_GetObjectGeneration(This,objectId,range)  \
-    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
+#define ICorProfilerInfo4_GetObjectGeneration(This,objectId,range)     \
+    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) 
 
-#define ICorProfilerInfo4_GetNotifiedExceptionClauseInfo(This,pinfo)    \
-    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
+#define ICorProfilerInfo4_GetNotifiedExceptionClauseInfo(This,pinfo)   \
+    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) 
 
 
-#define ICorProfilerInfo4_EnumJITedFunctions(This,ppEnum)   \
-    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
+#define ICorProfilerInfo4_EnumJITedFunctions(This,ppEnum)      \
+    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) 
 
-#define ICorProfilerInfo4_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds)  \
-    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
+#define ICorProfilerInfo4_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
+    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) 
 
-#define ICorProfilerInfo4_SetFunctionIDMapper2(This,pFunc,clientData)   \
-    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
+#define ICorProfilerInfo4_SetFunctionIDMapper2(This,pFunc,clientData)  \
+    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) 
 
-#define ICorProfilerInfo4_GetStringLayout2(This,pStringLengthOffset,pBufferOffset)  \
-    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
+#define ICorProfilerInfo4_GetStringLayout2(This,pStringLengthOffset,pBufferOffset)     \
+    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) 
 
-#define ICorProfilerInfo4_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3)  \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
+    ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) 
 
-#define ICorProfilerInfo4_EnumModules(This,ppEnum)  \
-    ( (This)->lpVtbl -> EnumModules(This,ppEnum) )
+#define ICorProfilerInfo4_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) )
+#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) ) 
 
-#define ICorProfilerInfo4_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress)   \
-    ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_EnumThreads(This,ppEnum)     \
+    ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) 
 
-#define ICorProfilerInfo4_InitializeCurrentThread(This) \
-    ( (This)->lpVtbl -> InitializeCurrentThread(This) )
+#define ICorProfilerInfo4_InitializeCurrentThread(This)        \
+    ( (This)->lpVtbl -> InitializeCurrentThread(This) ) 
 
-#define ICorProfilerInfo4_RequestReJIT(This,cFunctions,moduleIds,methodIds) \
-    ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_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) )
+#define ICorProfilerInfo4_EnumJITedFunctions2(This,ppEnum)     \
+    ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) 
 
-#define ICorProfilerInfo4_GetObjectSize2(This,objectId,pcSize)  \
-    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) )
+#define ICorProfilerInfo4_GetObjectSize2(This,objectId,pcSize) \
+    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerInfo4_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerInfo4_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo5_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerInfo5Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerInfo5 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerInfo5 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerInfo5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdTypeDef typeDef,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( 
             ICorProfilerInfo5 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ LPCBYTE *pStart,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask )( 
             ICorProfilerInfo5 * This,
             /* [out] */ DWORD *pdwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( 
             ICorProfilerInfo5 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdToken token,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
+        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ HANDLE *phThread);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
+        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ClassID classId,
             /* [out] */ CorElementType *pBaseElemType,
             /* [out] */ ClassID *pBaseClassId,
             /* [out] */ ULONG *pcRank);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ DWORD *pdwWin32ThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
+        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( 
             ICorProfilerInfo5 * This,
             /* [out] */ ThreadID *pThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdTypeDef *pTypeDefToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( 
             ICorProfilerInfo5 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ ClassID *pClassId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask )( 
             ICorProfilerInfo5 * This,
             /* [in] */ DWORD dwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( 
             ICorProfilerInfo5 * This,
             /* [in] */ FunctionEnter *pFuncEnter,
             /* [in] */ FunctionLeave *pFuncLeave,
             /* [in] */ FunctionTailcall *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( 
             ICorProfilerInfo5 * This,
             /* [in] */ FunctionIDMapper *pFunc);
-
-        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
+        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( 
             ICorProfilerInfo5 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppImport,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
+        HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ DWORD dwOpenFlags,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppOut);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [out] */ LPCBYTE *ppMethodHeader,
             /* [out] */ ULONG *pcbMethodSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ModuleID moduleId,
             /* [out] */ IMethodMalloc **ppMalloc);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodid,
             /* [in] */ LPCBYTE pbNewILMethodHeader);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( 
             ICorProfilerInfo5 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
+        HRESULT ( STDMETHODCALLTYPE *ForceGC )( 
             ICorProfilerInfo5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( 
             ICorProfilerInfo5 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( 
             ICorProfilerInfo5 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ ContextID *pContextId);
-
-        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( 
             ICorProfilerInfo5 * This,
             /* [in] */ BOOL fThisThreadOnly,
             /* [out] */ DWORD *pdwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( 
             ICorProfilerInfo5 * This,
             /* [in] */ DWORD dwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
+        HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ThreadID thread,
             /* [in] */ StackSnapshotCallback *callback,
@@ -12826,14 +14140,16 @@ EXTERN_C const IID IID_ICorProfilerInfo5;
             /* [in] */ void *clientData,
             /* [size_is][in] */ BYTE context[  ],
             /* [in] */ ULONG32 contextSize);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( 
             ICorProfilerInfo5 * This,
             /* [in] */ FunctionEnter2 *pFuncEnter,
             /* [in] */ FunctionLeave2 *pFuncLeave,
             /* [in] */ FunctionTailcall2 *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( 
             ICorProfilerInfo5 * This,
             /* [in] */ FunctionID funcId,
             /* [in] */ COR_PRF_FRAME_INFO frameInfo,
@@ -12843,22 +14159,25 @@ EXTERN_C const IID IID_ICorProfilerInfo5;
             /* [in] */ ULONG32 cTypeArgs,
             /* [out] */ ULONG32 *pcTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( 
             ICorProfilerInfo5 * This,
             /* [out] */ ULONG *pBufferLengthOffset,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
@@ -12867,23 +14186,26 @@ EXTERN_C const IID IID_ICorProfilerInfo5;
             /* [in] */ ULONG32 cNumTypeArgs,
             /* [out] */ ULONG32 *pcNumTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ModuleID moduleID,
             /* [in] */ mdMethodDef funcDef,
@@ -12891,134 +14213,157 @@ EXTERN_C const IID IID_ICorProfilerInfo5;
             /* [in] */ ULONG32 cTypeArgs,
             /* [size_is][in] */ ClassID typeArgs[  ],
             /* [out] */ FunctionID *pFunctionID);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
+        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ModuleID moduleID,
             /* [out] */ ICorProfilerObjectEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ULONG32 *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ AppDomainID *pAppDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ContextID contextId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
-
-        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( 
             ICorProfilerInfo5 * This,
             /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( 
             ICorProfilerInfo5 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
+        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( 
             ICorProfilerInfo5 * This,
             /* [in] */ DWORD dwExpectedCompletionMilliseconds);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( 
             ICorProfilerInfo5 * This,
             /* [in] */ FunctionIDMapper2 *pFunc,
             /* [in] */ void *clientData);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( 
             ICorProfilerInfo5 * This,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( 
             ICorProfilerInfo5 * This,
             /* [in] */ FunctionEnter3 *pFuncEnter3,
             /* [in] */ FunctionLeave3 *pFuncLeave3,
             /* [in] */ FunctionTailcall3 *pFuncTailcall3);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( 
             ICorProfilerInfo5 * This,
             /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
             /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
             /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( 
             ICorProfilerInfo5 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_ELT_INFO eltInfo,
             /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModules )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
+        HRESULT ( STDMETHODCALLTYPE *EnumModules )( 
             ICorProfilerInfo5 * This,
             /* [out] */ ICorProfilerModuleEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
+        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( 
             ICorProfilerInfo5 * This,
             /* [out] */ USHORT *pClrInstanceId,
             /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
@@ -13028,103 +14373,118 @@ 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
+        HRESULT ( STDMETHODCALLTYPE *EnumThreads )( 
             ICorProfilerInfo5 * This,
             /* [out] */ ICorProfilerThreadEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
+        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( 
             ICorProfilerInfo5 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
+        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ULONG cFunctions,
             /* [size_is][in] */ ModuleID moduleIds[  ],
             /* [size_is][in] */ mdMethodDef methodIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( 
             ICorProfilerInfo5 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId,
             /* [out] */ ReJITID *pReJitId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( 
             ICorProfilerInfo5 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( 
             ICorProfilerInfo5 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ SIZE_T *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( 
             ICorProfilerInfo5 * This,
             /* [out] */ DWORD *pdwEventsLow,
             /* [out] */ DWORD *pdwEventsHigh);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( 
             ICorProfilerInfo5 * This,
             /* [in] */ DWORD dwEventsLow,
             /* [in] */ DWORD dwEventsHigh);
-
+        
         END_INTERFACE
     } ICorProfilerInfo5Vtbl;
 
@@ -13133,509 +14493,546 @@ 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) )
+#define ICorProfilerInfo5_QueryInterface(This,riid,ppvObject)  \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerInfo5_AddRef(This)  \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerInfo5_AddRef(This) \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerInfo5_Release(This) \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerInfo5_Release(This)        \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerInfo5_GetClassFromObject(This,objectId,pClassId)    \
-    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
+#define ICorProfilerInfo5_GetClassFromObject(This,objectId,pClassId)   \
+    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) 
 
-#define ICorProfilerInfo5_GetClassFromToken(This,moduleId,typeDef,pClassId) \
-    ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_GetCodeInfo(This,functionId,pStart,pcSize)   \
+    ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) 
 
-#define ICorProfilerInfo5_GetEventMask(This,pdwEvents)  \
-    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
+#define ICorProfilerInfo5_GetEventMask(This,pdwEvents) \
+    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) 
 
-#define ICorProfilerInfo5_GetFunctionFromIP(This,ip,pFunctionId)    \
-    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+#define ICorProfilerInfo5_GetFunctionFromIP(This,ip,pFunctionId)       \
+    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) 
 
-#define ICorProfilerInfo5_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
-    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
+#define ICorProfilerInfo5_GetFunctionFromToken(This,moduleId,token,pFunctionId)        \
+    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) 
 
-#define ICorProfilerInfo5_GetHandleFromThread(This,threadId,phThread)   \
-    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+#define ICorProfilerInfo5_GetHandleFromThread(This,threadId,phThread)  \
+    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) 
 
-#define ICorProfilerInfo5_GetObjectSize(This,objectId,pcSize)   \
-    ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_GetThreadInfo(This,threadId,pdwWin32ThreadId)        \
+    ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) 
 
-#define ICorProfilerInfo5_GetCurrentThreadID(This,pThreadId)    \
-    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+#define ICorProfilerInfo5_GetCurrentThreadID(This,pThreadId)   \
+    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) 
 
-#define ICorProfilerInfo5_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken)  \
-    ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken)   \
+    ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) 
 
-#define ICorProfilerInfo5_SetEventMask(This,dwEvents)   \
-    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
+#define ICorProfilerInfo5_SetEventMask(This,dwEvents)  \
+    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) 
 
-#define ICorProfilerInfo5_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall)  \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+#define ICorProfilerInfo5_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) 
 
-#define ICorProfilerInfo5_SetFunctionIDMapper(This,pFunc)   \
-    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+#define ICorProfilerInfo5_SetFunctionIDMapper(This,pFunc)      \
+    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) 
 
-#define ICorProfilerInfo5_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
-    ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_GetILFunctionBodyAllocator(This,moduleId,ppMalloc)   \
+    ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) 
 
-#define ICorProfilerInfo5_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
-    ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_SetFunctionReJIT(This,functionId)    \
+    ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) 
 
-#define ICorProfilerInfo5_ForceGC(This) \
-    ( (This)->lpVtbl -> ForceGC(This) )
+#define ICorProfilerInfo5_ForceGC(This)        \
+    ( (This)->lpVtbl -> ForceGC(This) ) 
 
-#define ICorProfilerInfo5_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)  \
-    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+#define ICorProfilerInfo5_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)     \
+    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) 
 
-#define ICorProfilerInfo5_GetInprocInspectionInterface(This,ppicd)  \
-    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
+#define ICorProfilerInfo5_GetInprocInspectionInterface(This,ppicd)     \
+    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) 
 
-#define ICorProfilerInfo5_GetInprocInspectionIThisThread(This,ppicd)    \
-    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
+#define ICorProfilerInfo5_GetInprocInspectionIThisThread(This,ppicd)   \
+    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) 
 
-#define ICorProfilerInfo5_GetThreadContext(This,threadId,pContextId)    \
-    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
+#define ICorProfilerInfo5_GetThreadContext(This,threadId,pContextId)   \
+    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) 
 
-#define ICorProfilerInfo5_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
-    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
+#define ICorProfilerInfo5_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext)        \
+    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) 
 
-#define ICorProfilerInfo5_EndInprocDebugging(This,dwProfilerContext)    \
-    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
+#define ICorProfilerInfo5_EndInprocDebugging(This,dwProfilerContext)   \
+    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) 
 
-#define ICorProfilerInfo5_GetILToNativeMapping(This,functionId,cMap,pcMap,map)  \
-    ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_GetBoxClassLayout(This,classId,pBufferOffset)        \
+    ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) 
 
-#define ICorProfilerInfo5_GetThreadAppDomain(This,threadId,pAppDomainId)    \
-    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
+#define ICorProfilerInfo5_GetThreadAppDomain(This,threadId,pAppDomainId)       \
+    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) 
 
-#define ICorProfilerInfo5_GetRVAStaticAddress(This,classId,fieldToken,ppAddress)    \
-    ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges)        \
+    ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) 
 
-#define ICorProfilerInfo5_GetObjectGeneration(This,objectId,range)  \
-    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
+#define ICorProfilerInfo5_GetObjectGeneration(This,objectId,range)     \
+    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) 
 
-#define ICorProfilerInfo5_GetNotifiedExceptionClauseInfo(This,pinfo)    \
-    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
+#define ICorProfilerInfo5_GetNotifiedExceptionClauseInfo(This,pinfo)   \
+    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) 
 
 
-#define ICorProfilerInfo5_EnumJITedFunctions(This,ppEnum)   \
-    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
+#define ICorProfilerInfo5_EnumJITedFunctions(This,ppEnum)      \
+    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) 
 
-#define ICorProfilerInfo5_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds)  \
-    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
+#define ICorProfilerInfo5_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
+    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) 
 
-#define ICorProfilerInfo5_SetFunctionIDMapper2(This,pFunc,clientData)   \
-    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
+#define ICorProfilerInfo5_SetFunctionIDMapper2(This,pFunc,clientData)  \
+    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) 
 
-#define ICorProfilerInfo5_GetStringLayout2(This,pStringLengthOffset,pBufferOffset)  \
-    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
+#define ICorProfilerInfo5_GetStringLayout2(This,pStringLengthOffset,pBufferOffset)     \
+    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) 
 
-#define ICorProfilerInfo5_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3)  \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
+    ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) 
 
-#define ICorProfilerInfo5_EnumModules(This,ppEnum)  \
-    ( (This)->lpVtbl -> EnumModules(This,ppEnum) )
+#define ICorProfilerInfo5_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) )
+#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) ) 
 
-#define ICorProfilerInfo5_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress)   \
-    ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_EnumThreads(This,ppEnum)     \
+    ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) 
 
-#define ICorProfilerInfo5_InitializeCurrentThread(This) \
-    ( (This)->lpVtbl -> InitializeCurrentThread(This) )
+#define ICorProfilerInfo5_InitializeCurrentThread(This)        \
+    ( (This)->lpVtbl -> InitializeCurrentThread(This) ) 
 
-#define ICorProfilerInfo5_RequestReJIT(This,cFunctions,moduleIds,methodIds) \
-    ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_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) )
+#define ICorProfilerInfo5_EnumJITedFunctions2(This,ppEnum)     \
+    ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) 
 
-#define ICorProfilerInfo5_GetObjectSize2(This,objectId,pcSize)  \
-    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) )
+#define ICorProfilerInfo5_GetObjectSize2(This,objectId,pcSize) \
+    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) 
 
 
-#define ICorProfilerInfo5_GetEventMask2(This,pdwEventsLow,pdwEventsHigh)    \
-    ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) )
+#define ICorProfilerInfo5_GetEventMask2(This,pdwEventsLow,pdwEventsHigh)       \
+    ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) 
 
-#define ICorProfilerInfo5_SetEventMask2(This,dwEventsLow,dwEventsHigh)  \
-    ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) )
+#define ICorProfilerInfo5_SetEventMask2(This,dwEventsLow,dwEventsHigh) \
+    ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerInfo5_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerInfo5_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo6_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerInfo6Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerInfo6 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerInfo6 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerInfo6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdTypeDef typeDef,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( 
             ICorProfilerInfo6 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ LPCBYTE *pStart,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask )( 
             ICorProfilerInfo6 * This,
             /* [out] */ DWORD *pdwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( 
             ICorProfilerInfo6 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdToken token,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
+        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ HANDLE *phThread);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
+        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ClassID classId,
             /* [out] */ CorElementType *pBaseElemType,
             /* [out] */ ClassID *pBaseClassId,
             /* [out] */ ULONG *pcRank);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ DWORD *pdwWin32ThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
+        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( 
             ICorProfilerInfo6 * This,
             /* [out] */ ThreadID *pThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdTypeDef *pTypeDefToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( 
             ICorProfilerInfo6 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ ClassID *pClassId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask )( 
             ICorProfilerInfo6 * This,
             /* [in] */ DWORD dwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( 
             ICorProfilerInfo6 * This,
             /* [in] */ FunctionEnter *pFuncEnter,
             /* [in] */ FunctionLeave *pFuncLeave,
             /* [in] */ FunctionTailcall *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( 
             ICorProfilerInfo6 * This,
             /* [in] */ FunctionIDMapper *pFunc);
-
-        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
+        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( 
             ICorProfilerInfo6 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppImport,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
+        HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ DWORD dwOpenFlags,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppOut);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [out] */ LPCBYTE *ppMethodHeader,
             /* [out] */ ULONG *pcbMethodSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ModuleID moduleId,
             /* [out] */ IMethodMalloc **ppMalloc);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodid,
             /* [in] */ LPCBYTE pbNewILMethodHeader);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( 
             ICorProfilerInfo6 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
+        HRESULT ( STDMETHODCALLTYPE *ForceGC )( 
             ICorProfilerInfo6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( 
             ICorProfilerInfo6 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( 
             ICorProfilerInfo6 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ ContextID *pContextId);
-
-        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( 
             ICorProfilerInfo6 * This,
             /* [in] */ BOOL fThisThreadOnly,
             /* [out] */ DWORD *pdwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( 
             ICorProfilerInfo6 * This,
             /* [in] */ DWORD dwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
+        HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ThreadID thread,
             /* [in] */ StackSnapshotCallback *callback,
@@ -13643,14 +15040,16 @@ EXTERN_C const IID IID_ICorProfilerInfo6;
             /* [in] */ void *clientData,
             /* [size_is][in] */ BYTE context[  ],
             /* [in] */ ULONG32 contextSize);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( 
             ICorProfilerInfo6 * This,
             /* [in] */ FunctionEnter2 *pFuncEnter,
             /* [in] */ FunctionLeave2 *pFuncLeave,
             /* [in] */ FunctionTailcall2 *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( 
             ICorProfilerInfo6 * This,
             /* [in] */ FunctionID funcId,
             /* [in] */ COR_PRF_FRAME_INFO frameInfo,
@@ -13660,22 +15059,25 @@ EXTERN_C const IID IID_ICorProfilerInfo6;
             /* [in] */ ULONG32 cTypeArgs,
             /* [out] */ ULONG32 *pcTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( 
             ICorProfilerInfo6 * This,
             /* [out] */ ULONG *pBufferLengthOffset,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
@@ -13684,23 +15086,26 @@ EXTERN_C const IID IID_ICorProfilerInfo6;
             /* [in] */ ULONG32 cNumTypeArgs,
             /* [out] */ ULONG32 *pcNumTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ModuleID moduleID,
             /* [in] */ mdMethodDef funcDef,
@@ -13708,134 +15113,157 @@ EXTERN_C const IID IID_ICorProfilerInfo6;
             /* [in] */ ULONG32 cTypeArgs,
             /* [size_is][in] */ ClassID typeArgs[  ],
             /* [out] */ FunctionID *pFunctionID);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
+        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ModuleID moduleID,
             /* [out] */ ICorProfilerObjectEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ULONG32 *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ AppDomainID *pAppDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ContextID contextId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
-
-        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( 
             ICorProfilerInfo6 * This,
             /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( 
             ICorProfilerInfo6 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
+        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( 
             ICorProfilerInfo6 * This,
             /* [in] */ DWORD dwExpectedCompletionMilliseconds);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( 
             ICorProfilerInfo6 * This,
             /* [in] */ FunctionIDMapper2 *pFunc,
             /* [in] */ void *clientData);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( 
             ICorProfilerInfo6 * This,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( 
             ICorProfilerInfo6 * This,
             /* [in] */ FunctionEnter3 *pFuncEnter3,
             /* [in] */ FunctionLeave3 *pFuncLeave3,
             /* [in] */ FunctionTailcall3 *pFuncTailcall3);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( 
             ICorProfilerInfo6 * This,
             /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
             /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
             /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( 
             ICorProfilerInfo6 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_ELT_INFO eltInfo,
             /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModules )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
+        HRESULT ( STDMETHODCALLTYPE *EnumModules )( 
             ICorProfilerInfo6 * This,
             /* [out] */ ICorProfilerModuleEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
+        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( 
             ICorProfilerInfo6 * This,
             /* [out] */ USHORT *pClrInstanceId,
             /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
@@ -13845,111 +15273,127 @@ 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
+        HRESULT ( STDMETHODCALLTYPE *EnumThreads )( 
             ICorProfilerInfo6 * This,
             /* [out] */ ICorProfilerThreadEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
+        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( 
             ICorProfilerInfo6 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
+        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ULONG cFunctions,
             /* [size_is][in] */ ModuleID moduleIds[  ],
             /* [size_is][in] */ mdMethodDef methodIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( 
             ICorProfilerInfo6 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId,
             /* [out] */ ReJITID *pReJitId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( 
             ICorProfilerInfo6 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ SIZE_T *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( 
             ICorProfilerInfo6 * This,
             /* [out] */ DWORD *pdwEventsLow,
             /* [out] */ DWORD *pdwEventsHigh);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( 
             ICorProfilerInfo6 * This,
             /* [in] */ DWORD dwEventsLow,
             /* [in] */ DWORD dwEventsHigh);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod)
+        HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( 
             ICorProfilerInfo6 * This,
             /* [in] */ ModuleID inlinersModuleId,
             /* [in] */ ModuleID inlineeModuleId,
             /* [in] */ mdMethodDef inlineeMethodId,
             /* [out] */ BOOL *incompleteData,
             /* [out] */ ICorProfilerMethodEnum **ppEnum);
-
+        
         END_INTERFACE
     } ICorProfilerInfo6Vtbl;
 
@@ -13958,520 +15402,557 @@ 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) )
+#define ICorProfilerInfo6_QueryInterface(This,riid,ppvObject)  \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerInfo6_AddRef(This)  \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerInfo6_AddRef(This) \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerInfo6_Release(This) \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerInfo6_Release(This)        \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerInfo6_GetClassFromObject(This,objectId,pClassId)    \
-    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
+#define ICorProfilerInfo6_GetClassFromObject(This,objectId,pClassId)   \
+    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) 
 
-#define ICorProfilerInfo6_GetClassFromToken(This,moduleId,typeDef,pClassId) \
-    ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_GetCodeInfo(This,functionId,pStart,pcSize)   \
+    ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) 
 
-#define ICorProfilerInfo6_GetEventMask(This,pdwEvents)  \
-    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
+#define ICorProfilerInfo6_GetEventMask(This,pdwEvents) \
+    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) 
 
-#define ICorProfilerInfo6_GetFunctionFromIP(This,ip,pFunctionId)    \
-    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+#define ICorProfilerInfo6_GetFunctionFromIP(This,ip,pFunctionId)       \
+    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) 
 
-#define ICorProfilerInfo6_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
-    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
+#define ICorProfilerInfo6_GetFunctionFromToken(This,moduleId,token,pFunctionId)        \
+    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) 
 
-#define ICorProfilerInfo6_GetHandleFromThread(This,threadId,phThread)   \
-    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+#define ICorProfilerInfo6_GetHandleFromThread(This,threadId,phThread)  \
+    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) 
 
-#define ICorProfilerInfo6_GetObjectSize(This,objectId,pcSize)   \
-    ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_GetThreadInfo(This,threadId,pdwWin32ThreadId)        \
+    ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) 
 
-#define ICorProfilerInfo6_GetCurrentThreadID(This,pThreadId)    \
-    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+#define ICorProfilerInfo6_GetCurrentThreadID(This,pThreadId)   \
+    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) 
 
-#define ICorProfilerInfo6_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken)  \
-    ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken)   \
+    ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) 
 
-#define ICorProfilerInfo6_SetEventMask(This,dwEvents)   \
-    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
+#define ICorProfilerInfo6_SetEventMask(This,dwEvents)  \
+    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) 
 
-#define ICorProfilerInfo6_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall)  \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+#define ICorProfilerInfo6_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) 
 
-#define ICorProfilerInfo6_SetFunctionIDMapper(This,pFunc)   \
-    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+#define ICorProfilerInfo6_SetFunctionIDMapper(This,pFunc)      \
+    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) 
 
-#define ICorProfilerInfo6_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
-    ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_GetILFunctionBodyAllocator(This,moduleId,ppMalloc)   \
+    ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) 
 
-#define ICorProfilerInfo6_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
-    ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_SetFunctionReJIT(This,functionId)    \
+    ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) 
 
-#define ICorProfilerInfo6_ForceGC(This) \
-    ( (This)->lpVtbl -> ForceGC(This) )
+#define ICorProfilerInfo6_ForceGC(This)        \
+    ( (This)->lpVtbl -> ForceGC(This) ) 
 
-#define ICorProfilerInfo6_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)  \
-    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+#define ICorProfilerInfo6_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)     \
+    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) 
 
-#define ICorProfilerInfo6_GetInprocInspectionInterface(This,ppicd)  \
-    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
+#define ICorProfilerInfo6_GetInprocInspectionInterface(This,ppicd)     \
+    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) 
 
-#define ICorProfilerInfo6_GetInprocInspectionIThisThread(This,ppicd)    \
-    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
+#define ICorProfilerInfo6_GetInprocInspectionIThisThread(This,ppicd)   \
+    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) 
 
-#define ICorProfilerInfo6_GetThreadContext(This,threadId,pContextId)    \
-    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
+#define ICorProfilerInfo6_GetThreadContext(This,threadId,pContextId)   \
+    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) 
 
-#define ICorProfilerInfo6_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
-    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
+#define ICorProfilerInfo6_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext)        \
+    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) 
 
-#define ICorProfilerInfo6_EndInprocDebugging(This,dwProfilerContext)    \
-    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
+#define ICorProfilerInfo6_EndInprocDebugging(This,dwProfilerContext)   \
+    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) 
 
-#define ICorProfilerInfo6_GetILToNativeMapping(This,functionId,cMap,pcMap,map)  \
-    ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_GetBoxClassLayout(This,classId,pBufferOffset)        \
+    ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) 
 
-#define ICorProfilerInfo6_GetThreadAppDomain(This,threadId,pAppDomainId)    \
-    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
+#define ICorProfilerInfo6_GetThreadAppDomain(This,threadId,pAppDomainId)       \
+    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) 
 
-#define ICorProfilerInfo6_GetRVAStaticAddress(This,classId,fieldToken,ppAddress)    \
-    ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges)        \
+    ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) 
 
-#define ICorProfilerInfo6_GetObjectGeneration(This,objectId,range)  \
-    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
+#define ICorProfilerInfo6_GetObjectGeneration(This,objectId,range)     \
+    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) 
 
-#define ICorProfilerInfo6_GetNotifiedExceptionClauseInfo(This,pinfo)    \
-    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
+#define ICorProfilerInfo6_GetNotifiedExceptionClauseInfo(This,pinfo)   \
+    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) 
 
 
-#define ICorProfilerInfo6_EnumJITedFunctions(This,ppEnum)   \
-    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
+#define ICorProfilerInfo6_EnumJITedFunctions(This,ppEnum)      \
+    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) 
 
-#define ICorProfilerInfo6_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds)  \
-    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
+#define ICorProfilerInfo6_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
+    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) 
 
-#define ICorProfilerInfo6_SetFunctionIDMapper2(This,pFunc,clientData)   \
-    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
+#define ICorProfilerInfo6_SetFunctionIDMapper2(This,pFunc,clientData)  \
+    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) 
 
-#define ICorProfilerInfo6_GetStringLayout2(This,pStringLengthOffset,pBufferOffset)  \
-    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
+#define ICorProfilerInfo6_GetStringLayout2(This,pStringLengthOffset,pBufferOffset)     \
+    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) 
 
-#define ICorProfilerInfo6_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3)  \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
+    ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) 
 
-#define ICorProfilerInfo6_EnumModules(This,ppEnum)  \
-    ( (This)->lpVtbl -> EnumModules(This,ppEnum) )
+#define ICorProfilerInfo6_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) )
+#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) ) 
 
-#define ICorProfilerInfo6_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress)   \
-    ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_EnumThreads(This,ppEnum)     \
+    ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) 
 
-#define ICorProfilerInfo6_InitializeCurrentThread(This) \
-    ( (This)->lpVtbl -> InitializeCurrentThread(This) )
+#define ICorProfilerInfo6_InitializeCurrentThread(This)        \
+    ( (This)->lpVtbl -> InitializeCurrentThread(This) ) 
 
-#define ICorProfilerInfo6_RequestReJIT(This,cFunctions,moduleIds,methodIds) \
-    ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_EnumJITedFunctions2(This,ppEnum)     \
+    ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) 
 
-#define ICorProfilerInfo6_GetObjectSize2(This,objectId,pcSize)  \
-    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) )
+#define ICorProfilerInfo6_GetObjectSize2(This,objectId,pcSize) \
+    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) 
 
 
-#define ICorProfilerInfo6_GetEventMask2(This,pdwEventsLow,pdwEventsHigh)    \
-    ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) )
+#define ICorProfilerInfo6_GetEventMask2(This,pdwEventsLow,pdwEventsHigh)       \
+    ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) 
 
-#define ICorProfilerInfo6_SetEventMask2(This,dwEventsLow,dwEventsHigh)  \
-    ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) )
+#define ICorProfilerInfo6_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) )
+#define ICorProfilerInfo6_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \
+    ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerInfo6_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerInfo6_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo7_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerInfo7Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerInfo7 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerInfo7 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerInfo7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdTypeDef typeDef,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( 
             ICorProfilerInfo7 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ LPCBYTE *pStart,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask )( 
             ICorProfilerInfo7 * This,
             /* [out] */ DWORD *pdwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( 
             ICorProfilerInfo7 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdToken token,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
+        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ HANDLE *phThread);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
+        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ClassID classId,
             /* [out] */ CorElementType *pBaseElemType,
             /* [out] */ ClassID *pBaseClassId,
             /* [out] */ ULONG *pcRank);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ DWORD *pdwWin32ThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
+        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( 
             ICorProfilerInfo7 * This,
             /* [out] */ ThreadID *pThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdTypeDef *pTypeDefToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( 
             ICorProfilerInfo7 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ ClassID *pClassId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask )( 
             ICorProfilerInfo7 * This,
             /* [in] */ DWORD dwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( 
             ICorProfilerInfo7 * This,
             /* [in] */ FunctionEnter *pFuncEnter,
             /* [in] */ FunctionLeave *pFuncLeave,
             /* [in] */ FunctionTailcall *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( 
             ICorProfilerInfo7 * This,
             /* [in] */ FunctionIDMapper *pFunc);
-
-        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
+        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( 
             ICorProfilerInfo7 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppImport,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
+        HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ DWORD dwOpenFlags,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppOut);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [out] */ LPCBYTE *ppMethodHeader,
             /* [out] */ ULONG *pcbMethodSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ModuleID moduleId,
             /* [out] */ IMethodMalloc **ppMalloc);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodid,
             /* [in] */ LPCBYTE pbNewILMethodHeader);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( 
             ICorProfilerInfo7 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
+        HRESULT ( STDMETHODCALLTYPE *ForceGC )( 
             ICorProfilerInfo7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( 
             ICorProfilerInfo7 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( 
             ICorProfilerInfo7 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ ContextID *pContextId);
-
-        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( 
             ICorProfilerInfo7 * This,
             /* [in] */ BOOL fThisThreadOnly,
             /* [out] */ DWORD *pdwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( 
             ICorProfilerInfo7 * This,
             /* [in] */ DWORD dwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
+        HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ThreadID thread,
             /* [in] */ StackSnapshotCallback *callback,
@@ -14479,14 +15960,16 @@ EXTERN_C const IID IID_ICorProfilerInfo7;
             /* [in] */ void *clientData,
             /* [size_is][in] */ BYTE context[  ],
             /* [in] */ ULONG32 contextSize);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( 
             ICorProfilerInfo7 * This,
             /* [in] */ FunctionEnter2 *pFuncEnter,
             /* [in] */ FunctionLeave2 *pFuncLeave,
             /* [in] */ FunctionTailcall2 *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( 
             ICorProfilerInfo7 * This,
             /* [in] */ FunctionID funcId,
             /* [in] */ COR_PRF_FRAME_INFO frameInfo,
@@ -14496,22 +15979,25 @@ EXTERN_C const IID IID_ICorProfilerInfo7;
             /* [in] */ ULONG32 cTypeArgs,
             /* [out] */ ULONG32 *pcTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( 
             ICorProfilerInfo7 * This,
             /* [out] */ ULONG *pBufferLengthOffset,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
@@ -14520,23 +16006,26 @@ EXTERN_C const IID IID_ICorProfilerInfo7;
             /* [in] */ ULONG32 cNumTypeArgs,
             /* [out] */ ULONG32 *pcNumTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ModuleID moduleID,
             /* [in] */ mdMethodDef funcDef,
@@ -14544,134 +16033,157 @@ EXTERN_C const IID IID_ICorProfilerInfo7;
             /* [in] */ ULONG32 cTypeArgs,
             /* [size_is][in] */ ClassID typeArgs[  ],
             /* [out] */ FunctionID *pFunctionID);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
+        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ModuleID moduleID,
             /* [out] */ ICorProfilerObjectEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ULONG32 *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ AppDomainID *pAppDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ContextID contextId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
-
-        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( 
             ICorProfilerInfo7 * This,
             /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( 
             ICorProfilerInfo7 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
+        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( 
             ICorProfilerInfo7 * This,
             /* [in] */ DWORD dwExpectedCompletionMilliseconds);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( 
             ICorProfilerInfo7 * This,
             /* [in] */ FunctionIDMapper2 *pFunc,
             /* [in] */ void *clientData);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( 
             ICorProfilerInfo7 * This,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( 
             ICorProfilerInfo7 * This,
             /* [in] */ FunctionEnter3 *pFuncEnter3,
             /* [in] */ FunctionLeave3 *pFuncLeave3,
             /* [in] */ FunctionTailcall3 *pFuncTailcall3);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( 
             ICorProfilerInfo7 * This,
             /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
             /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
             /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( 
             ICorProfilerInfo7 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_ELT_INFO eltInfo,
             /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModules )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
+        HRESULT ( STDMETHODCALLTYPE *EnumModules )( 
             ICorProfilerInfo7 * This,
             /* [out] */ ICorProfilerModuleEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
+        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( 
             ICorProfilerInfo7 * This,
             /* [out] */ USHORT *pClrInstanceId,
             /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
@@ -14681,128 +16193,147 @@ 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
+        HRESULT ( STDMETHODCALLTYPE *EnumThreads )( 
             ICorProfilerInfo7 * This,
             /* [out] */ ICorProfilerThreadEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
+        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( 
             ICorProfilerInfo7 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
+        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ULONG cFunctions,
             /* [size_is][in] */ ModuleID moduleIds[  ],
             /* [size_is][in] */ mdMethodDef methodIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( 
             ICorProfilerInfo7 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId,
             /* [out] */ ReJITID *pReJitId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( 
             ICorProfilerInfo7 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ SIZE_T *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( 
             ICorProfilerInfo7 * This,
             /* [out] */ DWORD *pdwEventsLow,
             /* [out] */ DWORD *pdwEventsHigh);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( 
             ICorProfilerInfo7 * This,
             /* [in] */ DWORD dwEventsLow,
             /* [in] */ DWORD dwEventsHigh);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod)
+        HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ModuleID inlinersModuleId,
             /* [in] */ ModuleID inlineeModuleId,
             /* [in] */ mdMethodDef inlineeMethodId,
             /* [out] */ BOOL *incompleteData,
             /* [out] */ ICorProfilerMethodEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData)
+        HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength)
+        HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ModuleID moduleId,
             /* [out] */ DWORD *pCountSymbolBytes);
-
-        HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols)
+        HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( 
             ICorProfilerInfo7 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ DWORD symbolsReadOffset,
             /* [out] */ BYTE *pSymbolBytes,
             /* [in] */ DWORD countSymbolBytes,
             /* [out] */ DWORD *pCountSymbolBytesRead);
-
+        
         END_INTERFACE
     } ICorProfilerInfo7Vtbl;
 
@@ -14811,315 +16342,315 @@ 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) )
+#define ICorProfilerInfo7_QueryInterface(This,riid,ppvObject)  \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerInfo7_AddRef(This)  \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerInfo7_AddRef(This) \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerInfo7_Release(This) \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerInfo7_Release(This)        \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerInfo7_GetClassFromObject(This,objectId,pClassId)    \
-    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
+#define ICorProfilerInfo7_GetClassFromObject(This,objectId,pClassId)   \
+    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) 
 
-#define ICorProfilerInfo7_GetClassFromToken(This,moduleId,typeDef,pClassId) \
-    ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_GetCodeInfo(This,functionId,pStart,pcSize)   \
+    ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) 
 
-#define ICorProfilerInfo7_GetEventMask(This,pdwEvents)  \
-    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
+#define ICorProfilerInfo7_GetEventMask(This,pdwEvents) \
+    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) 
 
-#define ICorProfilerInfo7_GetFunctionFromIP(This,ip,pFunctionId)    \
-    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+#define ICorProfilerInfo7_GetFunctionFromIP(This,ip,pFunctionId)       \
+    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) 
 
-#define ICorProfilerInfo7_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
-    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
+#define ICorProfilerInfo7_GetFunctionFromToken(This,moduleId,token,pFunctionId)        \
+    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) 
 
-#define ICorProfilerInfo7_GetHandleFromThread(This,threadId,phThread)   \
-    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+#define ICorProfilerInfo7_GetHandleFromThread(This,threadId,phThread)  \
+    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) 
 
-#define ICorProfilerInfo7_GetObjectSize(This,objectId,pcSize)   \
-    ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_GetThreadInfo(This,threadId,pdwWin32ThreadId)        \
+    ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) 
 
-#define ICorProfilerInfo7_GetCurrentThreadID(This,pThreadId)    \
-    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+#define ICorProfilerInfo7_GetCurrentThreadID(This,pThreadId)   \
+    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) 
 
-#define ICorProfilerInfo7_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken)  \
-    ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken)   \
+    ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) 
 
-#define ICorProfilerInfo7_SetEventMask(This,dwEvents)   \
-    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
+#define ICorProfilerInfo7_SetEventMask(This,dwEvents)  \
+    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) 
 
-#define ICorProfilerInfo7_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall)  \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+#define ICorProfilerInfo7_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) 
 
-#define ICorProfilerInfo7_SetFunctionIDMapper(This,pFunc)   \
-    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+#define ICorProfilerInfo7_SetFunctionIDMapper(This,pFunc)      \
+    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) 
 
-#define ICorProfilerInfo7_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
-    ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_GetILFunctionBodyAllocator(This,moduleId,ppMalloc)   \
+    ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) 
 
-#define ICorProfilerInfo7_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
-    ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_SetFunctionReJIT(This,functionId)    \
+    ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) 
 
-#define ICorProfilerInfo7_ForceGC(This) \
-    ( (This)->lpVtbl -> ForceGC(This) )
+#define ICorProfilerInfo7_ForceGC(This)        \
+    ( (This)->lpVtbl -> ForceGC(This) ) 
 
-#define ICorProfilerInfo7_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)  \
-    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+#define ICorProfilerInfo7_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)     \
+    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) 
 
-#define ICorProfilerInfo7_GetInprocInspectionInterface(This,ppicd)  \
-    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
+#define ICorProfilerInfo7_GetInprocInspectionInterface(This,ppicd)     \
+    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) 
 
-#define ICorProfilerInfo7_GetInprocInspectionIThisThread(This,ppicd)    \
-    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
+#define ICorProfilerInfo7_GetInprocInspectionIThisThread(This,ppicd)   \
+    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) 
 
-#define ICorProfilerInfo7_GetThreadContext(This,threadId,pContextId)    \
-    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
+#define ICorProfilerInfo7_GetThreadContext(This,threadId,pContextId)   \
+    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) 
 
-#define ICorProfilerInfo7_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
-    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
+#define ICorProfilerInfo7_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext)        \
+    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) 
 
-#define ICorProfilerInfo7_EndInprocDebugging(This,dwProfilerContext)    \
-    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
+#define ICorProfilerInfo7_EndInprocDebugging(This,dwProfilerContext)   \
+    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) 
 
-#define ICorProfilerInfo7_GetILToNativeMapping(This,functionId,cMap,pcMap,map)  \
-    ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_GetBoxClassLayout(This,classId,pBufferOffset)        \
+    ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) 
 
-#define ICorProfilerInfo7_GetThreadAppDomain(This,threadId,pAppDomainId)    \
-    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
+#define ICorProfilerInfo7_GetThreadAppDomain(This,threadId,pAppDomainId)       \
+    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) 
 
-#define ICorProfilerInfo7_GetRVAStaticAddress(This,classId,fieldToken,ppAddress)    \
-    ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges)        \
+    ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) 
 
-#define ICorProfilerInfo7_GetObjectGeneration(This,objectId,range)  \
-    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
+#define ICorProfilerInfo7_GetObjectGeneration(This,objectId,range)     \
+    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) 
 
-#define ICorProfilerInfo7_GetNotifiedExceptionClauseInfo(This,pinfo)    \
-    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
+#define ICorProfilerInfo7_GetNotifiedExceptionClauseInfo(This,pinfo)   \
+    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) 
 
 
-#define ICorProfilerInfo7_EnumJITedFunctions(This,ppEnum)   \
-    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
+#define ICorProfilerInfo7_EnumJITedFunctions(This,ppEnum)      \
+    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) 
 
-#define ICorProfilerInfo7_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds)  \
-    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
+#define ICorProfilerInfo7_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
+    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) 
 
-#define ICorProfilerInfo7_SetFunctionIDMapper2(This,pFunc,clientData)   \
-    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
+#define ICorProfilerInfo7_SetFunctionIDMapper2(This,pFunc,clientData)  \
+    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) 
 
-#define ICorProfilerInfo7_GetStringLayout2(This,pStringLengthOffset,pBufferOffset)  \
-    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
+#define ICorProfilerInfo7_GetStringLayout2(This,pStringLengthOffset,pBufferOffset)     \
+    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) 
 
-#define ICorProfilerInfo7_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3)  \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
+    ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) 
 
-#define ICorProfilerInfo7_EnumModules(This,ppEnum)  \
-    ( (This)->lpVtbl -> EnumModules(This,ppEnum) )
+#define ICorProfilerInfo7_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) )
+#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) ) 
 
-#define ICorProfilerInfo7_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress)   \
-    ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_EnumThreads(This,ppEnum)     \
+    ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) 
 
-#define ICorProfilerInfo7_InitializeCurrentThread(This) \
-    ( (This)->lpVtbl -> InitializeCurrentThread(This) )
+#define ICorProfilerInfo7_InitializeCurrentThread(This)        \
+    ( (This)->lpVtbl -> InitializeCurrentThread(This) ) 
 
-#define ICorProfilerInfo7_RequestReJIT(This,cFunctions,moduleIds,methodIds) \
-    ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_EnumJITedFunctions2(This,ppEnum)     \
+    ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) 
 
-#define ICorProfilerInfo7_GetObjectSize2(This,objectId,pcSize)  \
-    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) )
+#define ICorProfilerInfo7_GetObjectSize2(This,objectId,pcSize) \
+    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) 
 
 
-#define ICorProfilerInfo7_GetEventMask2(This,pdwEventsLow,pdwEventsHigh)    \
-    ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) )
+#define ICorProfilerInfo7_GetEventMask2(This,pdwEventsLow,pdwEventsHigh)       \
+    ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) 
 
-#define ICorProfilerInfo7_SetEventMask2(This,dwEventsLow,dwEventsHigh)  \
-    ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_ApplyMetaData(This,moduleId) \
+    ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) 
 
-#define ICorProfilerInfo7_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) \
-    ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) )
+#define ICorProfilerInfo7_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) )
+#define ICorProfilerInfo7_ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead)     \
+    ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerInfo7_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerInfo7_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo8_INTERFACE_DEFINED__
 #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,
@@ -15127,218 +16658,255 @@ EXTERN_C const IID IID_ICorProfilerInfo8;
             /* [in] */ ULONG cchName,
             /* [out] */ ULONG *pcchName,
             /* [out] */ WCHAR wszName[  ]) = 0;
-
+        
     };
-
-
-#else   /* C style interface */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerInfo8Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerInfo8 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerInfo8 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerInfo8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdTypeDef typeDef,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( 
             ICorProfilerInfo8 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ LPCBYTE *pStart,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask )( 
             ICorProfilerInfo8 * This,
             /* [out] */ DWORD *pdwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( 
             ICorProfilerInfo8 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdToken token,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
+        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ HANDLE *phThread);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
+        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ClassID classId,
             /* [out] */ CorElementType *pBaseElemType,
             /* [out] */ ClassID *pBaseClassId,
             /* [out] */ ULONG *pcRank);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ DWORD *pdwWin32ThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
+        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( 
             ICorProfilerInfo8 * This,
             /* [out] */ ThreadID *pThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdTypeDef *pTypeDefToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( 
             ICorProfilerInfo8 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ ClassID *pClassId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask )( 
             ICorProfilerInfo8 * This,
             /* [in] */ DWORD dwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( 
             ICorProfilerInfo8 * This,
             /* [in] */ FunctionEnter *pFuncEnter,
             /* [in] */ FunctionLeave *pFuncLeave,
             /* [in] */ FunctionTailcall *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( 
             ICorProfilerInfo8 * This,
             /* [in] */ FunctionIDMapper *pFunc);
-
-        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
+        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( 
             ICorProfilerInfo8 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppImport,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
+        HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ DWORD dwOpenFlags,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppOut);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [out] */ LPCBYTE *ppMethodHeader,
             /* [out] */ ULONG *pcbMethodSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ModuleID moduleId,
             /* [out] */ IMethodMalloc **ppMalloc);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodid,
             /* [in] */ LPCBYTE pbNewILMethodHeader);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( 
             ICorProfilerInfo8 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
+        HRESULT ( STDMETHODCALLTYPE *ForceGC )( 
             ICorProfilerInfo8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( 
             ICorProfilerInfo8 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( 
             ICorProfilerInfo8 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ ContextID *pContextId);
-
-        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( 
             ICorProfilerInfo8 * This,
             /* [in] */ BOOL fThisThreadOnly,
             /* [out] */ DWORD *pdwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( 
             ICorProfilerInfo8 * This,
             /* [in] */ DWORD dwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
+        HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ThreadID thread,
             /* [in] */ StackSnapshotCallback *callback,
@@ -15346,14 +16914,16 @@ EXTERN_C const IID IID_ICorProfilerInfo8;
             /* [in] */ void *clientData,
             /* [size_is][in] */ BYTE context[  ],
             /* [in] */ ULONG32 contextSize);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( 
             ICorProfilerInfo8 * This,
             /* [in] */ FunctionEnter2 *pFuncEnter,
             /* [in] */ FunctionLeave2 *pFuncLeave,
             /* [in] */ FunctionTailcall2 *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( 
             ICorProfilerInfo8 * This,
             /* [in] */ FunctionID funcId,
             /* [in] */ COR_PRF_FRAME_INFO frameInfo,
@@ -15363,22 +16933,25 @@ EXTERN_C const IID IID_ICorProfilerInfo8;
             /* [in] */ ULONG32 cTypeArgs,
             /* [out] */ ULONG32 *pcTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( 
             ICorProfilerInfo8 * This,
             /* [out] */ ULONG *pBufferLengthOffset,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
@@ -15387,23 +16960,26 @@ EXTERN_C const IID IID_ICorProfilerInfo8;
             /* [in] */ ULONG32 cNumTypeArgs,
             /* [out] */ ULONG32 *pcNumTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ModuleID moduleID,
             /* [in] */ mdMethodDef funcDef,
@@ -15411,134 +16987,157 @@ EXTERN_C const IID IID_ICorProfilerInfo8;
             /* [in] */ ULONG32 cTypeArgs,
             /* [size_is][in] */ ClassID typeArgs[  ],
             /* [out] */ FunctionID *pFunctionID);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
+        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ModuleID moduleID,
             /* [out] */ ICorProfilerObjectEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ULONG32 *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ AppDomainID *pAppDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ContextID contextId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
-
-        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( 
             ICorProfilerInfo8 * This,
             /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( 
             ICorProfilerInfo8 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
+        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( 
             ICorProfilerInfo8 * This,
             /* [in] */ DWORD dwExpectedCompletionMilliseconds);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( 
             ICorProfilerInfo8 * This,
             /* [in] */ FunctionIDMapper2 *pFunc,
             /* [in] */ void *clientData);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( 
             ICorProfilerInfo8 * This,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( 
             ICorProfilerInfo8 * This,
             /* [in] */ FunctionEnter3 *pFuncEnter3,
             /* [in] */ FunctionLeave3 *pFuncLeave3,
             /* [in] */ FunctionTailcall3 *pFuncTailcall3);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( 
             ICorProfilerInfo8 * This,
             /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
             /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
             /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( 
             ICorProfilerInfo8 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_ELT_INFO eltInfo,
             /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModules )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
+        HRESULT ( STDMETHODCALLTYPE *EnumModules )( 
             ICorProfilerInfo8 * This,
             /* [out] */ ICorProfilerModuleEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
+        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( 
             ICorProfilerInfo8 * This,
             /* [out] */ USHORT *pClrInstanceId,
             /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
@@ -15548,140 +17147,162 @@ 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
+        HRESULT ( STDMETHODCALLTYPE *EnumThreads )( 
             ICorProfilerInfo8 * This,
             /* [out] */ ICorProfilerThreadEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
+        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( 
             ICorProfilerInfo8 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
+        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ULONG cFunctions,
             /* [size_is][in] */ ModuleID moduleIds[  ],
             /* [size_is][in] */ mdMethodDef methodIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( 
             ICorProfilerInfo8 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId,
             /* [out] */ ReJITID *pReJitId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( 
             ICorProfilerInfo8 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ SIZE_T *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( 
             ICorProfilerInfo8 * This,
             /* [out] */ DWORD *pdwEventsLow,
             /* [out] */ DWORD *pdwEventsHigh);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( 
             ICorProfilerInfo8 * This,
             /* [in] */ DWORD dwEventsLow,
             /* [in] */ DWORD dwEventsHigh);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod)
+        HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ModuleID inlinersModuleId,
             /* [in] */ ModuleID inlineeModuleId,
             /* [in] */ mdMethodDef inlineeMethodId,
             /* [out] */ BOOL *incompleteData,
             /* [out] */ ICorProfilerMethodEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData)
+        HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength)
+        HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ModuleID moduleId,
             /* [out] */ DWORD *pCountSymbolBytes);
-
-        HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols)
+        HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( 
             ICorProfilerInfo8 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ DWORD symbolsReadOffset,
             /* [out] */ BYTE *pSymbolBytes,
             /* [in] */ DWORD countSymbolBytes,
             /* [out] */ DWORD *pCountSymbolBytesRead);
-
-        HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic)
+        HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( 
             ICorProfilerInfo8 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ BOOL *isDynamic);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( 
             ICorProfilerInfo8 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *functionId,
             /* [out] */ ReJITID *pReJitId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( 
             ICorProfilerInfo8 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ ModuleID *moduleId,
@@ -15690,7 +17311,7 @@ EXTERN_C const IID IID_ICorProfilerInfo8;
             /* [in] */ ULONG cchName,
             /* [out] */ ULONG *pcchName,
             /* [out] */ WCHAR wszName[  ]);
-
+        
         END_INTERFACE
     } ICorProfilerInfo8Vtbl;
 
@@ -15699,545 +17320,582 @@ 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) )
+#define ICorProfilerInfo8_QueryInterface(This,riid,ppvObject)  \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerInfo8_AddRef(This)  \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerInfo8_AddRef(This) \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerInfo8_Release(This) \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerInfo8_Release(This)        \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerInfo8_GetClassFromObject(This,objectId,pClassId)    \
-    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
+#define ICorProfilerInfo8_GetClassFromObject(This,objectId,pClassId)   \
+    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) 
 
-#define ICorProfilerInfo8_GetClassFromToken(This,moduleId,typeDef,pClassId) \
-    ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_GetCodeInfo(This,functionId,pStart,pcSize)   \
+    ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) 
 
-#define ICorProfilerInfo8_GetEventMask(This,pdwEvents)  \
-    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
+#define ICorProfilerInfo8_GetEventMask(This,pdwEvents) \
+    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) 
 
-#define ICorProfilerInfo8_GetFunctionFromIP(This,ip,pFunctionId)    \
-    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+#define ICorProfilerInfo8_GetFunctionFromIP(This,ip,pFunctionId)       \
+    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) 
 
-#define ICorProfilerInfo8_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
-    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
+#define ICorProfilerInfo8_GetFunctionFromToken(This,moduleId,token,pFunctionId)        \
+    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) 
 
-#define ICorProfilerInfo8_GetHandleFromThread(This,threadId,phThread)   \
-    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+#define ICorProfilerInfo8_GetHandleFromThread(This,threadId,phThread)  \
+    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) 
 
-#define ICorProfilerInfo8_GetObjectSize(This,objectId,pcSize)   \
-    ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_GetThreadInfo(This,threadId,pdwWin32ThreadId)        \
+    ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) 
 
-#define ICorProfilerInfo8_GetCurrentThreadID(This,pThreadId)    \
-    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+#define ICorProfilerInfo8_GetCurrentThreadID(This,pThreadId)   \
+    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) 
 
-#define ICorProfilerInfo8_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken)  \
-    ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken)   \
+    ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) 
 
-#define ICorProfilerInfo8_SetEventMask(This,dwEvents)   \
-    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
+#define ICorProfilerInfo8_SetEventMask(This,dwEvents)  \
+    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) 
 
-#define ICorProfilerInfo8_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall)  \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+#define ICorProfilerInfo8_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) 
 
-#define ICorProfilerInfo8_SetFunctionIDMapper(This,pFunc)   \
-    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+#define ICorProfilerInfo8_SetFunctionIDMapper(This,pFunc)      \
+    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) 
 
-#define ICorProfilerInfo8_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
-    ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_GetILFunctionBodyAllocator(This,moduleId,ppMalloc)   \
+    ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) 
 
-#define ICorProfilerInfo8_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
-    ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_SetFunctionReJIT(This,functionId)    \
+    ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) 
 
-#define ICorProfilerInfo8_ForceGC(This) \
-    ( (This)->lpVtbl -> ForceGC(This) )
+#define ICorProfilerInfo8_ForceGC(This)        \
+    ( (This)->lpVtbl -> ForceGC(This) ) 
 
-#define ICorProfilerInfo8_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)  \
-    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+#define ICorProfilerInfo8_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)     \
+    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) 
 
-#define ICorProfilerInfo8_GetInprocInspectionInterface(This,ppicd)  \
-    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
+#define ICorProfilerInfo8_GetInprocInspectionInterface(This,ppicd)     \
+    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) 
 
-#define ICorProfilerInfo8_GetInprocInspectionIThisThread(This,ppicd)    \
-    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
+#define ICorProfilerInfo8_GetInprocInspectionIThisThread(This,ppicd)   \
+    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) 
 
-#define ICorProfilerInfo8_GetThreadContext(This,threadId,pContextId)    \
-    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
+#define ICorProfilerInfo8_GetThreadContext(This,threadId,pContextId)   \
+    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) 
 
-#define ICorProfilerInfo8_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
-    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
+#define ICorProfilerInfo8_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext)        \
+    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) 
 
-#define ICorProfilerInfo8_EndInprocDebugging(This,dwProfilerContext)    \
-    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
+#define ICorProfilerInfo8_EndInprocDebugging(This,dwProfilerContext)   \
+    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) 
 
-#define ICorProfilerInfo8_GetILToNativeMapping(This,functionId,cMap,pcMap,map)  \
-    ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_GetBoxClassLayout(This,classId,pBufferOffset)        \
+    ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) 
 
-#define ICorProfilerInfo8_GetThreadAppDomain(This,threadId,pAppDomainId)    \
-    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
+#define ICorProfilerInfo8_GetThreadAppDomain(This,threadId,pAppDomainId)       \
+    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) 
 
-#define ICorProfilerInfo8_GetRVAStaticAddress(This,classId,fieldToken,ppAddress)    \
-    ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges)        \
+    ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) 
 
-#define ICorProfilerInfo8_GetObjectGeneration(This,objectId,range)  \
-    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
+#define ICorProfilerInfo8_GetObjectGeneration(This,objectId,range)     \
+    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) 
 
-#define ICorProfilerInfo8_GetNotifiedExceptionClauseInfo(This,pinfo)    \
-    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
+#define ICorProfilerInfo8_GetNotifiedExceptionClauseInfo(This,pinfo)   \
+    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) 
 
 
-#define ICorProfilerInfo8_EnumJITedFunctions(This,ppEnum)   \
-    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
+#define ICorProfilerInfo8_EnumJITedFunctions(This,ppEnum)      \
+    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) 
 
-#define ICorProfilerInfo8_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds)  \
-    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
+#define ICorProfilerInfo8_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
+    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) 
 
-#define ICorProfilerInfo8_SetFunctionIDMapper2(This,pFunc,clientData)   \
-    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
+#define ICorProfilerInfo8_SetFunctionIDMapper2(This,pFunc,clientData)  \
+    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) 
 
-#define ICorProfilerInfo8_GetStringLayout2(This,pStringLengthOffset,pBufferOffset)  \
-    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
+#define ICorProfilerInfo8_GetStringLayout2(This,pStringLengthOffset,pBufferOffset)     \
+    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) 
 
-#define ICorProfilerInfo8_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3)  \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
+    ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) 
 
-#define ICorProfilerInfo8_EnumModules(This,ppEnum)  \
-    ( (This)->lpVtbl -> EnumModules(This,ppEnum) )
+#define ICorProfilerInfo8_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) )
+#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) ) 
 
-#define ICorProfilerInfo8_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress)   \
-    ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_EnumThreads(This,ppEnum)     \
+    ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) 
 
-#define ICorProfilerInfo8_InitializeCurrentThread(This) \
-    ( (This)->lpVtbl -> InitializeCurrentThread(This) )
+#define ICorProfilerInfo8_InitializeCurrentThread(This)        \
+    ( (This)->lpVtbl -> InitializeCurrentThread(This) ) 
 
-#define ICorProfilerInfo8_RequestReJIT(This,cFunctions,moduleIds,methodIds) \
-    ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_EnumJITedFunctions2(This,ppEnum)     \
+    ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) 
 
-#define ICorProfilerInfo8_GetObjectSize2(This,objectId,pcSize)  \
-    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) )
+#define ICorProfilerInfo8_GetObjectSize2(This,objectId,pcSize) \
+    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) 
 
 
-#define ICorProfilerInfo8_GetEventMask2(This,pdwEventsLow,pdwEventsHigh)    \
-    ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) )
+#define ICorProfilerInfo8_GetEventMask2(This,pdwEventsLow,pdwEventsHigh)       \
+    ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) 
 
-#define ICorProfilerInfo8_SetEventMask2(This,dwEventsLow,dwEventsHigh)  \
-    ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_ApplyMetaData(This,moduleId) \
+    ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) 
 
-#define ICorProfilerInfo8_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) \
-    ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_IsFunctionDynamic(This,functionId,isDynamic) \
+    ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) 
 
-#define ICorProfilerInfo8_GetFunctionFromIP3(This,ip,functionId,pReJitId)   \
-    ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) )
+#define ICorProfilerInfo8_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) )
+#define ICorProfilerInfo8_GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName)       \
+    ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerInfo8_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerInfo8_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo9_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerInfo9Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerInfo9 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerInfo9 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerInfo9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdTypeDef typeDef,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( 
             ICorProfilerInfo9 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ LPCBYTE *pStart,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask )( 
             ICorProfilerInfo9 * This,
             /* [out] */ DWORD *pdwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( 
             ICorProfilerInfo9 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdToken token,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
+        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ HANDLE *phThread);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
+        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ClassID classId,
             /* [out] */ CorElementType *pBaseElemType,
             /* [out] */ ClassID *pBaseClassId,
             /* [out] */ ULONG *pcRank);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ DWORD *pdwWin32ThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
+        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( 
             ICorProfilerInfo9 * This,
             /* [out] */ ThreadID *pThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdTypeDef *pTypeDefToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( 
             ICorProfilerInfo9 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ ClassID *pClassId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask )( 
             ICorProfilerInfo9 * This,
             /* [in] */ DWORD dwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( 
             ICorProfilerInfo9 * This,
             /* [in] */ FunctionEnter *pFuncEnter,
             /* [in] */ FunctionLeave *pFuncLeave,
             /* [in] */ FunctionTailcall *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( 
             ICorProfilerInfo9 * This,
             /* [in] */ FunctionIDMapper *pFunc);
-
-        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
+        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( 
             ICorProfilerInfo9 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppImport,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
+        HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ DWORD dwOpenFlags,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppOut);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [out] */ LPCBYTE *ppMethodHeader,
             /* [out] */ ULONG *pcbMethodSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ModuleID moduleId,
             /* [out] */ IMethodMalloc **ppMalloc);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodid,
             /* [in] */ LPCBYTE pbNewILMethodHeader);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( 
             ICorProfilerInfo9 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
+        HRESULT ( STDMETHODCALLTYPE *ForceGC )( 
             ICorProfilerInfo9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( 
             ICorProfilerInfo9 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( 
             ICorProfilerInfo9 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ ContextID *pContextId);
-
-        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( 
             ICorProfilerInfo9 * This,
             /* [in] */ BOOL fThisThreadOnly,
             /* [out] */ DWORD *pdwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( 
             ICorProfilerInfo9 * This,
             /* [in] */ DWORD dwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
+        HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ThreadID thread,
             /* [in] */ StackSnapshotCallback *callback,
@@ -16245,14 +17903,16 @@ EXTERN_C const IID IID_ICorProfilerInfo9;
             /* [in] */ void *clientData,
             /* [size_is][in] */ BYTE context[  ],
             /* [in] */ ULONG32 contextSize);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( 
             ICorProfilerInfo9 * This,
             /* [in] */ FunctionEnter2 *pFuncEnter,
             /* [in] */ FunctionLeave2 *pFuncLeave,
             /* [in] */ FunctionTailcall2 *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( 
             ICorProfilerInfo9 * This,
             /* [in] */ FunctionID funcId,
             /* [in] */ COR_PRF_FRAME_INFO frameInfo,
@@ -16262,22 +17922,25 @@ EXTERN_C const IID IID_ICorProfilerInfo9;
             /* [in] */ ULONG32 cTypeArgs,
             /* [out] */ ULONG32 *pcTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( 
             ICorProfilerInfo9 * This,
             /* [out] */ ULONG *pBufferLengthOffset,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
@@ -16286,23 +17949,26 @@ EXTERN_C const IID IID_ICorProfilerInfo9;
             /* [in] */ ULONG32 cNumTypeArgs,
             /* [out] */ ULONG32 *pcNumTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ModuleID moduleID,
             /* [in] */ mdMethodDef funcDef,
@@ -16310,134 +17976,157 @@ EXTERN_C const IID IID_ICorProfilerInfo9;
             /* [in] */ ULONG32 cTypeArgs,
             /* [size_is][in] */ ClassID typeArgs[  ],
             /* [out] */ FunctionID *pFunctionID);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
+        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ModuleID moduleID,
             /* [out] */ ICorProfilerObjectEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ULONG32 *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ AppDomainID *pAppDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ContextID contextId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
-
-        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( 
             ICorProfilerInfo9 * This,
             /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( 
             ICorProfilerInfo9 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
+        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( 
             ICorProfilerInfo9 * This,
             /* [in] */ DWORD dwExpectedCompletionMilliseconds);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( 
             ICorProfilerInfo9 * This,
             /* [in] */ FunctionIDMapper2 *pFunc,
             /* [in] */ void *clientData);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( 
             ICorProfilerInfo9 * This,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( 
             ICorProfilerInfo9 * This,
             /* [in] */ FunctionEnter3 *pFuncEnter3,
             /* [in] */ FunctionLeave3 *pFuncLeave3,
             /* [in] */ FunctionTailcall3 *pFuncTailcall3);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( 
             ICorProfilerInfo9 * This,
             /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
             /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
             /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( 
             ICorProfilerInfo9 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_ELT_INFO eltInfo,
             /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModules )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
+        HRESULT ( STDMETHODCALLTYPE *EnumModules )( 
             ICorProfilerInfo9 * This,
             /* [out] */ ICorProfilerModuleEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
+        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( 
             ICorProfilerInfo9 * This,
             /* [out] */ USHORT *pClrInstanceId,
             /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
@@ -16447,140 +18136,162 @@ 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
+        HRESULT ( STDMETHODCALLTYPE *EnumThreads )( 
             ICorProfilerInfo9 * This,
             /* [out] */ ICorProfilerThreadEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
+        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( 
             ICorProfilerInfo9 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
+        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ULONG cFunctions,
             /* [size_is][in] */ ModuleID moduleIds[  ],
             /* [size_is][in] */ mdMethodDef methodIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( 
             ICorProfilerInfo9 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId,
             /* [out] */ ReJITID *pReJitId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( 
             ICorProfilerInfo9 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ SIZE_T *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( 
             ICorProfilerInfo9 * This,
             /* [out] */ DWORD *pdwEventsLow,
             /* [out] */ DWORD *pdwEventsHigh);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( 
             ICorProfilerInfo9 * This,
             /* [in] */ DWORD dwEventsLow,
             /* [in] */ DWORD dwEventsHigh);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod)
+        HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ModuleID inlinersModuleId,
             /* [in] */ ModuleID inlineeModuleId,
             /* [in] */ mdMethodDef inlineeMethodId,
             /* [out] */ BOOL *incompleteData,
             /* [out] */ ICorProfilerMethodEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData)
+        HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength)
+        HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ModuleID moduleId,
             /* [out] */ DWORD *pCountSymbolBytes);
-
-        HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols)
+        HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( 
             ICorProfilerInfo9 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ DWORD symbolsReadOffset,
             /* [out] */ BYTE *pSymbolBytes,
             /* [in] */ DWORD countSymbolBytes,
             /* [out] */ DWORD *pCountSymbolBytesRead);
-
-        HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic)
+        HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( 
             ICorProfilerInfo9 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ BOOL *isDynamic);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( 
             ICorProfilerInfo9 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *functionId,
             /* [out] */ ReJITID *pReJitId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( 
             ICorProfilerInfo9 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ ModuleID *moduleId,
@@ -16589,29 +18300,32 @@ EXTERN_C const IID IID_ICorProfilerInfo9;
             /* [in] */ ULONG cchName,
             /* [out] */ ULONG *pcchName,
             /* [out] */ WCHAR wszName[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetNativeCodeStartAddresses)
+        HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( 
             ICorProfilerInfo9 * This,
             FunctionID functionID,
             ReJITID reJitId,
             ULONG32 cCodeStartAddresses,
             ULONG32 *pcCodeStartAddresses,
             UINT_PTR codeStartAddresses[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetILToNativeMapping3)
+        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( 
             ICorProfilerInfo9 * This,
             UINT_PTR pNativeCodeStartAddress,
             ULONG32 cMap,
             ULONG32 *pcMap,
             COR_DEBUG_IL_TO_NATIVE_MAP map[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetCodeInfo4)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( 
             ICorProfilerInfo9 * This,
             UINT_PTR pNativeCodeStartAddress,
             ULONG32 cCodeInfos,
             ULONG32 *pcCodeInfos,
             COR_PRF_CODE_INFO codeInfos[  ]);
-
+        
         END_INTERFACE
     } ICorProfilerInfo9Vtbl;
 
@@ -16620,558 +18334,595 @@ 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) )
+#define ICorProfilerInfo9_QueryInterface(This,riid,ppvObject)  \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerInfo9_AddRef(This)  \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerInfo9_AddRef(This) \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerInfo9_Release(This) \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerInfo9_Release(This)        \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerInfo9_GetClassFromObject(This,objectId,pClassId)    \
-    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
+#define ICorProfilerInfo9_GetClassFromObject(This,objectId,pClassId)   \
+    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) 
 
-#define ICorProfilerInfo9_GetClassFromToken(This,moduleId,typeDef,pClassId) \
-    ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_GetCodeInfo(This,functionId,pStart,pcSize)   \
+    ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) 
 
-#define ICorProfilerInfo9_GetEventMask(This,pdwEvents)  \
-    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
+#define ICorProfilerInfo9_GetEventMask(This,pdwEvents) \
+    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) 
 
-#define ICorProfilerInfo9_GetFunctionFromIP(This,ip,pFunctionId)    \
-    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+#define ICorProfilerInfo9_GetFunctionFromIP(This,ip,pFunctionId)       \
+    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) 
 
-#define ICorProfilerInfo9_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
-    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
+#define ICorProfilerInfo9_GetFunctionFromToken(This,moduleId,token,pFunctionId)        \
+    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) 
 
-#define ICorProfilerInfo9_GetHandleFromThread(This,threadId,phThread)   \
-    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+#define ICorProfilerInfo9_GetHandleFromThread(This,threadId,phThread)  \
+    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) 
 
-#define ICorProfilerInfo9_GetObjectSize(This,objectId,pcSize)   \
-    ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_GetThreadInfo(This,threadId,pdwWin32ThreadId)        \
+    ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) 
 
-#define ICorProfilerInfo9_GetCurrentThreadID(This,pThreadId)    \
-    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+#define ICorProfilerInfo9_GetCurrentThreadID(This,pThreadId)   \
+    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) 
 
-#define ICorProfilerInfo9_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken)  \
-    ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken)   \
+    ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) 
 
-#define ICorProfilerInfo9_SetEventMask(This,dwEvents)   \
-    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
+#define ICorProfilerInfo9_SetEventMask(This,dwEvents)  \
+    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) 
 
-#define ICorProfilerInfo9_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall)  \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+#define ICorProfilerInfo9_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) 
 
-#define ICorProfilerInfo9_SetFunctionIDMapper(This,pFunc)   \
-    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+#define ICorProfilerInfo9_SetFunctionIDMapper(This,pFunc)      \
+    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) 
 
-#define ICorProfilerInfo9_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
-    ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_GetILFunctionBodyAllocator(This,moduleId,ppMalloc)   \
+    ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) 
 
-#define ICorProfilerInfo9_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
-    ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_SetFunctionReJIT(This,functionId)    \
+    ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) 
 
-#define ICorProfilerInfo9_ForceGC(This) \
-    ( (This)->lpVtbl -> ForceGC(This) )
+#define ICorProfilerInfo9_ForceGC(This)        \
+    ( (This)->lpVtbl -> ForceGC(This) ) 
 
-#define ICorProfilerInfo9_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)  \
-    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+#define ICorProfilerInfo9_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)     \
+    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) 
 
-#define ICorProfilerInfo9_GetInprocInspectionInterface(This,ppicd)  \
-    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
+#define ICorProfilerInfo9_GetInprocInspectionInterface(This,ppicd)     \
+    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) 
 
-#define ICorProfilerInfo9_GetInprocInspectionIThisThread(This,ppicd)    \
-    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
+#define ICorProfilerInfo9_GetInprocInspectionIThisThread(This,ppicd)   \
+    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) 
 
-#define ICorProfilerInfo9_GetThreadContext(This,threadId,pContextId)    \
-    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
+#define ICorProfilerInfo9_GetThreadContext(This,threadId,pContextId)   \
+    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) 
 
-#define ICorProfilerInfo9_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
-    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
+#define ICorProfilerInfo9_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext)        \
+    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) 
 
-#define ICorProfilerInfo9_EndInprocDebugging(This,dwProfilerContext)    \
-    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
+#define ICorProfilerInfo9_EndInprocDebugging(This,dwProfilerContext)   \
+    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) 
 
-#define ICorProfilerInfo9_GetILToNativeMapping(This,functionId,cMap,pcMap,map)  \
-    ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_GetBoxClassLayout(This,classId,pBufferOffset)        \
+    ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) 
 
-#define ICorProfilerInfo9_GetThreadAppDomain(This,threadId,pAppDomainId)    \
-    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
+#define ICorProfilerInfo9_GetThreadAppDomain(This,threadId,pAppDomainId)       \
+    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) 
 
-#define ICorProfilerInfo9_GetRVAStaticAddress(This,classId,fieldToken,ppAddress)    \
-    ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges)        \
+    ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) 
 
-#define ICorProfilerInfo9_GetObjectGeneration(This,objectId,range)  \
-    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
+#define ICorProfilerInfo9_GetObjectGeneration(This,objectId,range)     \
+    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) 
 
-#define ICorProfilerInfo9_GetNotifiedExceptionClauseInfo(This,pinfo)    \
-    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
+#define ICorProfilerInfo9_GetNotifiedExceptionClauseInfo(This,pinfo)   \
+    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) 
 
 
-#define ICorProfilerInfo9_EnumJITedFunctions(This,ppEnum)   \
-    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
+#define ICorProfilerInfo9_EnumJITedFunctions(This,ppEnum)      \
+    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) 
 
-#define ICorProfilerInfo9_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds)  \
-    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
+#define ICorProfilerInfo9_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
+    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) 
 
-#define ICorProfilerInfo9_SetFunctionIDMapper2(This,pFunc,clientData)   \
-    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
+#define ICorProfilerInfo9_SetFunctionIDMapper2(This,pFunc,clientData)  \
+    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) 
 
-#define ICorProfilerInfo9_GetStringLayout2(This,pStringLengthOffset,pBufferOffset)  \
-    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
+#define ICorProfilerInfo9_GetStringLayout2(This,pStringLengthOffset,pBufferOffset)     \
+    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) 
 
-#define ICorProfilerInfo9_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3)  \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
+    ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) 
 
-#define ICorProfilerInfo9_EnumModules(This,ppEnum)  \
-    ( (This)->lpVtbl -> EnumModules(This,ppEnum) )
+#define ICorProfilerInfo9_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) )
+#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) ) 
 
-#define ICorProfilerInfo9_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress)   \
-    ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_EnumThreads(This,ppEnum)     \
+    ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) 
 
-#define ICorProfilerInfo9_InitializeCurrentThread(This) \
-    ( (This)->lpVtbl -> InitializeCurrentThread(This) )
+#define ICorProfilerInfo9_InitializeCurrentThread(This)        \
+    ( (This)->lpVtbl -> InitializeCurrentThread(This) ) 
 
-#define ICorProfilerInfo9_RequestReJIT(This,cFunctions,moduleIds,methodIds) \
-    ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_EnumJITedFunctions2(This,ppEnum)     \
+    ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) 
 
-#define ICorProfilerInfo9_GetObjectSize2(This,objectId,pcSize)  \
-    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) )
+#define ICorProfilerInfo9_GetObjectSize2(This,objectId,pcSize) \
+    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) 
 
 
-#define ICorProfilerInfo9_GetEventMask2(This,pdwEventsLow,pdwEventsHigh)    \
-    ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) )
+#define ICorProfilerInfo9_GetEventMask2(This,pdwEventsLow,pdwEventsHigh)       \
+    ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) 
 
-#define ICorProfilerInfo9_SetEventMask2(This,dwEventsLow,dwEventsHigh)  \
-    ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_ApplyMetaData(This,moduleId) \
+    ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) 
 
-#define ICorProfilerInfo9_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) \
-    ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_IsFunctionDynamic(This,functionId,isDynamic) \
+    ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) 
 
-#define ICorProfilerInfo9_GetFunctionFromIP3(This,ip,functionId,pReJitId)   \
-    ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_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) )
+#define ICorProfilerInfo9_GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos)  \
+    ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerInfo9_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerInfo9_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo10_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerInfo10Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerInfo10 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerInfo10 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerInfo10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdTypeDef typeDef,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( 
             ICorProfilerInfo10 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ LPCBYTE *pStart,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask )( 
             ICorProfilerInfo10 * This,
             /* [out] */ DWORD *pdwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( 
             ICorProfilerInfo10 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdToken token,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
+        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ HANDLE *phThread);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
+        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ClassID classId,
             /* [out] */ CorElementType *pBaseElemType,
             /* [out] */ ClassID *pBaseClassId,
             /* [out] */ ULONG *pcRank);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ DWORD *pdwWin32ThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
+        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( 
             ICorProfilerInfo10 * This,
             /* [out] */ ThreadID *pThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdTypeDef *pTypeDefToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( 
             ICorProfilerInfo10 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ ClassID *pClassId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask )( 
             ICorProfilerInfo10 * This,
             /* [in] */ DWORD dwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( 
             ICorProfilerInfo10 * This,
             /* [in] */ FunctionEnter *pFuncEnter,
             /* [in] */ FunctionLeave *pFuncLeave,
             /* [in] */ FunctionTailcall *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( 
             ICorProfilerInfo10 * This,
             /* [in] */ FunctionIDMapper *pFunc);
-
-        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
+        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( 
             ICorProfilerInfo10 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppImport,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
+        HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ DWORD dwOpenFlags,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppOut);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [out] */ LPCBYTE *ppMethodHeader,
             /* [out] */ ULONG *pcbMethodSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ModuleID moduleId,
             /* [out] */ IMethodMalloc **ppMalloc);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodid,
             /* [in] */ LPCBYTE pbNewILMethodHeader);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( 
             ICorProfilerInfo10 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
+        HRESULT ( STDMETHODCALLTYPE *ForceGC )( 
             ICorProfilerInfo10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( 
             ICorProfilerInfo10 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( 
             ICorProfilerInfo10 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ ContextID *pContextId);
-
-        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( 
             ICorProfilerInfo10 * This,
             /* [in] */ BOOL fThisThreadOnly,
             /* [out] */ DWORD *pdwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( 
             ICorProfilerInfo10 * This,
             /* [in] */ DWORD dwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
+        HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ThreadID thread,
             /* [in] */ StackSnapshotCallback *callback,
@@ -17179,14 +18930,16 @@ EXTERN_C const IID IID_ICorProfilerInfo10;
             /* [in] */ void *clientData,
             /* [size_is][in] */ BYTE context[  ],
             /* [in] */ ULONG32 contextSize);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( 
             ICorProfilerInfo10 * This,
             /* [in] */ FunctionEnter2 *pFuncEnter,
             /* [in] */ FunctionLeave2 *pFuncLeave,
             /* [in] */ FunctionTailcall2 *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( 
             ICorProfilerInfo10 * This,
             /* [in] */ FunctionID funcId,
             /* [in] */ COR_PRF_FRAME_INFO frameInfo,
@@ -17196,22 +18949,25 @@ EXTERN_C const IID IID_ICorProfilerInfo10;
             /* [in] */ ULONG32 cTypeArgs,
             /* [out] */ ULONG32 *pcTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( 
             ICorProfilerInfo10 * This,
             /* [out] */ ULONG *pBufferLengthOffset,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
@@ -17220,23 +18976,26 @@ EXTERN_C const IID IID_ICorProfilerInfo10;
             /* [in] */ ULONG32 cNumTypeArgs,
             /* [out] */ ULONG32 *pcNumTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ModuleID moduleID,
             /* [in] */ mdMethodDef funcDef,
@@ -17244,134 +19003,157 @@ EXTERN_C const IID IID_ICorProfilerInfo10;
             /* [in] */ ULONG32 cTypeArgs,
             /* [size_is][in] */ ClassID typeArgs[  ],
             /* [out] */ FunctionID *pFunctionID);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
+        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ModuleID moduleID,
             /* [out] */ ICorProfilerObjectEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ULONG32 *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ AppDomainID *pAppDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ContextID contextId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
-
-        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( 
             ICorProfilerInfo10 * This,
             /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( 
             ICorProfilerInfo10 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
+        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( 
             ICorProfilerInfo10 * This,
             /* [in] */ DWORD dwExpectedCompletionMilliseconds);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( 
             ICorProfilerInfo10 * This,
             /* [in] */ FunctionIDMapper2 *pFunc,
             /* [in] */ void *clientData);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( 
             ICorProfilerInfo10 * This,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( 
             ICorProfilerInfo10 * This,
             /* [in] */ FunctionEnter3 *pFuncEnter3,
             /* [in] */ FunctionLeave3 *pFuncLeave3,
             /* [in] */ FunctionTailcall3 *pFuncTailcall3);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( 
             ICorProfilerInfo10 * This,
             /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
             /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
             /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( 
             ICorProfilerInfo10 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_ELT_INFO eltInfo,
             /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModules )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
+        HRESULT ( STDMETHODCALLTYPE *EnumModules )( 
             ICorProfilerInfo10 * This,
             /* [out] */ ICorProfilerModuleEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
+        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( 
             ICorProfilerInfo10 * This,
             /* [out] */ USHORT *pClrInstanceId,
             /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
@@ -17381,140 +19163,162 @@ 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
+        HRESULT ( STDMETHODCALLTYPE *EnumThreads )( 
             ICorProfilerInfo10 * This,
             /* [out] */ ICorProfilerThreadEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
+        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( 
             ICorProfilerInfo10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
+        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ULONG cFunctions,
             /* [size_is][in] */ ModuleID moduleIds[  ],
             /* [size_is][in] */ mdMethodDef methodIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( 
             ICorProfilerInfo10 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId,
             /* [out] */ ReJITID *pReJitId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( 
             ICorProfilerInfo10 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ SIZE_T *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( 
             ICorProfilerInfo10 * This,
             /* [out] */ DWORD *pdwEventsLow,
             /* [out] */ DWORD *pdwEventsHigh);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( 
             ICorProfilerInfo10 * This,
             /* [in] */ DWORD dwEventsLow,
             /* [in] */ DWORD dwEventsHigh);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod)
+        HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ModuleID inlinersModuleId,
             /* [in] */ ModuleID inlineeModuleId,
             /* [in] */ mdMethodDef inlineeMethodId,
             /* [out] */ BOOL *incompleteData,
             /* [out] */ ICorProfilerMethodEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData)
+        HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength)
+        HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ModuleID moduleId,
             /* [out] */ DWORD *pCountSymbolBytes);
-
-        HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols)
+        HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( 
             ICorProfilerInfo10 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ DWORD symbolsReadOffset,
             /* [out] */ BYTE *pSymbolBytes,
             /* [in] */ DWORD countSymbolBytes,
             /* [out] */ DWORD *pCountSymbolBytesRead);
-
-        HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic)
+        HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( 
             ICorProfilerInfo10 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ BOOL *isDynamic);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( 
             ICorProfilerInfo10 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *functionId,
             /* [out] */ ReJITID *pReJitId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( 
             ICorProfilerInfo10 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ ModuleID *moduleId,
@@ -17523,57 +19327,66 @@ EXTERN_C const IID IID_ICorProfilerInfo10;
             /* [in] */ ULONG cchName,
             /* [out] */ ULONG *pcchName,
             /* [out] */ WCHAR wszName[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetNativeCodeStartAddresses)
+        HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( 
             ICorProfilerInfo10 * This,
             FunctionID functionID,
             ReJITID reJitId,
             ULONG32 cCodeStartAddresses,
             ULONG32 *pcCodeStartAddresses,
             UINT_PTR codeStartAddresses[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetILToNativeMapping3)
+        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( 
             ICorProfilerInfo10 * This,
             UINT_PTR pNativeCodeStartAddress,
             ULONG32 cMap,
             ULONG32 *pcMap,
             COR_DEBUG_IL_TO_NATIVE_MAP map[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetCodeInfo4)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( 
             ICorProfilerInfo10 * This,
             UINT_PTR pNativeCodeStartAddress,
             ULONG32 cCodeInfos,
             ULONG32 *pcCodeInfos,
             COR_PRF_CODE_INFO codeInfos[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, EnumerateObjectReferences)
+        HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )( 
             ICorProfilerInfo10 * This,
             ObjectID objectId,
             ObjectReferenceCallback callback,
             void *clientData);
-
-        HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, IsFrozenObject)
+        HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )( 
             ICorProfilerInfo10 * This,
             ObjectID objectId,
             BOOL *pbFrozen);
-
-        HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, GetLOHObjectSizeThreshold)
+        HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )( 
             ICorProfilerInfo10 * This,
             DWORD *pThreshold);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, SuspendRuntime)
+        HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )( 
             ICorProfilerInfo10 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, ResumeRuntime)
+        HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )( 
             ICorProfilerInfo10 * This);
-
+        
         END_INTERFACE
     } ICorProfilerInfo10Vtbl;
 
@@ -17582,566 +19395,603 @@ 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) )
+#define ICorProfilerInfo10_QueryInterface(This,riid,ppvObject) \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerInfo10_AddRef(This) \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerInfo10_AddRef(This)        \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerInfo10_Release(This)    \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerInfo10_Release(This)       \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerInfo10_GetClassFromObject(This,objectId,pClassId)   \
-    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
+#define ICorProfilerInfo10_GetClassFromObject(This,objectId,pClassId)  \
+    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) 
 
-#define ICorProfilerInfo10_GetClassFromToken(This,moduleId,typeDef,pClassId)    \
-    ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_GetCodeInfo(This,functionId,pStart,pcSize)  \
+    ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) 
 
-#define ICorProfilerInfo10_GetEventMask(This,pdwEvents) \
-    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
+#define ICorProfilerInfo10_GetEventMask(This,pdwEvents)        \
+    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) 
 
-#define ICorProfilerInfo10_GetFunctionFromIP(This,ip,pFunctionId)   \
-    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+#define ICorProfilerInfo10_GetFunctionFromIP(This,ip,pFunctionId)      \
+    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) 
 
-#define ICorProfilerInfo10_GetFunctionFromToken(This,moduleId,token,pFunctionId)    \
-    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
+#define ICorProfilerInfo10_GetFunctionFromToken(This,moduleId,token,pFunctionId)       \
+    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) 
 
-#define ICorProfilerInfo10_GetHandleFromThread(This,threadId,phThread)  \
-    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+#define ICorProfilerInfo10_GetHandleFromThread(This,threadId,phThread) \
+    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) 
 
-#define ICorProfilerInfo10_GetObjectSize(This,objectId,pcSize)  \
-    ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_GetThreadInfo(This,threadId,pdwWin32ThreadId)       \
+    ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) 
 
-#define ICorProfilerInfo10_GetCurrentThreadID(This,pThreadId)   \
-    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+#define ICorProfilerInfo10_GetCurrentThreadID(This,pThreadId)  \
+    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) 
 
-#define ICorProfilerInfo10_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \
-    ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken)  \
+    ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) 
 
-#define ICorProfilerInfo10_SetEventMask(This,dwEvents)  \
-    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
+#define ICorProfilerInfo10_SetEventMask(This,dwEvents) \
+    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) 
 
-#define ICorProfilerInfo10_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+#define ICorProfilerInfo10_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall)        \
+    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) 
 
-#define ICorProfilerInfo10_SetFunctionIDMapper(This,pFunc)  \
-    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+#define ICorProfilerInfo10_SetFunctionIDMapper(This,pFunc)     \
+    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) 
 
-#define ICorProfilerInfo10_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken)    \
-    ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_GetILFunctionBodyAllocator(This,moduleId,ppMalloc)  \
+    ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) 
 
-#define ICorProfilerInfo10_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader)    \
-    ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_SetFunctionReJIT(This,functionId)   \
+    ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) 
 
-#define ICorProfilerInfo10_ForceGC(This)    \
-    ( (This)->lpVtbl -> ForceGC(This) )
+#define ICorProfilerInfo10_ForceGC(This)       \
+    ( (This)->lpVtbl -> ForceGC(This) ) 
 
-#define ICorProfilerInfo10_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
-    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+#define ICorProfilerInfo10_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)    \
+    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) 
 
-#define ICorProfilerInfo10_GetInprocInspectionInterface(This,ppicd) \
-    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
+#define ICorProfilerInfo10_GetInprocInspectionInterface(This,ppicd)    \
+    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) 
 
-#define ICorProfilerInfo10_GetInprocInspectionIThisThread(This,ppicd)   \
-    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
+#define ICorProfilerInfo10_GetInprocInspectionIThisThread(This,ppicd)  \
+    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) 
 
-#define ICorProfilerInfo10_GetThreadContext(This,threadId,pContextId)   \
-    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
+#define ICorProfilerInfo10_GetThreadContext(This,threadId,pContextId)  \
+    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) 
 
-#define ICorProfilerInfo10_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext)    \
-    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
+#define ICorProfilerInfo10_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext)       \
+    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) 
 
-#define ICorProfilerInfo10_EndInprocDebugging(This,dwProfilerContext)   \
-    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
+#define ICorProfilerInfo10_EndInprocDebugging(This,dwProfilerContext)  \
+    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) 
 
-#define ICorProfilerInfo10_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \
-    ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_GetBoxClassLayout(This,classId,pBufferOffset)       \
+    ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) 
 
-#define ICorProfilerInfo10_GetThreadAppDomain(This,threadId,pAppDomainId)   \
-    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
+#define ICorProfilerInfo10_GetThreadAppDomain(This,threadId,pAppDomainId)      \
+    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) 
 
-#define ICorProfilerInfo10_GetRVAStaticAddress(This,classId,fieldToken,ppAddress)   \
-    ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges)       \
+    ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) 
 
-#define ICorProfilerInfo10_GetObjectGeneration(This,objectId,range) \
-    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
+#define ICorProfilerInfo10_GetObjectGeneration(This,objectId,range)    \
+    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) 
 
-#define ICorProfilerInfo10_GetNotifiedExceptionClauseInfo(This,pinfo)   \
-    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
+#define ICorProfilerInfo10_GetNotifiedExceptionClauseInfo(This,pinfo)  \
+    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) 
 
 
-#define ICorProfilerInfo10_EnumJITedFunctions(This,ppEnum)  \
-    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
+#define ICorProfilerInfo10_EnumJITedFunctions(This,ppEnum)     \
+    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) 
 
-#define ICorProfilerInfo10_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
-    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
+#define ICorProfilerInfo10_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds)        \
+    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) 
 
-#define ICorProfilerInfo10_SetFunctionIDMapper2(This,pFunc,clientData)  \
-    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
+#define ICorProfilerInfo10_SetFunctionIDMapper2(This,pFunc,clientData) \
+    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) 
 
-#define ICorProfilerInfo10_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \
-    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
+#define ICorProfilerInfo10_GetStringLayout2(This,pStringLengthOffset,pBufferOffset)    \
+    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) 
 
-#define ICorProfilerInfo10_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo)        \
+    ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) 
 
-#define ICorProfilerInfo10_EnumModules(This,ppEnum) \
-    ( (This)->lpVtbl -> EnumModules(This,ppEnum) )
+#define ICorProfilerInfo10_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) )
+#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) ) 
 
-#define ICorProfilerInfo10_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress)  \
-    ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_EnumThreads(This,ppEnum)    \
+    ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) 
 
-#define ICorProfilerInfo10_InitializeCurrentThread(This)    \
-    ( (This)->lpVtbl -> InitializeCurrentThread(This) )
+#define ICorProfilerInfo10_InitializeCurrentThread(This)       \
+    ( (This)->lpVtbl -> InitializeCurrentThread(This) ) 
 
-#define ICorProfilerInfo10_RequestReJIT(This,cFunctions,moduleIds,methodIds)    \
-    ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_EnumJITedFunctions2(This,ppEnum)    \
+    ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) 
 
-#define ICorProfilerInfo10_GetObjectSize2(This,objectId,pcSize) \
-    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) )
+#define ICorProfilerInfo10_GetObjectSize2(This,objectId,pcSize)        \
+    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) 
 
 
-#define ICorProfilerInfo10_GetEventMask2(This,pdwEventsLow,pdwEventsHigh)   \
-    ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) )
+#define ICorProfilerInfo10_GetEventMask2(This,pdwEventsLow,pdwEventsHigh)      \
+    ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) 
 
-#define ICorProfilerInfo10_SetEventMask2(This,dwEventsLow,dwEventsHigh) \
-    ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_ApplyMetaData(This,moduleId)        \
+    ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) 
 
-#define ICorProfilerInfo10_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes)    \
-    ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_IsFunctionDynamic(This,functionId,isDynamic)        \
+    ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) 
 
-#define ICorProfilerInfo10_GetFunctionFromIP3(This,ip,functionId,pReJitId)  \
-    ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_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) )
+#define ICorProfilerInfo10_EnumerateObjectReferences(This,objectId,callback,clientData)        \
+    ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) ) 
 
-#define ICorProfilerInfo10_IsFrozenObject(This,objectId,pbFrozen)   \
-    ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) )
+#define ICorProfilerInfo10_IsFrozenObject(This,objectId,pbFrozen)      \
+    ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) ) 
 
-#define ICorProfilerInfo10_GetLOHObjectSizeThreshold(This,pThreshold)   \
-    ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) )
+#define ICorProfilerInfo10_GetLOHObjectSizeThreshold(This,pThreshold)  \
+    ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) ) 
 
-#define ICorProfilerInfo10_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds)   \
-    ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) )
+#define ICorProfilerInfo10_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds)  \
+    ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) ) 
 
-#define ICorProfilerInfo10_SuspendRuntime(This) \
-    ( (This)->lpVtbl -> SuspendRuntime(This) )
+#define ICorProfilerInfo10_SuspendRuntime(This)        \
+    ( (This)->lpVtbl -> SuspendRuntime(This) ) 
 
-#define ICorProfilerInfo10_ResumeRuntime(This)  \
-    ( (This)->lpVtbl -> ResumeRuntime(This) )
+#define ICorProfilerInfo10_ResumeRuntime(This) \
+    ( (This)->lpVtbl -> ResumeRuntime(This) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerInfo10_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerInfo10_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo11_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerInfo11Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerInfo11 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerInfo11 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerInfo11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdTypeDef typeDef,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( 
             ICorProfilerInfo11 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ LPCBYTE *pStart,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask )( 
             ICorProfilerInfo11 * This,
             /* [out] */ DWORD *pdwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( 
             ICorProfilerInfo11 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdToken token,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
+        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ HANDLE *phThread);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
+        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ClassID classId,
             /* [out] */ CorElementType *pBaseElemType,
             /* [out] */ ClassID *pBaseClassId,
             /* [out] */ ULONG *pcRank);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ DWORD *pdwWin32ThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
+        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( 
             ICorProfilerInfo11 * This,
             /* [out] */ ThreadID *pThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdTypeDef *pTypeDefToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( 
             ICorProfilerInfo11 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ ClassID *pClassId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask )( 
             ICorProfilerInfo11 * This,
             /* [in] */ DWORD dwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( 
             ICorProfilerInfo11 * This,
             /* [in] */ FunctionEnter *pFuncEnter,
             /* [in] */ FunctionLeave *pFuncLeave,
             /* [in] */ FunctionTailcall *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( 
             ICorProfilerInfo11 * This,
             /* [in] */ FunctionIDMapper *pFunc);
-
-        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
+        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( 
             ICorProfilerInfo11 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppImport,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
+        HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ DWORD dwOpenFlags,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppOut);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [out] */ LPCBYTE *ppMethodHeader,
             /* [out] */ ULONG *pcbMethodSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ModuleID moduleId,
             /* [out] */ IMethodMalloc **ppMalloc);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodid,
             /* [in] */ LPCBYTE pbNewILMethodHeader);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( 
             ICorProfilerInfo11 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
+        HRESULT ( STDMETHODCALLTYPE *ForceGC )( 
             ICorProfilerInfo11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( 
             ICorProfilerInfo11 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( 
             ICorProfilerInfo11 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ ContextID *pContextId);
-
-        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( 
             ICorProfilerInfo11 * This,
             /* [in] */ BOOL fThisThreadOnly,
             /* [out] */ DWORD *pdwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( 
             ICorProfilerInfo11 * This,
             /* [in] */ DWORD dwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
+        HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ThreadID thread,
             /* [in] */ StackSnapshotCallback *callback,
@@ -18149,14 +19999,16 @@ EXTERN_C const IID IID_ICorProfilerInfo11;
             /* [in] */ void *clientData,
             /* [size_is][in] */ BYTE context[  ],
             /* [in] */ ULONG32 contextSize);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( 
             ICorProfilerInfo11 * This,
             /* [in] */ FunctionEnter2 *pFuncEnter,
             /* [in] */ FunctionLeave2 *pFuncLeave,
             /* [in] */ FunctionTailcall2 *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( 
             ICorProfilerInfo11 * This,
             /* [in] */ FunctionID funcId,
             /* [in] */ COR_PRF_FRAME_INFO frameInfo,
@@ -18166,22 +20018,25 @@ EXTERN_C const IID IID_ICorProfilerInfo11;
             /* [in] */ ULONG32 cTypeArgs,
             /* [out] */ ULONG32 *pcTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( 
             ICorProfilerInfo11 * This,
             /* [out] */ ULONG *pBufferLengthOffset,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
@@ -18190,23 +20045,26 @@ EXTERN_C const IID IID_ICorProfilerInfo11;
             /* [in] */ ULONG32 cNumTypeArgs,
             /* [out] */ ULONG32 *pcNumTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ModuleID moduleID,
             /* [in] */ mdMethodDef funcDef,
@@ -18214,134 +20072,157 @@ EXTERN_C const IID IID_ICorProfilerInfo11;
             /* [in] */ ULONG32 cTypeArgs,
             /* [size_is][in] */ ClassID typeArgs[  ],
             /* [out] */ FunctionID *pFunctionID);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
+        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ModuleID moduleID,
             /* [out] */ ICorProfilerObjectEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ULONG32 *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ AppDomainID *pAppDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ContextID contextId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
-
-        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( 
             ICorProfilerInfo11 * This,
             /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( 
             ICorProfilerInfo11 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
+        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( 
             ICorProfilerInfo11 * This,
             /* [in] */ DWORD dwExpectedCompletionMilliseconds);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( 
             ICorProfilerInfo11 * This,
             /* [in] */ FunctionIDMapper2 *pFunc,
             /* [in] */ void *clientData);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( 
             ICorProfilerInfo11 * This,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( 
             ICorProfilerInfo11 * This,
             /* [in] */ FunctionEnter3 *pFuncEnter3,
             /* [in] */ FunctionLeave3 *pFuncLeave3,
             /* [in] */ FunctionTailcall3 *pFuncTailcall3);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( 
             ICorProfilerInfo11 * This,
             /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
             /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
             /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( 
             ICorProfilerInfo11 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_ELT_INFO eltInfo,
             /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModules )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
+        HRESULT ( STDMETHODCALLTYPE *EnumModules )( 
             ICorProfilerInfo11 * This,
             /* [out] */ ICorProfilerModuleEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
+        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( 
             ICorProfilerInfo11 * This,
             /* [out] */ USHORT *pClrInstanceId,
             /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
@@ -18351,140 +20232,162 @@ 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
+        HRESULT ( STDMETHODCALLTYPE *EnumThreads )( 
             ICorProfilerInfo11 * This,
             /* [out] */ ICorProfilerThreadEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
+        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( 
             ICorProfilerInfo11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
+        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ULONG cFunctions,
             /* [size_is][in] */ ModuleID moduleIds[  ],
             /* [size_is][in] */ mdMethodDef methodIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( 
             ICorProfilerInfo11 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId,
             /* [out] */ ReJITID *pReJitId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( 
             ICorProfilerInfo11 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ SIZE_T *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( 
             ICorProfilerInfo11 * This,
             /* [out] */ DWORD *pdwEventsLow,
             /* [out] */ DWORD *pdwEventsHigh);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( 
             ICorProfilerInfo11 * This,
             /* [in] */ DWORD dwEventsLow,
             /* [in] */ DWORD dwEventsHigh);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod)
+        HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ModuleID inlinersModuleId,
             /* [in] */ ModuleID inlineeModuleId,
             /* [in] */ mdMethodDef inlineeMethodId,
             /* [out] */ BOOL *incompleteData,
             /* [out] */ ICorProfilerMethodEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData)
+        HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength)
+        HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ModuleID moduleId,
             /* [out] */ DWORD *pCountSymbolBytes);
-
-        HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols)
+        HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( 
             ICorProfilerInfo11 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ DWORD symbolsReadOffset,
             /* [out] */ BYTE *pSymbolBytes,
             /* [in] */ DWORD countSymbolBytes,
             /* [out] */ DWORD *pCountSymbolBytesRead);
-
-        HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic)
+        HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( 
             ICorProfilerInfo11 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ BOOL *isDynamic);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( 
             ICorProfilerInfo11 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *functionId,
             /* [out] */ ReJITID *pReJitId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( 
             ICorProfilerInfo11 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ ModuleID *moduleId,
@@ -18493,70 +20396,81 @@ EXTERN_C const IID IID_ICorProfilerInfo11;
             /* [in] */ ULONG cchName,
             /* [out] */ ULONG *pcchName,
             /* [out] */ WCHAR wszName[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetNativeCodeStartAddresses)
+        HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( 
             ICorProfilerInfo11 * This,
             FunctionID functionID,
             ReJITID reJitId,
             ULONG32 cCodeStartAddresses,
             ULONG32 *pcCodeStartAddresses,
             UINT_PTR codeStartAddresses[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetILToNativeMapping3)
+        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( 
             ICorProfilerInfo11 * This,
             UINT_PTR pNativeCodeStartAddress,
             ULONG32 cMap,
             ULONG32 *pcMap,
             COR_DEBUG_IL_TO_NATIVE_MAP map[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetCodeInfo4)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( 
             ICorProfilerInfo11 * This,
             UINT_PTR pNativeCodeStartAddress,
             ULONG32 cCodeInfos,
             ULONG32 *pcCodeInfos,
             COR_PRF_CODE_INFO codeInfos[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, EnumerateObjectReferences)
+        HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )( 
             ICorProfilerInfo11 * This,
             ObjectID objectId,
             ObjectReferenceCallback callback,
             void *clientData);
-
-        HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, IsFrozenObject)
+        HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )( 
             ICorProfilerInfo11 * This,
             ObjectID objectId,
             BOOL *pbFrozen);
-
-        HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, GetLOHObjectSizeThreshold)
+        HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )( 
             ICorProfilerInfo11 * This,
             DWORD *pThreshold);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, SuspendRuntime)
+        HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )( 
             ICorProfilerInfo11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, ResumeRuntime)
+        HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )( 
             ICorProfilerInfo11 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEnvironmentVariable )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo11, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo11, SetEnvironmentVariable)
+        HRESULT ( STDMETHODCALLTYPE *SetEnvironmentVariable )( 
             ICorProfilerInfo11 * This,
             /* [string][in] */ const WCHAR *szName,
             /* [string][in] */ const WCHAR *szValue);
-
+        
         END_INTERFACE
     } ICorProfilerInfo11Vtbl;
 
@@ -18565,376 +20479,376 @@ 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) )
+#define ICorProfilerInfo11_QueryInterface(This,riid,ppvObject) \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerInfo11_AddRef(This) \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerInfo11_AddRef(This)        \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerInfo11_Release(This)    \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerInfo11_Release(This)       \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerInfo11_GetClassFromObject(This,objectId,pClassId)   \
-    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
+#define ICorProfilerInfo11_GetClassFromObject(This,objectId,pClassId)  \
+    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) 
 
-#define ICorProfilerInfo11_GetClassFromToken(This,moduleId,typeDef,pClassId)    \
-    ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_GetCodeInfo(This,functionId,pStart,pcSize)  \
+    ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) 
 
-#define ICorProfilerInfo11_GetEventMask(This,pdwEvents) \
-    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
+#define ICorProfilerInfo11_GetEventMask(This,pdwEvents)        \
+    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) 
 
-#define ICorProfilerInfo11_GetFunctionFromIP(This,ip,pFunctionId)   \
-    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+#define ICorProfilerInfo11_GetFunctionFromIP(This,ip,pFunctionId)      \
+    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) 
 
-#define ICorProfilerInfo11_GetFunctionFromToken(This,moduleId,token,pFunctionId)    \
-    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
+#define ICorProfilerInfo11_GetFunctionFromToken(This,moduleId,token,pFunctionId)       \
+    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) 
 
-#define ICorProfilerInfo11_GetHandleFromThread(This,threadId,phThread)  \
-    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+#define ICorProfilerInfo11_GetHandleFromThread(This,threadId,phThread) \
+    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) 
 
-#define ICorProfilerInfo11_GetObjectSize(This,objectId,pcSize)  \
-    ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_GetThreadInfo(This,threadId,pdwWin32ThreadId)       \
+    ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) 
 
-#define ICorProfilerInfo11_GetCurrentThreadID(This,pThreadId)   \
-    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+#define ICorProfilerInfo11_GetCurrentThreadID(This,pThreadId)  \
+    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) 
 
-#define ICorProfilerInfo11_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \
-    ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken)  \
+    ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) 
 
-#define ICorProfilerInfo11_SetEventMask(This,dwEvents)  \
-    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
+#define ICorProfilerInfo11_SetEventMask(This,dwEvents) \
+    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) 
 
-#define ICorProfilerInfo11_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+#define ICorProfilerInfo11_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall)        \
+    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) 
 
-#define ICorProfilerInfo11_SetFunctionIDMapper(This,pFunc)  \
-    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+#define ICorProfilerInfo11_SetFunctionIDMapper(This,pFunc)     \
+    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) 
 
-#define ICorProfilerInfo11_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken)    \
-    ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_GetILFunctionBodyAllocator(This,moduleId,ppMalloc)  \
+    ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) 
 
-#define ICorProfilerInfo11_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader)    \
-    ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_SetFunctionReJIT(This,functionId)   \
+    ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) 
 
-#define ICorProfilerInfo11_ForceGC(This)    \
-    ( (This)->lpVtbl -> ForceGC(This) )
+#define ICorProfilerInfo11_ForceGC(This)       \
+    ( (This)->lpVtbl -> ForceGC(This) ) 
 
-#define ICorProfilerInfo11_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
-    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+#define ICorProfilerInfo11_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)    \
+    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) 
 
-#define ICorProfilerInfo11_GetInprocInspectionInterface(This,ppicd) \
-    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
+#define ICorProfilerInfo11_GetInprocInspectionInterface(This,ppicd)    \
+    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) 
 
-#define ICorProfilerInfo11_GetInprocInspectionIThisThread(This,ppicd)   \
-    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
+#define ICorProfilerInfo11_GetInprocInspectionIThisThread(This,ppicd)  \
+    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) 
 
-#define ICorProfilerInfo11_GetThreadContext(This,threadId,pContextId)   \
-    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
+#define ICorProfilerInfo11_GetThreadContext(This,threadId,pContextId)  \
+    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) 
 
-#define ICorProfilerInfo11_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext)    \
-    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
+#define ICorProfilerInfo11_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext)       \
+    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) 
 
-#define ICorProfilerInfo11_EndInprocDebugging(This,dwProfilerContext)   \
-    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
+#define ICorProfilerInfo11_EndInprocDebugging(This,dwProfilerContext)  \
+    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) 
 
-#define ICorProfilerInfo11_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \
-    ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_GetBoxClassLayout(This,classId,pBufferOffset)       \
+    ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) 
 
-#define ICorProfilerInfo11_GetThreadAppDomain(This,threadId,pAppDomainId)   \
-    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
+#define ICorProfilerInfo11_GetThreadAppDomain(This,threadId,pAppDomainId)      \
+    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) 
 
-#define ICorProfilerInfo11_GetRVAStaticAddress(This,classId,fieldToken,ppAddress)   \
-    ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges)       \
+    ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) 
 
-#define ICorProfilerInfo11_GetObjectGeneration(This,objectId,range) \
-    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
+#define ICorProfilerInfo11_GetObjectGeneration(This,objectId,range)    \
+    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) 
 
-#define ICorProfilerInfo11_GetNotifiedExceptionClauseInfo(This,pinfo)   \
-    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
+#define ICorProfilerInfo11_GetNotifiedExceptionClauseInfo(This,pinfo)  \
+    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) 
 
 
-#define ICorProfilerInfo11_EnumJITedFunctions(This,ppEnum)  \
-    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
+#define ICorProfilerInfo11_EnumJITedFunctions(This,ppEnum)     \
+    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) 
 
-#define ICorProfilerInfo11_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
-    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
+#define ICorProfilerInfo11_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds)        \
+    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) 
 
-#define ICorProfilerInfo11_SetFunctionIDMapper2(This,pFunc,clientData)  \
-    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
+#define ICorProfilerInfo11_SetFunctionIDMapper2(This,pFunc,clientData) \
+    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) 
 
-#define ICorProfilerInfo11_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \
-    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
+#define ICorProfilerInfo11_GetStringLayout2(This,pStringLengthOffset,pBufferOffset)    \
+    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) 
 
-#define ICorProfilerInfo11_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo)        \
+    ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) 
 
-#define ICorProfilerInfo11_EnumModules(This,ppEnum) \
-    ( (This)->lpVtbl -> EnumModules(This,ppEnum) )
+#define ICorProfilerInfo11_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) )
+#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) ) 
 
-#define ICorProfilerInfo11_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress)  \
-    ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_EnumThreads(This,ppEnum)    \
+    ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) 
 
-#define ICorProfilerInfo11_InitializeCurrentThread(This)    \
-    ( (This)->lpVtbl -> InitializeCurrentThread(This) )
+#define ICorProfilerInfo11_InitializeCurrentThread(This)       \
+    ( (This)->lpVtbl -> InitializeCurrentThread(This) ) 
 
-#define ICorProfilerInfo11_RequestReJIT(This,cFunctions,moduleIds,methodIds)    \
-    ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_EnumJITedFunctions2(This,ppEnum)    \
+    ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) 
 
-#define ICorProfilerInfo11_GetObjectSize2(This,objectId,pcSize) \
-    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) )
+#define ICorProfilerInfo11_GetObjectSize2(This,objectId,pcSize)        \
+    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) 
 
 
-#define ICorProfilerInfo11_GetEventMask2(This,pdwEventsLow,pdwEventsHigh)   \
-    ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) )
+#define ICorProfilerInfo11_GetEventMask2(This,pdwEventsLow,pdwEventsHigh)      \
+    ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) 
 
-#define ICorProfilerInfo11_SetEventMask2(This,dwEventsLow,dwEventsHigh) \
-    ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_ApplyMetaData(This,moduleId)        \
+    ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) 
 
-#define ICorProfilerInfo11_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes)    \
-    ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_IsFunctionDynamic(This,functionId,isDynamic)        \
+    ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) 
 
-#define ICorProfilerInfo11_GetFunctionFromIP3(This,ip,functionId,pReJitId)  \
-    ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_EnumerateObjectReferences(This,objectId,callback,clientData)        \
+    ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) ) 
 
-#define ICorProfilerInfo11_IsFrozenObject(This,objectId,pbFrozen)   \
-    ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) )
+#define ICorProfilerInfo11_IsFrozenObject(This,objectId,pbFrozen)      \
+    ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) ) 
 
-#define ICorProfilerInfo11_GetLOHObjectSizeThreshold(This,pThreshold)   \
-    ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) )
+#define ICorProfilerInfo11_GetLOHObjectSizeThreshold(This,pThreshold)  \
+    ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) ) 
 
-#define ICorProfilerInfo11_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds)   \
-    ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) )
+#define ICorProfilerInfo11_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds)  \
+    ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) ) 
 
-#define ICorProfilerInfo11_SuspendRuntime(This) \
-    ( (This)->lpVtbl -> SuspendRuntime(This) )
+#define ICorProfilerInfo11_SuspendRuntime(This)        \
+    ( (This)->lpVtbl -> SuspendRuntime(This) ) 
 
-#define ICorProfilerInfo11_ResumeRuntime(This)  \
-    ( (This)->lpVtbl -> ResumeRuntime(This) )
+#define ICorProfilerInfo11_ResumeRuntime(This) \
+    ( (This)->lpVtbl -> ResumeRuntime(This) ) 
 
 
-#define ICorProfilerInfo11_GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue)   \
-    ( (This)->lpVtbl -> GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) )
+#define ICorProfilerInfo11_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) )
+#define ICorProfilerInfo11_SetEnvironmentVariable(This,szName,szValue) \
+    ( (This)->lpVtbl -> SetEnvironmentVariable(This,szName,szValue) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerInfo11_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerInfo11_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo12_INTERFACE_DEFINED__
 #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 EventPipeStartSession(
+        virtual HRESULT STDMETHODCALLTYPE EventPipeStartSession( 
             /* [in] */ UINT32 cProviderConfigs,
             /* [size_is][in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[  ],
             /* [in] */ BOOL requestRundown,
             /* [out] */ EVENTPIPE_SESSION *pSession) = 0;
-
-        virtual HRESULT STDMETHODCALLTYPE EventPipeAddProviderToSession(
+        
+        virtual HRESULT STDMETHODCALLTYPE EventPipeAddProviderToSession( 
             /* [in] */ EVENTPIPE_SESSION session,
             /* [in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG providerConfig) = 0;
-
-        virtual HRESULT STDMETHODCALLTYPE EventPipeStopSession(
+        
+        virtual HRESULT STDMETHODCALLTYPE EventPipeStopSession( 
             /* [in] */ EVENTPIPE_SESSION session) = 0;
-
-        virtual HRESULT STDMETHODCALLTYPE EventPipeCreateProvider(
+        
+        virtual HRESULT STDMETHODCALLTYPE EventPipeCreateProvider( 
             /* [string][in] */ const WCHAR *providerName,
             /* [out] */ EVENTPIPE_PROVIDER *pProvider) = 0;
-
-        virtual HRESULT STDMETHODCALLTYPE EventPipeGetProviderInfo(
+        
+        virtual HRESULT STDMETHODCALLTYPE EventPipeGetProviderInfo( 
             /* [in] */ EVENTPIPE_PROVIDER provider,
             /* [in] */ ULONG cchName,
             /* [out] */ ULONG *pcchName,
-            /* [annotation][out] */
+            /* [annotation][out] */ 
             _Out_writes_to_(cchName, *pcchName)  WCHAR providerName[  ]) = 0;
-
-        virtual HRESULT STDMETHODCALLTYPE EventPipeDefineEvent(
+        
+        virtual HRESULT STDMETHODCALLTYPE EventPipeDefineEvent( 
             /* [in] */ EVENTPIPE_PROVIDER provider,
             /* [string][in] */ const WCHAR *eventName,
             /* [in] */ UINT32 eventID,
@@ -18946,225 +20860,262 @@ EXTERN_C const IID IID_ICorProfilerInfo12;
             /* [in] */ UINT32 cParamDescs,
             /* [size_is][in] */ COR_PRF_EVENTPIPE_PARAM_DESC pParamDescs[  ],
             /* [out] */ EVENTPIPE_EVENT *pEvent) = 0;
-
-        virtual HRESULT STDMETHODCALLTYPE EventPipeWriteEvent(
+        
+        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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerInfo12Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerInfo12 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerInfo12 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerInfo12 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdTypeDef typeDef,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( 
             ICorProfilerInfo12 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ LPCBYTE *pStart,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask )( 
             ICorProfilerInfo12 * This,
             /* [out] */ DWORD *pdwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( 
             ICorProfilerInfo12 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdToken token,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
+        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ HANDLE *phThread);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
+        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ClassID classId,
             /* [out] */ CorElementType *pBaseElemType,
             /* [out] */ ClassID *pBaseClassId,
             /* [out] */ ULONG *pcRank);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ DWORD *pdwWin32ThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
+        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( 
             ICorProfilerInfo12 * This,
             /* [out] */ ThreadID *pThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdTypeDef *pTypeDefToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( 
             ICorProfilerInfo12 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ ClassID *pClassId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask )( 
             ICorProfilerInfo12 * This,
             /* [in] */ DWORD dwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( 
             ICorProfilerInfo12 * This,
             /* [in] */ FunctionEnter *pFuncEnter,
             /* [in] */ FunctionLeave *pFuncLeave,
             /* [in] */ FunctionTailcall *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( 
             ICorProfilerInfo12 * This,
             /* [in] */ FunctionIDMapper *pFunc);
-
-        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
+        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( 
             ICorProfilerInfo12 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppImport,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
+        HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ DWORD dwOpenFlags,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppOut);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [out] */ LPCBYTE *ppMethodHeader,
             /* [out] */ ULONG *pcbMethodSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ModuleID moduleId,
             /* [out] */ IMethodMalloc **ppMalloc);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodid,
             /* [in] */ LPCBYTE pbNewILMethodHeader);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( 
             ICorProfilerInfo12 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
+        HRESULT ( STDMETHODCALLTYPE *ForceGC )( 
             ICorProfilerInfo12 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( 
             ICorProfilerInfo12 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( 
             ICorProfilerInfo12 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ ContextID *pContextId);
-
-        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( 
             ICorProfilerInfo12 * This,
             /* [in] */ BOOL fThisThreadOnly,
             /* [out] */ DWORD *pdwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( 
             ICorProfilerInfo12 * This,
             /* [in] */ DWORD dwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
+        HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ThreadID thread,
             /* [in] */ StackSnapshotCallback *callback,
@@ -19172,14 +21123,16 @@ EXTERN_C const IID IID_ICorProfilerInfo12;
             /* [in] */ void *clientData,
             /* [size_is][in] */ BYTE context[  ],
             /* [in] */ ULONG32 contextSize);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( 
             ICorProfilerInfo12 * This,
             /* [in] */ FunctionEnter2 *pFuncEnter,
             /* [in] */ FunctionLeave2 *pFuncLeave,
             /* [in] */ FunctionTailcall2 *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( 
             ICorProfilerInfo12 * This,
             /* [in] */ FunctionID funcId,
             /* [in] */ COR_PRF_FRAME_INFO frameInfo,
@@ -19189,22 +21142,25 @@ EXTERN_C const IID IID_ICorProfilerInfo12;
             /* [in] */ ULONG32 cTypeArgs,
             /* [out] */ ULONG32 *pcTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( 
             ICorProfilerInfo12 * This,
             /* [out] */ ULONG *pBufferLengthOffset,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
@@ -19213,23 +21169,26 @@ EXTERN_C const IID IID_ICorProfilerInfo12;
             /* [in] */ ULONG32 cNumTypeArgs,
             /* [out] */ ULONG32 *pcNumTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ModuleID moduleID,
             /* [in] */ mdMethodDef funcDef,
@@ -19237,134 +21196,157 @@ EXTERN_C const IID IID_ICorProfilerInfo12;
             /* [in] */ ULONG32 cTypeArgs,
             /* [size_is][in] */ ClassID typeArgs[  ],
             /* [out] */ FunctionID *pFunctionID);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
+        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ModuleID moduleID,
             /* [out] */ ICorProfilerObjectEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ULONG32 *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ AppDomainID *pAppDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ContextID contextId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
-
-        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( 
             ICorProfilerInfo12 * This,
             /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( 
             ICorProfilerInfo12 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
+        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( 
             ICorProfilerInfo12 * This,
             /* [in] */ DWORD dwExpectedCompletionMilliseconds);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( 
             ICorProfilerInfo12 * This,
             /* [in] */ FunctionIDMapper2 *pFunc,
             /* [in] */ void *clientData);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( 
             ICorProfilerInfo12 * This,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( 
             ICorProfilerInfo12 * This,
             /* [in] */ FunctionEnter3 *pFuncEnter3,
             /* [in] */ FunctionLeave3 *pFuncLeave3,
             /* [in] */ FunctionTailcall3 *pFuncTailcall3);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( 
             ICorProfilerInfo12 * This,
             /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
             /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
             /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( 
             ICorProfilerInfo12 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_ELT_INFO eltInfo,
             /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModules )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
+        HRESULT ( STDMETHODCALLTYPE *EnumModules )( 
             ICorProfilerInfo12 * This,
             /* [out] */ ICorProfilerModuleEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
+        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( 
             ICorProfilerInfo12 * This,
             /* [out] */ USHORT *pClrInstanceId,
             /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
@@ -19374,140 +21356,162 @@ 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
+        HRESULT ( STDMETHODCALLTYPE *EnumThreads )( 
             ICorProfilerInfo12 * This,
             /* [out] */ ICorProfilerThreadEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
+        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( 
             ICorProfilerInfo12 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
+        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ULONG cFunctions,
             /* [size_is][in] */ ModuleID moduleIds[  ],
             /* [size_is][in] */ mdMethodDef methodIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( 
             ICorProfilerInfo12 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId,
             /* [out] */ ReJITID *pReJitId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( 
             ICorProfilerInfo12 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ SIZE_T *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( 
             ICorProfilerInfo12 * This,
             /* [out] */ DWORD *pdwEventsLow,
             /* [out] */ DWORD *pdwEventsHigh);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( 
             ICorProfilerInfo12 * This,
             /* [in] */ DWORD dwEventsLow,
             /* [in] */ DWORD dwEventsHigh);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod)
+        HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ModuleID inlinersModuleId,
             /* [in] */ ModuleID inlineeModuleId,
             /* [in] */ mdMethodDef inlineeMethodId,
             /* [out] */ BOOL *incompleteData,
             /* [out] */ ICorProfilerMethodEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData)
+        HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength)
+        HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ModuleID moduleId,
             /* [out] */ DWORD *pCountSymbolBytes);
-
-        HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols)
+        HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( 
             ICorProfilerInfo12 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ DWORD symbolsReadOffset,
             /* [out] */ BYTE *pSymbolBytes,
             /* [in] */ DWORD countSymbolBytes,
             /* [out] */ DWORD *pCountSymbolBytesRead);
-
-        HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic)
+        HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( 
             ICorProfilerInfo12 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ BOOL *isDynamic);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( 
             ICorProfilerInfo12 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *functionId,
             /* [out] */ ReJITID *pReJitId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( 
             ICorProfilerInfo12 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ ModuleID *moduleId,
@@ -19516,100 +21520,117 @@ EXTERN_C const IID IID_ICorProfilerInfo12;
             /* [in] */ ULONG cchName,
             /* [out] */ ULONG *pcchName,
             /* [out] */ WCHAR wszName[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetNativeCodeStartAddresses)
+        HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( 
             ICorProfilerInfo12 * This,
             FunctionID functionID,
             ReJITID reJitId,
             ULONG32 cCodeStartAddresses,
             ULONG32 *pcCodeStartAddresses,
             UINT_PTR codeStartAddresses[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetILToNativeMapping3)
+        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( 
             ICorProfilerInfo12 * This,
             UINT_PTR pNativeCodeStartAddress,
             ULONG32 cMap,
             ULONG32 *pcMap,
             COR_DEBUG_IL_TO_NATIVE_MAP map[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetCodeInfo4)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( 
             ICorProfilerInfo12 * This,
             UINT_PTR pNativeCodeStartAddress,
             ULONG32 cCodeInfos,
             ULONG32 *pcCodeInfos,
             COR_PRF_CODE_INFO codeInfos[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, EnumerateObjectReferences)
+        HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )( 
             ICorProfilerInfo12 * This,
             ObjectID objectId,
             ObjectReferenceCallback callback,
             void *clientData);
-
-        HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, IsFrozenObject)
+        HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )( 
             ICorProfilerInfo12 * This,
             ObjectID objectId,
             BOOL *pbFrozen);
-
-        HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, GetLOHObjectSizeThreshold)
+        HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )( 
             ICorProfilerInfo12 * This,
             DWORD *pThreshold);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, SuspendRuntime)
+        HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )( 
             ICorProfilerInfo12 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, ResumeRuntime)
+        HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )( 
             ICorProfilerInfo12 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEnvironmentVariable )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo11, 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo11, SetEnvironmentVariable)
+        HRESULT ( STDMETHODCALLTYPE *SetEnvironmentVariable )( 
             ICorProfilerInfo12 * This,
             /* [string][in] */ const WCHAR *szName,
             /* [string][in] */ const WCHAR *szValue);
-
-        HRESULT ( STDMETHODCALLTYPE *EventPipeStartSession )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeStartSession)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeStartSession )( 
             ICorProfilerInfo12 * This,
             /* [in] */ UINT32 cProviderConfigs,
             /* [size_is][in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[  ],
             /* [in] */ BOOL requestRundown,
             /* [out] */ EVENTPIPE_SESSION *pSession);
-
-        HRESULT ( STDMETHODCALLTYPE *EventPipeAddProviderToSession )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeAddProviderToSession)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeAddProviderToSession )( 
             ICorProfilerInfo12 * This,
             /* [in] */ EVENTPIPE_SESSION session,
             /* [in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG providerConfig);
-
-        HRESULT ( STDMETHODCALLTYPE *EventPipeStopSession )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeStopSession)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeStopSession )( 
             ICorProfilerInfo12 * This,
             /* [in] */ EVENTPIPE_SESSION session);
-
-        HRESULT ( STDMETHODCALLTYPE *EventPipeCreateProvider )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeCreateProvider)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeCreateProvider )( 
             ICorProfilerInfo12 * This,
             /* [string][in] */ const WCHAR *providerName,
             /* [out] */ EVENTPIPE_PROVIDER *pProvider);
-
-        HRESULT ( STDMETHODCALLTYPE *EventPipeGetProviderInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeGetProviderInfo)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeGetProviderInfo )( 
             ICorProfilerInfo12 * This,
             /* [in] */ EVENTPIPE_PROVIDER provider,
             /* [in] */ ULONG cchName,
             /* [out] */ ULONG *pcchName,
-            /* [annotation][out] */
+            /* [annotation][out] */ 
             _Out_writes_to_(cchName, *pcchName)  WCHAR providerName[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *EventPipeDefineEvent )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeDefineEvent)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeDefineEvent )( 
             ICorProfilerInfo12 * This,
             /* [in] */ EVENTPIPE_PROVIDER provider,
             /* [string][in] */ const WCHAR *eventName,
@@ -19622,15 +21643,16 @@ EXTERN_C const IID IID_ICorProfilerInfo12;
             /* [in] */ UINT32 cParamDescs,
             /* [size_is][in] */ COR_PRF_EVENTPIPE_PARAM_DESC pParamDescs[  ],
             /* [out] */ EVENTPIPE_EVENT *pEvent);
-
-        HRESULT ( STDMETHODCALLTYPE *EventPipeWriteEvent )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeWriteEvent)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeWriteEvent )( 
             ICorProfilerInfo12 * This,
             /* [in] */ EVENTPIPE_EVENT event,
             /* [in] */ UINT32 cData,
             /* [size_is][in] */ COR_PRF_EVENT_DATA data[  ],
             /* [in] */ LPCGUID pActivityId,
             /* [in] */ LPCGUID pRelatedActivityId);
-
+        
         END_INTERFACE
     } ICorProfilerInfo12Vtbl;
 
@@ -19639,595 +21661,633 @@ 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) )
+#define ICorProfilerInfo12_QueryInterface(This,riid,ppvObject) \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerInfo12_AddRef(This) \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerInfo12_AddRef(This)        \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerInfo12_Release(This)    \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerInfo12_Release(This)       \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerInfo12_GetClassFromObject(This,objectId,pClassId)   \
-    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
+#define ICorProfilerInfo12_GetClassFromObject(This,objectId,pClassId)  \
+    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) 
 
-#define ICorProfilerInfo12_GetClassFromToken(This,moduleId,typeDef,pClassId)    \
-    ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_GetCodeInfo(This,functionId,pStart,pcSize)  \
+    ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) 
 
-#define ICorProfilerInfo12_GetEventMask(This,pdwEvents) \
-    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
+#define ICorProfilerInfo12_GetEventMask(This,pdwEvents)        \
+    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) 
 
-#define ICorProfilerInfo12_GetFunctionFromIP(This,ip,pFunctionId)   \
-    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+#define ICorProfilerInfo12_GetFunctionFromIP(This,ip,pFunctionId)      \
+    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) 
 
-#define ICorProfilerInfo12_GetFunctionFromToken(This,moduleId,token,pFunctionId)    \
-    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
+#define ICorProfilerInfo12_GetFunctionFromToken(This,moduleId,token,pFunctionId)       \
+    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) 
 
-#define ICorProfilerInfo12_GetHandleFromThread(This,threadId,phThread)  \
-    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+#define ICorProfilerInfo12_GetHandleFromThread(This,threadId,phThread) \
+    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) 
 
-#define ICorProfilerInfo12_GetObjectSize(This,objectId,pcSize)  \
-    ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_GetThreadInfo(This,threadId,pdwWin32ThreadId)       \
+    ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) 
 
-#define ICorProfilerInfo12_GetCurrentThreadID(This,pThreadId)   \
-    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+#define ICorProfilerInfo12_GetCurrentThreadID(This,pThreadId)  \
+    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) 
 
-#define ICorProfilerInfo12_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \
-    ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken)  \
+    ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) 
 
-#define ICorProfilerInfo12_SetEventMask(This,dwEvents)  \
-    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
+#define ICorProfilerInfo12_SetEventMask(This,dwEvents) \
+    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) 
 
-#define ICorProfilerInfo12_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+#define ICorProfilerInfo12_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall)        \
+    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) 
 
-#define ICorProfilerInfo12_SetFunctionIDMapper(This,pFunc)  \
-    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+#define ICorProfilerInfo12_SetFunctionIDMapper(This,pFunc)     \
+    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) 
 
-#define ICorProfilerInfo12_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken)    \
-    ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_GetILFunctionBodyAllocator(This,moduleId,ppMalloc)  \
+    ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) 
 
-#define ICorProfilerInfo12_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader)    \
-    ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_SetFunctionReJIT(This,functionId)   \
+    ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) 
 
-#define ICorProfilerInfo12_ForceGC(This)    \
-    ( (This)->lpVtbl -> ForceGC(This) )
+#define ICorProfilerInfo12_ForceGC(This)       \
+    ( (This)->lpVtbl -> ForceGC(This) ) 
 
-#define ICorProfilerInfo12_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
-    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+#define ICorProfilerInfo12_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)    \
+    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) 
 
-#define ICorProfilerInfo12_GetInprocInspectionInterface(This,ppicd) \
-    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
+#define ICorProfilerInfo12_GetInprocInspectionInterface(This,ppicd)    \
+    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) 
 
-#define ICorProfilerInfo12_GetInprocInspectionIThisThread(This,ppicd)   \
-    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
+#define ICorProfilerInfo12_GetInprocInspectionIThisThread(This,ppicd)  \
+    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) 
 
-#define ICorProfilerInfo12_GetThreadContext(This,threadId,pContextId)   \
-    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
+#define ICorProfilerInfo12_GetThreadContext(This,threadId,pContextId)  \
+    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) 
 
-#define ICorProfilerInfo12_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext)    \
-    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
+#define ICorProfilerInfo12_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext)       \
+    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) 
 
-#define ICorProfilerInfo12_EndInprocDebugging(This,dwProfilerContext)   \
-    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
+#define ICorProfilerInfo12_EndInprocDebugging(This,dwProfilerContext)  \
+    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) 
 
-#define ICorProfilerInfo12_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \
-    ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_GetBoxClassLayout(This,classId,pBufferOffset)       \
+    ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) 
 
-#define ICorProfilerInfo12_GetThreadAppDomain(This,threadId,pAppDomainId)   \
-    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
+#define ICorProfilerInfo12_GetThreadAppDomain(This,threadId,pAppDomainId)      \
+    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) 
 
-#define ICorProfilerInfo12_GetRVAStaticAddress(This,classId,fieldToken,ppAddress)   \
-    ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges)       \
+    ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) 
 
-#define ICorProfilerInfo12_GetObjectGeneration(This,objectId,range) \
-    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
+#define ICorProfilerInfo12_GetObjectGeneration(This,objectId,range)    \
+    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) 
 
-#define ICorProfilerInfo12_GetNotifiedExceptionClauseInfo(This,pinfo)   \
-    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
+#define ICorProfilerInfo12_GetNotifiedExceptionClauseInfo(This,pinfo)  \
+    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) 
 
 
-#define ICorProfilerInfo12_EnumJITedFunctions(This,ppEnum)  \
-    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
+#define ICorProfilerInfo12_EnumJITedFunctions(This,ppEnum)     \
+    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) 
 
-#define ICorProfilerInfo12_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
-    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
+#define ICorProfilerInfo12_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds)        \
+    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) 
 
-#define ICorProfilerInfo12_SetFunctionIDMapper2(This,pFunc,clientData)  \
-    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
+#define ICorProfilerInfo12_SetFunctionIDMapper2(This,pFunc,clientData) \
+    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) 
 
-#define ICorProfilerInfo12_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \
-    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
+#define ICorProfilerInfo12_GetStringLayout2(This,pStringLengthOffset,pBufferOffset)    \
+    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) 
 
-#define ICorProfilerInfo12_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo)        \
+    ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) 
 
-#define ICorProfilerInfo12_EnumModules(This,ppEnum) \
-    ( (This)->lpVtbl -> EnumModules(This,ppEnum) )
+#define ICorProfilerInfo12_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) )
+#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) ) 
 
-#define ICorProfilerInfo12_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress)  \
-    ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_EnumThreads(This,ppEnum)    \
+    ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) 
 
-#define ICorProfilerInfo12_InitializeCurrentThread(This)    \
-    ( (This)->lpVtbl -> InitializeCurrentThread(This) )
+#define ICorProfilerInfo12_InitializeCurrentThread(This)       \
+    ( (This)->lpVtbl -> InitializeCurrentThread(This) ) 
 
-#define ICorProfilerInfo12_RequestReJIT(This,cFunctions,moduleIds,methodIds)    \
-    ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_EnumJITedFunctions2(This,ppEnum)    \
+    ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) 
 
-#define ICorProfilerInfo12_GetObjectSize2(This,objectId,pcSize) \
-    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) )
+#define ICorProfilerInfo12_GetObjectSize2(This,objectId,pcSize)        \
+    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) 
 
 
-#define ICorProfilerInfo12_GetEventMask2(This,pdwEventsLow,pdwEventsHigh)   \
-    ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) )
+#define ICorProfilerInfo12_GetEventMask2(This,pdwEventsLow,pdwEventsHigh)      \
+    ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) 
 
-#define ICorProfilerInfo12_SetEventMask2(This,dwEventsLow,dwEventsHigh) \
-    ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_ApplyMetaData(This,moduleId)        \
+    ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) 
 
-#define ICorProfilerInfo12_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes)    \
-    ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_IsFunctionDynamic(This,functionId,isDynamic)        \
+    ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) 
 
-#define ICorProfilerInfo12_GetFunctionFromIP3(This,ip,functionId,pReJitId)  \
-    ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_EnumerateObjectReferences(This,objectId,callback,clientData)        \
+    ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) ) 
 
-#define ICorProfilerInfo12_IsFrozenObject(This,objectId,pbFrozen)   \
-    ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) )
+#define ICorProfilerInfo12_IsFrozenObject(This,objectId,pbFrozen)      \
+    ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) ) 
 
-#define ICorProfilerInfo12_GetLOHObjectSizeThreshold(This,pThreshold)   \
-    ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) )
+#define ICorProfilerInfo12_GetLOHObjectSizeThreshold(This,pThreshold)  \
+    ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) ) 
 
-#define ICorProfilerInfo12_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds)   \
-    ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) )
+#define ICorProfilerInfo12_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds)  \
+    ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) ) 
 
-#define ICorProfilerInfo12_SuspendRuntime(This) \
-    ( (This)->lpVtbl -> SuspendRuntime(This) )
+#define ICorProfilerInfo12_SuspendRuntime(This)        \
+    ( (This)->lpVtbl -> SuspendRuntime(This) ) 
 
-#define ICorProfilerInfo12_ResumeRuntime(This)  \
-    ( (This)->lpVtbl -> ResumeRuntime(This) )
+#define ICorProfilerInfo12_ResumeRuntime(This) \
+    ( (This)->lpVtbl -> ResumeRuntime(This) ) 
 
 
-#define ICorProfilerInfo12_GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue)   \
-    ( (This)->lpVtbl -> GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) )
+#define ICorProfilerInfo12_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) )
+#define ICorProfilerInfo12_SetEnvironmentVariable(This,szName,szValue) \
+    ( (This)->lpVtbl -> SetEnvironmentVariable(This,szName,szValue) ) 
 
 
-#define ICorProfilerInfo12_EventPipeStartSession(This,cProviderConfigs,pProviderConfigs,requestRundown,pSession)    \
-    ( (This)->lpVtbl -> EventPipeStartSession(This,cProviderConfigs,pProviderConfigs,requestRundown,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_EventPipeAddProviderToSession(This,session,providerConfig)  \
+    ( (This)->lpVtbl -> EventPipeAddProviderToSession(This,session,providerConfig) ) 
 
-#define ICorProfilerInfo12_EventPipeStopSession(This,session)   \
-    ( (This)->lpVtbl -> EventPipeStopSession(This,session) )
+#define ICorProfilerInfo12_EventPipeStopSession(This,session)  \
+    ( (This)->lpVtbl -> EventPipeStopSession(This,session) ) 
 
-#define ICorProfilerInfo12_EventPipeCreateProvider(This,providerName,pProvider) \
-    ( (This)->lpVtbl -> EventPipeCreateProvider(This,providerName,pProvider) )
+#define ICorProfilerInfo12_EventPipeCreateProvider(This,providerName,pProvider)        \
+    ( (This)->lpVtbl -> EventPipeCreateProvider(This,providerName,pProvider) ) 
 
-#define ICorProfilerInfo12_EventPipeGetProviderInfo(This,provider,cchName,pcchName,providerName)    \
-    ( (This)->lpVtbl -> EventPipeGetProviderInfo(This,provider,cchName,pcchName,providerName) )
+#define ICorProfilerInfo12_EventPipeGetProviderInfo(This,provider,cchName,pcchName,providerName)       \
+    ( (This)->lpVtbl -> EventPipeGetProviderInfo(This,provider,cchName,pcchName,providerName) ) 
 
-#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_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) )
+#define ICorProfilerInfo12_EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId)   \
+    ( (This)->lpVtbl -> EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerInfo12_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerInfo12_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerInfo13_INTERFACE_DEFINED__
 #define __ICorProfilerInfo13_INTERFACE_DEFINED__
 
 /* interface ICorProfilerInfo13 */
-/* [local][unique][uuid][object] */
+/* [local][unique][uuid][object] */ 
 
 
 EXTERN_C const IID IID_ICorProfilerInfo13;
 
 #if defined(__cplusplus) && !defined(CINTERFACE)
-
-    MIDL_INTERFACE("6e6c7ee2-0701-4ec2-9d29-2e8733b66934")
+    
+    MIDL_INTERFACE("6E6C7EE2-0701-4EC2-9D29-2E8733B66934")
     ICorProfilerInfo13 : public ICorProfilerInfo12
     {
     public:
-        virtual HRESULT STDMETHODCALLTYPE CreateHandle(
-            /* [in] */  ObjectID object,
-            /* [in] */  COR_PRF_HANDLE_TYPE type,
-            /* [out] */ ObjectHandleIDpHandle) = 0;
-
-        virtual HRESULT STDMETHODCALLTYPE DestroyHandle(
+        virtual HRESULT STDMETHODCALLTYPE CreateHandle( 
+            /* [in] */ ObjectID object,
+            /* [in] */ COR_PRF_HANDLE_TYPE type,
+            /* [out] */ ObjectHandleID *pHandle) = 0;
+        
+        virtual HRESULT STDMETHODCALLTYPE DestroyHandle( 
             /* [in] */ ObjectHandleID handle) = 0;
-
-        virtual HRESULT STDMETHODCALLTYPE GetObjectIDFromHandle(
+        
+        virtual HRESULT STDMETHODCALLTYPE GetObjectIDFromHandle( 
             /* [in] */ ObjectHandleID handle,
-            /* [out] */ ObjectID* pObject) = 0;
+            /* [out] */ ObjectID *pObject) = 0;
+        
     };
-
-
-#else   /* C style interface */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerInfo13Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerInfo13 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerInfo13 * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerInfo13 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdTypeDef typeDef,
             /* [out] */ ClassID *pClassId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( 
             ICorProfilerInfo13 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ LPCBYTE *pStart,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask )( 
             ICorProfilerInfo13 * This,
             /* [out] */ DWORD *pdwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( 
             ICorProfilerInfo13 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdToken token,
             /* [out] */ FunctionID *pFunctionId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
+        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ HANDLE *phThread);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ ULONG *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
+        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ClassID classId,
             /* [out] */ CorElementType *pBaseElemType,
             /* [out] */ ClassID *pBaseClassId,
             /* [out] */ ULONG *pcRank);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ DWORD *pdwWin32ThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
+        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( 
             ICorProfilerInfo13 * This,
             /* [out] */ ThreadID *pThreadId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdTypeDef *pTypeDefToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( 
             ICorProfilerInfo13 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ ClassID *pClassId,
             /* [out] */ ModuleID *pModuleId,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask )( 
             ICorProfilerInfo13 * This,
             /* [in] */ DWORD dwEvents);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( 
             ICorProfilerInfo13 * This,
             /* [in] */ FunctionEnter *pFuncEnter,
             /* [in] */ FunctionLeave *pFuncLeave,
             /* [in] */ FunctionTailcall *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( 
             ICorProfilerInfo13 * This,
             /* [in] */ FunctionIDMapper *pFunc);
-
-        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
+        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( 
             ICorProfilerInfo13 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppImport,
             /* [out] */ mdToken *pToken);
-
-        HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( 
             ICorProfilerInfo13 * 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
+        HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ DWORD dwOpenFlags,
             /* [in] */ REFIID riid,
             /* [out] */ IUnknown **ppOut);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodId,
             /* [out] */ LPCBYTE *ppMethodHeader,
             /* [out] */ ULONG *pcbMethodSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ModuleID moduleId,
             /* [out] */ IMethodMalloc **ppMalloc);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ mdMethodDef methodid,
             /* [in] */ LPCBYTE pbNewILMethodHeader);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( 
             ICorProfilerInfo13 * 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( 
             ICorProfilerInfo13 * 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( 
             ICorProfilerInfo13 * This,
             /* [in] */ FunctionID functionId);
-
-        HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
+        HRESULT ( STDMETHODCALLTYPE *ForceGC )( 
             ICorProfilerInfo13 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap)
+        HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( 
             ICorProfilerInfo13 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ BOOL fStartJit,
             /* [in] */ ULONG cILMapEntries,
             /* [size_is][in] */ COR_IL_MAP rgILMapEntries[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( 
             ICorProfilerInfo13 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( 
             ICorProfilerInfo13 * This,
             /* [out] */ IUnknown **ppicd);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ ContextID *pContextId);
-
-        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( 
             ICorProfilerInfo13 * This,
             /* [in] */ BOOL fThisThreadOnly,
             /* [out] */ DWORD *pdwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( 
             ICorProfilerInfo13 * This,
             /* [in] */ DWORD dwProfilerContext);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping)
+        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( 
             ICorProfilerInfo13 * 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
+        HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ThreadID thread,
             /* [in] */ StackSnapshotCallback *callback,
@@ -20235,14 +22295,16 @@ EXTERN_C const IID IID_ICorProfilerInfo13;
             /* [in] */ void *clientData,
             /* [size_is][in] */ BYTE context[  ],
             /* [in] */ ULONG32 contextSize);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( 
             ICorProfilerInfo13 * This,
             /* [in] */ FunctionEnter2 *pFuncEnter,
             /* [in] */ FunctionLeave2 *pFuncLeave,
             /* [in] */ FunctionTailcall2 *pFuncTailcall);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( 
             ICorProfilerInfo13 * This,
             /* [in] */ FunctionID funcId,
             /* [in] */ COR_PRF_FRAME_INFO frameInfo,
@@ -20252,22 +22314,25 @@ EXTERN_C const IID IID_ICorProfilerInfo13;
             /* [in] */ ULONG32 cTypeArgs,
             /* [out] */ ULONG32 *pcTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( 
             ICorProfilerInfo13 * This,
             /* [out] */ ULONG *pBufferLengthOffset,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ClassID classID,
             /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[  ],
             /* [in] */ ULONG cFieldOffset,
             /* [out] */ ULONG *pcFieldOffset,
             /* [out] */ ULONG *pulClassSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ModuleID *pModuleId,
@@ -20276,23 +22341,26 @@ EXTERN_C const IID IID_ICorProfilerInfo13;
             /* [in] */ ULONG32 cNumTypeArgs,
             /* [out] */ ULONG32 *pcNumTypeArgs,
             /* [out] */ ClassID typeArgs[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( 
             ICorProfilerInfo13 * This,
             /* [in] */ FunctionID functionID,
             /* [in] */ ULONG32 cCodeInfos,
             /* [out] */ ULONG32 *pcCodeInfos,
             /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ModuleID moduleID,
             /* [in] */ mdTypeDef typeDef,
             /* [in] */ ULONG32 cTypeArgs,
             /* [size_is][in] */ ClassID typeArgs[  ],
             /* [out] */ ClassID *pClassID);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ModuleID moduleID,
             /* [in] */ mdMethodDef funcDef,
@@ -20300,134 +22368,157 @@ EXTERN_C const IID IID_ICorProfilerInfo13;
             /* [in] */ ULONG32 cTypeArgs,
             /* [size_is][in] */ ClassID typeArgs[  ],
             /* [out] */ FunctionID *pFunctionID);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
+        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ModuleID moduleID,
             /* [out] */ ICorProfilerObjectEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ObjectID objectId,
             /* [in] */ ULONG32 cDimensions,
             /* [size_is][out] */ ULONG32 pDimensionSizes[  ],
             /* [size_is][out] */ int pDimensionLowerBounds[  ],
             /* [out] */ BYTE **ppData);
-
-        HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ClassID classId,
             /* [out] */ ULONG32 *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ThreadID threadId,
             /* [out] */ AppDomainID *pAppDomainId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ ContextID contextId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds)
+        HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ULONG cObjectRanges,
             /* [out] */ ULONG *pcObjectRanges,
             /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
-
-        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( 
             ICorProfilerInfo13 * This,
             /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( 
             ICorProfilerInfo13 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
+        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( 
             ICorProfilerInfo13 * This,
             /* [in] */ DWORD dwExpectedCompletionMilliseconds);
-
-        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( 
             ICorProfilerInfo13 * This,
             /* [in] */ FunctionIDMapper2 *pFunc,
             /* [in] */ void *clientData);
-
-        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( 
             ICorProfilerInfo13 * This,
             /* [out] */ ULONG *pStringLengthOffset,
             /* [out] */ ULONG *pBufferOffset);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( 
             ICorProfilerInfo13 * This,
             /* [in] */ FunctionEnter3 *pFuncEnter3,
             /* [in] */ FunctionLeave3 *pFuncLeave3,
             /* [in] */ FunctionTailcall3 *pFuncTailcall3);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( 
             ICorProfilerInfo13 * This,
             /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
             /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
             /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionEnter3Info)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( 
             ICorProfilerInfo13 * 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionLeave3Info)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( 
             ICorProfilerInfo13 * 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( 
             ICorProfilerInfo13 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ COR_PRF_ELT_INFO eltInfo,
             /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumModules )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
+        HRESULT ( STDMETHODCALLTYPE *EnumModules )( 
             ICorProfilerInfo13 * This,
             /* [out] */ ICorProfilerModuleEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
+        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( 
             ICorProfilerInfo13 * This,
             /* [out] */ USHORT *pClrInstanceId,
             /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
@@ -20437,140 +22528,162 @@ EXTERN_C const IID IID_ICorProfilerInfo13;
             /* [out] */ USHORT *pQFEVersion,
             /* [in] */ ULONG cchVersionString,
             /* [out] */ ULONG *pcchVersionString,
-            /* [annotation][out] */
+            /* [annotation][out] */ 
             _Out_writes_to_(cchVersionString, *pcchVersionString)  WCHAR szVersionString[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ClassID classId,
             /* [in] */ mdFieldDef fieldToken,
             /* [in] */ AppDomainID appDomainId,
             /* [in] */ ThreadID threadId,
             /* [out] */ void **ppAddress);
-
-        HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetAppDomainsContainingModule)
+        HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ ULONG32 cAppDomainIds,
             /* [out] */ ULONG32 *pcAppDomainIds,
             /* [length_is][size_is][out] */ AppDomainID appDomainIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( 
             ICorProfilerInfo13 * 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
+        HRESULT ( STDMETHODCALLTYPE *EnumThreads )( 
             ICorProfilerInfo13 * This,
             /* [out] */ ICorProfilerThreadEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
+        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( 
             ICorProfilerInfo13 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
+        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ULONG cFunctions,
             /* [size_is][in] */ ModuleID moduleIds[  ],
             /* [size_is][in] */ mdMethodDef methodIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestRevert)
+        HRESULT ( STDMETHODCALLTYPE *RequestRevert )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ULONG cFunctions,
             /* [size_is][in] */ ModuleID moduleIds[  ],
             /* [size_is][in] */ mdMethodDef methodIds[  ],
             /* [size_is][out] */ HRESULT status[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetCodeInfo3)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( 
             ICorProfilerInfo13 * 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( 
             ICorProfilerInfo13 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *pFunctionId,
             /* [out] */ ReJITID *pReJitId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetReJITIDs)
+        HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( 
             ICorProfilerInfo13 * This,
             /* [in] */ FunctionID functionId,
             /* [in] */ ULONG cReJitIds,
             /* [out] */ ULONG *pcReJitIds,
             /* [length_is][size_is][out] */ ReJITID reJitIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetILToNativeMapping2)
+        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( 
             ICorProfilerInfo13 * 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( 
             ICorProfilerInfo13 * This,
             /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ObjectID objectId,
             /* [out] */ SIZE_T *pcSize);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( 
             ICorProfilerInfo13 * This,
             /* [out] */ DWORD *pdwEventsLow,
             /* [out] */ DWORD *pdwEventsHigh);
-
-        HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( 
             ICorProfilerInfo13 * This,
             /* [in] */ DWORD dwEventsLow,
             /* [in] */ DWORD dwEventsHigh);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod)
+        HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ModuleID inlinersModuleId,
             /* [in] */ ModuleID inlineeModuleId,
             /* [in] */ mdMethodDef inlineeMethodId,
             /* [out] */ BOOL *incompleteData,
             /* [out] */ ICorProfilerMethodEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData)
+        HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ModuleID moduleId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength)
+        HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ModuleID moduleId,
             /* [out] */ DWORD *pCountSymbolBytes);
-
-        HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols)
+        HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ModuleID moduleId,
             /* [in] */ DWORD symbolsReadOffset,
             /* [out] */ BYTE *pSymbolBytes,
             /* [in] */ DWORD countSymbolBytes,
             /* [out] */ DWORD *pCountSymbolBytesRead);
-
-        HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic)
+        HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( 
             ICorProfilerInfo13 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ BOOL *isDynamic);
-
-        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( 
             ICorProfilerInfo13 * This,
             /* [in] */ LPCBYTE ip,
             /* [out] */ FunctionID *functionId,
             /* [out] */ ReJITID *pReJitId);
-
-        HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( 
             ICorProfilerInfo13 * This,
             /* [in] */ FunctionID functionId,
             /* [out] */ ModuleID *moduleId,
@@ -20579,100 +22692,117 @@ EXTERN_C const IID IID_ICorProfilerInfo13;
             /* [in] */ ULONG cchName,
             /* [out] */ ULONG *pcchName,
             /* [out] */ WCHAR wszName[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetNativeCodeStartAddresses)
+        HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( 
             ICorProfilerInfo13 * This,
             FunctionID functionID,
             ReJITID reJitId,
             ULONG32 cCodeStartAddresses,
             ULONG32 *pcCodeStartAddresses,
             UINT_PTR codeStartAddresses[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetILToNativeMapping3)
+        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( 
             ICorProfilerInfo13 * This,
             UINT_PTR pNativeCodeStartAddress,
             ULONG32 cMap,
             ULONG32 *pcMap,
             COR_DEBUG_IL_TO_NATIVE_MAP map[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetCodeInfo4)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( 
             ICorProfilerInfo13 * This,
             UINT_PTR pNativeCodeStartAddress,
             ULONG32 cCodeInfos,
             ULONG32 *pcCodeInfos,
             COR_PRF_CODE_INFO codeInfos[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, EnumerateObjectReferences)
+        HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )( 
             ICorProfilerInfo13 * This,
             ObjectID objectId,
             ObjectReferenceCallback callback,
             void *clientData);
-
-        HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, IsFrozenObject)
+        HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )( 
             ICorProfilerInfo13 * This,
             ObjectID objectId,
             BOOL *pbFrozen);
-
-        HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, GetLOHObjectSizeThreshold)
+        HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )( 
             ICorProfilerInfo13 * This,
             DWORD *pThreshold);
-
-        HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, RequestReJITWithInliners)
+        HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )( 
             ICorProfilerInfo13 * This,
             /* [in] */ DWORD dwRejitFlags,
             /* [in] */ ULONG cFunctions,
             /* [size_is][in] */ ModuleID moduleIds[  ],
             /* [size_is][in] */ mdMethodDef methodIds[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, SuspendRuntime)
+        HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )( 
             ICorProfilerInfo13 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, ResumeRuntime)
+        HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )( 
             ICorProfilerInfo13 * This);
-
-        HRESULT ( STDMETHODCALLTYPE *GetEnvironmentVariable )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo11, GetEnvironmentVariable)
+        HRESULT ( STDMETHODCALLTYPE *GetEnvironmentVariable )( 
             ICorProfilerInfo13 * 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 )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo11, SetEnvironmentVariable)
+        HRESULT ( STDMETHODCALLTYPE *SetEnvironmentVariable )( 
             ICorProfilerInfo13 * This,
             /* [string][in] */ const WCHAR *szName,
             /* [string][in] */ const WCHAR *szValue);
-
-        HRESULT ( STDMETHODCALLTYPE *EventPipeStartSession )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeStartSession)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeStartSession )( 
             ICorProfilerInfo13 * This,
             /* [in] */ UINT32 cProviderConfigs,
             /* [size_is][in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[  ],
             /* [in] */ BOOL requestRundown,
             /* [out] */ EVENTPIPE_SESSION *pSession);
-
-        HRESULT ( STDMETHODCALLTYPE *EventPipeAddProviderToSession )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeAddProviderToSession)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeAddProviderToSession )( 
             ICorProfilerInfo13 * This,
             /* [in] */ EVENTPIPE_SESSION session,
             /* [in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG providerConfig);
-
-        HRESULT ( STDMETHODCALLTYPE *EventPipeStopSession )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeStopSession)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeStopSession )( 
             ICorProfilerInfo13 * This,
             /* [in] */ EVENTPIPE_SESSION session);
-
-        HRESULT ( STDMETHODCALLTYPE *EventPipeCreateProvider )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeCreateProvider)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeCreateProvider )( 
             ICorProfilerInfo13 * This,
             /* [string][in] */ const WCHAR *providerName,
             /* [out] */ EVENTPIPE_PROVIDER *pProvider);
-
-        HRESULT ( STDMETHODCALLTYPE *EventPipeGetProviderInfo )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeGetProviderInfo)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeGetProviderInfo )( 
             ICorProfilerInfo13 * This,
             /* [in] */ EVENTPIPE_PROVIDER provider,
             /* [in] */ ULONG cchName,
             /* [out] */ ULONG *pcchName,
-            /* [annotation][out] */
+            /* [annotation][out] */ 
             _Out_writes_to_(cchName, *pcchName)  WCHAR providerName[  ]);
-
-        HRESULT ( STDMETHODCALLTYPE *EventPipeDefineEvent )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeDefineEvent)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeDefineEvent )( 
             ICorProfilerInfo13 * This,
             /* [in] */ EVENTPIPE_PROVIDER provider,
             /* [string][in] */ const WCHAR *eventName,
@@ -20685,30 +22815,34 @@ EXTERN_C const IID IID_ICorProfilerInfo13;
             /* [in] */ UINT32 cParamDescs,
             /* [size_is][in] */ COR_PRF_EVENTPIPE_PARAM_DESC pParamDescs[  ],
             /* [out] */ EVENTPIPE_EVENT *pEvent);
-
-        HRESULT ( STDMETHODCALLTYPE *EventPipeWriteEvent )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeWriteEvent)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeWriteEvent )( 
             ICorProfilerInfo13 * This,
             /* [in] */ EVENTPIPE_EVENT event,
             /* [in] */ UINT32 cData,
             /* [size_is][in] */ COR_PRF_EVENT_DATA data[  ],
             /* [in] */ LPCGUID pActivityId,
             /* [in] */ LPCGUID pRelatedActivityId);
-
-        HRESULT ( STDMETHODCALLTYPE CreateHandle )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo13, CreateHandle)
+        HRESULT ( STDMETHODCALLTYPE *CreateHandle )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ObjectID object,
             /* [in] */ COR_PRF_HANDLE_TYPE type,
-            /* [out] */ ObjectHandleID* pHandle);
-
-        HRESULT ( STDMETHODCALLTYPE DestroyHandle )(
+            /* [out] */ ObjectHandleID *pHandle);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo13, DestroyHandle)
+        HRESULT ( STDMETHODCALLTYPE *DestroyHandle )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ObjectHandleID handle);
-
-        HRESULT ( STDMETHODCALLTYPE GetObjectIDFromHandle )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo13, GetObjectIDFromHandle)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectIDFromHandle )( 
             ICorProfilerInfo13 * This,
             /* [in] */ ObjectHandleID handle,
-            /* [out] */ ObjectIDpObject);
-
+            /* [out] */ ObjectID *pObject);
+        
         END_INTERFACE
     } ICorProfilerInfo13Vtbl;
 
@@ -20717,564 +22851,1779 @@ EXTERN_C const IID IID_ICorProfilerInfo13;
         CONST_VTBL struct ICorProfilerInfo13Vtbl *lpVtbl;
     };
 
-
+    
 
 #ifdef COBJMACROS
 
 
-#define ICorProfilerInfo13_QueryInterface(This,riid,ppvObject)  \
-    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ICorProfilerInfo13_AddRef(This) \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerInfo13_QueryInterface(This,riid,ppvObject) \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerInfo13_Release(This)    \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerInfo13_AddRef(This)        \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
+#define ICorProfilerInfo13_Release(This)       \
+    ( (This)->lpVtbl -> Release(This) ) 
 
-#define ICorProfilerInfo13_GetClassFromObject(This,objectId,pClassId)   \
-    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
 
-#define ICorProfilerInfo13_GetClassFromToken(This,moduleId,typeDef,pClassId)    \
-    ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
+#define ICorProfilerInfo13_GetClassFromObject(This,objectId,pClassId)  \
+    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) 
 
-#define ICorProfilerInfo13_GetCodeInfo(This,functionId,pStart,pcSize)   \
-    ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) )
+#define ICorProfilerInfo13_GetClassFromToken(This,moduleId,typeDef,pClassId)   \
+    ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) 
 
-#define ICorProfilerInfo13_GetEventMask(This,pdwEvents) \
-    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
+#define ICorProfilerInfo13_GetCodeInfo(This,functionId,pStart,pcSize)  \
+    ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) 
 
-#define ICorProfilerInfo13_GetFunctionFromIP(This,ip,pFunctionId)   \
-    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+#define ICorProfilerInfo13_GetEventMask(This,pdwEvents)        \
+    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) 
 
-#define ICorProfilerInfo13_GetFunctionFromToken(This,moduleId,token,pFunctionId)    \
-    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
+#define ICorProfilerInfo13_GetFunctionFromIP(This,ip,pFunctionId)      \
+    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) 
 
-#define ICorProfilerInfo13_GetHandleFromThread(This,threadId,phThread)  \
-    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+#define ICorProfilerInfo13_GetFunctionFromToken(This,moduleId,token,pFunctionId)       \
+    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) 
 
-#define ICorProfilerInfo13_GetObjectSize(This,objectId,pcSize)  \
-    ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
+#define ICorProfilerInfo13_GetHandleFromThread(This,threadId,phThread) \
+    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) 
 
-#define ICorProfilerInfo13_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \
-    ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) )
+#define ICorProfilerInfo13_GetObjectSize(This,objectId,pcSize) \
+    ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) 
 
-#define ICorProfilerInfo13_GetThreadInfo(This,threadId,pdwWin32ThreadId)    \
-    ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) )
+#define ICorProfilerInfo13_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank)        \
+    ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) 
 
-#define ICorProfilerInfo13_GetCurrentThreadID(This,pThreadId)   \
-    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+#define ICorProfilerInfo13_GetThreadInfo(This,threadId,pdwWin32ThreadId)       \
+    ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) 
 
-#define ICorProfilerInfo13_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \
-    ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
+#define ICorProfilerInfo13_GetCurrentThreadID(This,pThreadId)  \
+    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) 
 
-#define ICorProfilerInfo13_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken)   \
-    ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) )
+#define ICorProfilerInfo13_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken)        \
+    ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) 
 
-#define ICorProfilerInfo13_SetEventMask(This,dwEvents)  \
-    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
+#define ICorProfilerInfo13_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken)  \
+    ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) 
 
-#define ICorProfilerInfo13_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+#define ICorProfilerInfo13_SetEventMask(This,dwEvents) \
+    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) 
 
-#define ICorProfilerInfo13_SetFunctionIDMapper(This,pFunc)  \
-    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+#define ICorProfilerInfo13_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall)        \
+    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) 
 
-#define ICorProfilerInfo13_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken)    \
-    ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
+#define ICorProfilerInfo13_SetFunctionIDMapper(This,pFunc)     \
+    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) 
 
-#define ICorProfilerInfo13_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId)   \
-    ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) )
+#define ICorProfilerInfo13_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken)       \
+    ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) 
 
-#define ICorProfilerInfo13_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut)  \
-    ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) )
+#define ICorProfilerInfo13_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId)  \
+    ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) 
 
-#define ICorProfilerInfo13_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize)   \
-    ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) )
+#define ICorProfilerInfo13_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut)     \
+    ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) 
 
-#define ICorProfilerInfo13_GetILFunctionBodyAllocator(This,moduleId,ppMalloc)   \
-    ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) )
+#define ICorProfilerInfo13_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize)      \
+    ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) 
 
-#define ICorProfilerInfo13_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader)    \
-    ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
+#define ICorProfilerInfo13_GetILFunctionBodyAllocator(This,moduleId,ppMalloc)  \
+    ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) 
 
-#define ICorProfilerInfo13_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId)    \
-    ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) )
+#define ICorProfilerInfo13_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader)       \
+    ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) 
 
-#define ICorProfilerInfo13_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId)  \
-    ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) )
+#define ICorProfilerInfo13_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId)       \
+    ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) 
 
-#define ICorProfilerInfo13_SetFunctionReJIT(This,functionId)    \
-    ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) )
+#define ICorProfilerInfo13_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId)     \
+    ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) 
 
-#define ICorProfilerInfo13_ForceGC(This)    \
-    ( (This)->lpVtbl -> ForceGC(This) )
+#define ICorProfilerInfo13_SetFunctionReJIT(This,functionId)   \
+    ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) 
 
-#define ICorProfilerInfo13_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
-    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+#define ICorProfilerInfo13_ForceGC(This)       \
+    ( (This)->lpVtbl -> ForceGC(This) ) 
 
-#define ICorProfilerInfo13_GetInprocInspectionInterface(This,ppicd) \
-    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
+#define ICorProfilerInfo13_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)    \
+    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) 
 
-#define ICorProfilerInfo13_GetInprocInspectionIThisThread(This,ppicd)   \
-    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
+#define ICorProfilerInfo13_GetInprocInspectionInterface(This,ppicd)    \
+    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) 
 
-#define ICorProfilerInfo13_GetThreadContext(This,threadId,pContextId)   \
-    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
+#define ICorProfilerInfo13_GetInprocInspectionIThisThread(This,ppicd)  \
+    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) 
 
-#define ICorProfilerInfo13_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext)    \
-    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
+#define ICorProfilerInfo13_GetThreadContext(This,threadId,pContextId)  \
+    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) 
 
-#define ICorProfilerInfo13_EndInprocDebugging(This,dwProfilerContext)   \
-    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
+#define ICorProfilerInfo13_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext)       \
+    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) 
 
-#define ICorProfilerInfo13_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \
-    ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
+#define ICorProfilerInfo13_EndInprocDebugging(This,dwProfilerContext)  \
+    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) 
 
+#define ICorProfilerInfo13_GetILToNativeMapping(This,functionId,cMap,pcMap,map)        \
+    ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) 
 
-#define ICorProfilerInfo13_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize)   \
-    ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) )
 
-#define ICorProfilerInfo13_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall)    \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+#define ICorProfilerInfo13_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize)      \
+    ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) 
 
-#define ICorProfilerInfo13_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs)  \
-    ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) )
+#define ICorProfilerInfo13_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall)       \
+    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) 
 
-#define ICorProfilerInfo13_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset)  \
-    ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) )
+#define ICorProfilerInfo13_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs)     \
+    ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) 
 
-#define ICorProfilerInfo13_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize)    \
-    ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) )
+#define ICorProfilerInfo13_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \
+    ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) 
 
-#define ICorProfilerInfo13_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \
-    ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) )
+#define ICorProfilerInfo13_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize)   \
+    ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) 
 
-#define ICorProfilerInfo13_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos)   \
-    ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) )
+#define ICorProfilerInfo13_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs)    \
+    ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) 
 
-#define ICorProfilerInfo13_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID)  \
-    ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) )
+#define ICorProfilerInfo13_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos)      \
+    ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) 
 
-#define ICorProfilerInfo13_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID)    \
-    ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) )
+#define ICorProfilerInfo13_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID)     \
+    ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) 
 
-#define ICorProfilerInfo13_EnumModuleFrozenObjects(This,moduleID,ppEnum)    \
-    ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) )
+#define ICorProfilerInfo13_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID)       \
+    ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) 
 
-#define ICorProfilerInfo13_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData)   \
-    ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) )
+#define ICorProfilerInfo13_EnumModuleFrozenObjects(This,moduleID,ppEnum)       \
+    ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) 
 
-#define ICorProfilerInfo13_GetBoxClassLayout(This,classId,pBufferOffset)    \
-    ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) )
+#define ICorProfilerInfo13_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData)  \
+    ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) 
 
-#define ICorProfilerInfo13_GetThreadAppDomain(This,threadId,pAppDomainId)   \
-    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
+#define ICorProfilerInfo13_GetBoxClassLayout(This,classId,pBufferOffset)       \
+    ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) 
 
-#define ICorProfilerInfo13_GetRVAStaticAddress(This,classId,fieldToken,ppAddress)   \
-    ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) )
+#define ICorProfilerInfo13_GetThreadAppDomain(This,threadId,pAppDomainId)      \
+    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) 
 
-#define ICorProfilerInfo13_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \
-    ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) )
+#define ICorProfilerInfo13_GetRVAStaticAddress(This,classId,fieldToken,ppAddress)      \
+    ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) 
 
-#define ICorProfilerInfo13_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress)   \
-    ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) )
+#define ICorProfilerInfo13_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress)    \
+    ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) 
 
-#define ICorProfilerInfo13_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \
-    ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) )
+#define ICorProfilerInfo13_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress)  \
+    ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) 
 
-#define ICorProfilerInfo13_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo)   \
-    ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) )
+#define ICorProfilerInfo13_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress)        \
+    ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) 
 
-#define ICorProfilerInfo13_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges)    \
-    ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) )
+#define ICorProfilerInfo13_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo)      \
+    ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) 
 
-#define ICorProfilerInfo13_GetObjectGeneration(This,objectId,range) \
-    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
+#define ICorProfilerInfo13_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges)       \
+    ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) 
 
-#define ICorProfilerInfo13_GetNotifiedExceptionClauseInfo(This,pinfo)   \
-    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
+#define ICorProfilerInfo13_GetObjectGeneration(This,objectId,range)    \
+    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) 
 
+#define ICorProfilerInfo13_GetNotifiedExceptionClauseInfo(This,pinfo)  \
+    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) 
 
-#define ICorProfilerInfo13_EnumJITedFunctions(This,ppEnum)  \
-    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
 
-#define ICorProfilerInfo13_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
-    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
+#define ICorProfilerInfo13_EnumJITedFunctions(This,ppEnum)     \
+    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) 
 
-#define ICorProfilerInfo13_SetFunctionIDMapper2(This,pFunc,clientData)  \
-    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
+#define ICorProfilerInfo13_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds)        \
+    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) 
 
-#define ICorProfilerInfo13_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \
-    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
+#define ICorProfilerInfo13_SetFunctionIDMapper2(This,pFunc,clientData) \
+    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) 
 
-#define ICorProfilerInfo13_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) )
+#define ICorProfilerInfo13_GetStringLayout2(This,pStringLengthOffset,pBufferOffset)    \
+    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) 
 
-#define ICorProfilerInfo13_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \
-    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) )
+#define ICorProfilerInfo13_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3)    \
+    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) 
 
-#define ICorProfilerInfo13_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo)  \
-    ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) )
+#define ICorProfilerInfo13_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo)    \
+    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) 
 
-#define ICorProfilerInfo13_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange)   \
-    ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) )
+#define ICorProfilerInfo13_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo)     \
+    ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) 
 
-#define ICorProfilerInfo13_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
-    ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) )
+#define ICorProfilerInfo13_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange)      \
+    ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) 
 
-#define ICorProfilerInfo13_EnumModules(This,ppEnum) \
-    ( (This)->lpVtbl -> EnumModules(This,ppEnum) )
+#define ICorProfilerInfo13_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo)        \
+    ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) 
 
-#define ICorProfilerInfo13_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 ICorProfilerInfo13_EnumModules(This,ppEnum)    \
+    ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) 
 
-#define ICorProfilerInfo13_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress)  \
-    ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) )
+#define ICorProfilerInfo13_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 ICorProfilerInfo13_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds)   \
-    ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) )
+#define ICorProfilerInfo13_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress)     \
+    ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) 
 
-#define ICorProfilerInfo13_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags)   \
-    ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) )
+#define ICorProfilerInfo13_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds)      \
+    ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) 
 
+#define ICorProfilerInfo13_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags)  \
+    ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) 
 
-#define ICorProfilerInfo13_EnumThreads(This,ppEnum) \
-    ( (This)->lpVtbl -> EnumThreads(This,ppEnum) )
 
-#define ICorProfilerInfo13_InitializeCurrentThread(This)    \
-    ( (This)->lpVtbl -> InitializeCurrentThread(This) )
+#define ICorProfilerInfo13_EnumThreads(This,ppEnum)    \
+    ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) 
 
-#define ICorProfilerInfo13_RequestReJIT(This,cFunctions,moduleIds,methodIds)    \
-    ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) )
+#define ICorProfilerInfo13_InitializeCurrentThread(This)       \
+    ( (This)->lpVtbl -> InitializeCurrentThread(This) ) 
 
-#define ICorProfilerInfo13_RequestRevert(This,cFunctions,moduleIds,methodIds,status)    \
-    ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) )
+#define ICorProfilerInfo13_RequestReJIT(This,cFunctions,moduleIds,methodIds)   \
+    ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) 
 
-#define ICorProfilerInfo13_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos)   \
-    ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) )
+#define ICorProfilerInfo13_RequestRevert(This,cFunctions,moduleIds,methodIds,status)   \
+    ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) 
 
-#define ICorProfilerInfo13_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \
-    ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) )
+#define ICorProfilerInfo13_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos)      \
+    ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) 
 
-#define ICorProfilerInfo13_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds)   \
-    ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) )
+#define ICorProfilerInfo13_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId)    \
+    ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) 
 
-#define ICorProfilerInfo13_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map)    \
-    ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) )
+#define ICorProfilerInfo13_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds)  \
+    ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) 
 
-#define ICorProfilerInfo13_EnumJITedFunctions2(This,ppEnum) \
-    ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) )
+#define ICorProfilerInfo13_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map)       \
+    ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) 
 
-#define ICorProfilerInfo13_GetObjectSize2(This,objectId,pcSize) \
-    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) )
+#define ICorProfilerInfo13_EnumJITedFunctions2(This,ppEnum)    \
+    ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) 
 
+#define ICorProfilerInfo13_GetObjectSize2(This,objectId,pcSize)        \
+    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) 
 
-#define ICorProfilerInfo13_GetEventMask2(This,pdwEventsLow,pdwEventsHigh)   \
-    ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) )
 
-#define ICorProfilerInfo13_SetEventMask2(This,dwEventsLow,dwEventsHigh) \
-    ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) )
+#define ICorProfilerInfo13_GetEventMask2(This,pdwEventsLow,pdwEventsHigh)      \
+    ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) 
 
+#define ICorProfilerInfo13_SetEventMask2(This,dwEventsLow,dwEventsHigh)        \
+    ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) 
 
-#define ICorProfilerInfo13_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \
-    ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) )
 
+#define ICorProfilerInfo13_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum)        \
+    ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) 
 
-#define ICorProfilerInfo13_ApplyMetaData(This,moduleId) \
-    ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) )
 
-#define ICorProfilerInfo13_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes)    \
-    ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) )
+#define ICorProfilerInfo13_ApplyMetaData(This,moduleId)        \
+    ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) 
 
-#define ICorProfilerInfo13_ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) \
-    ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) )
+#define ICorProfilerInfo13_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes)   \
+    ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) 
 
+#define ICorProfilerInfo13_ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead)    \
+    ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) 
 
-#define ICorProfilerInfo13_IsFunctionDynamic(This,functionId,isDynamic) \
-    ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) )
 
-#define ICorProfilerInfo13_GetFunctionFromIP3(This,ip,functionId,pReJitId)  \
-    ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) )
+#define ICorProfilerInfo13_IsFunctionDynamic(This,functionId,isDynamic)        \
+    ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) 
 
-#define ICorProfilerInfo13_GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName)   \
-    ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) )
+#define ICorProfilerInfo13_GetFunctionFromIP3(This,ip,functionId,pReJitId)     \
+    ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) 
 
+#define ICorProfilerInfo13_GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName)      \
+    ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) 
 
-#define ICorProfilerInfo13_GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) \
-    ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) )
 
-#define ICorProfilerInfo13_GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map)   \
-    ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) )
+#define ICorProfilerInfo13_GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses)    \
+    ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) 
 
-#define ICorProfilerInfo13_GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos)  \
-    ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) )
+#define ICorProfilerInfo13_GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map)  \
+    ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) 
 
+#define ICorProfilerInfo13_GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) \
+    ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) 
 
-#define ICorProfilerInfo13_EnumerateObjectReferences(This,objectId,callback,clientData) \
-    ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) )
 
-#define ICorProfilerInfo13_IsFrozenObject(This,objectId,pbFrozen)   \
-    ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) )
+#define ICorProfilerInfo13_EnumerateObjectReferences(This,objectId,callback,clientData)        \
+    ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) ) 
 
-#define ICorProfilerInfo13_GetLOHObjectSizeThreshold(This,pThreshold)   \
-    ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) )
+#define ICorProfilerInfo13_IsFrozenObject(This,objectId,pbFrozen)      \
+    ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) ) 
 
-#define ICorProfilerInfo13_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds)   \
-    ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) )
+#define ICorProfilerInfo13_GetLOHObjectSizeThreshold(This,pThreshold)  \
+    ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) ) 
 
-#define ICorProfilerInfo13_SuspendRuntime(This) \
-    ( (This)->lpVtbl -> SuspendRuntime(This) )
+#define ICorProfilerInfo13_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds)  \
+    ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) ) 
 
-#define ICorProfilerInfo13_ResumeRuntime(This)  \
-    ( (This)->lpVtbl -> ResumeRuntime(This) )
+#define ICorProfilerInfo13_SuspendRuntime(This)        \
+    ( (This)->lpVtbl -> SuspendRuntime(This) ) 
 
+#define ICorProfilerInfo13_ResumeRuntime(This) \
+    ( (This)->lpVtbl -> ResumeRuntime(This) ) 
 
-#define ICorProfilerInfo13_GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue)   \
-    ( (This)->lpVtbl -> GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) )
 
-#define ICorProfilerInfo13_SetEnvironmentVariable(This,szName,szValue)  \
-    ( (This)->lpVtbl -> SetEnvironmentVariable(This,szName,szValue) )
+#define ICorProfilerInfo13_GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue)      \
+    ( (This)->lpVtbl -> GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) ) 
 
+#define ICorProfilerInfo13_SetEnvironmentVariable(This,szName,szValue) \
+    ( (This)->lpVtbl -> SetEnvironmentVariable(This,szName,szValue) ) 
 
-#define ICorProfilerInfo13_EventPipeStartSession(This,cProviderConfigs,pProviderConfigs,requestRundown,pSession)    \
-    ( (This)->lpVtbl -> EventPipeStartSession(This,cProviderConfigs,pProviderConfigs,requestRundown,pSession) )
 
-#define ICorProfilerInfo13_EventPipeAddProviderToSession(This,session,providerConfig)   \
-    ( (This)->lpVtbl -> EventPipeAddProviderToSession(This,session,providerConfig) )
+#define ICorProfilerInfo13_EventPipeStartSession(This,cProviderConfigs,pProviderConfigs,requestRundown,pSession)       \
+    ( (This)->lpVtbl -> EventPipeStartSession(This,cProviderConfigs,pProviderConfigs,requestRundown,pSession) ) 
 
-#define ICorProfilerInfo13_EventPipeStopSession(This,session)   \
-    ( (This)->lpVtbl -> EventPipeStopSession(This,session) )
+#define ICorProfilerInfo13_EventPipeAddProviderToSession(This,session,providerConfig)  \
+    ( (This)->lpVtbl -> EventPipeAddProviderToSession(This,session,providerConfig) ) 
 
-#define ICorProfilerInfo13_EventPipeCreateProvider(This,providerName,pProvider) \
-    ( (This)->lpVtbl -> EventPipeCreateProvider(This,providerName,pProvider) )
+#define ICorProfilerInfo13_EventPipeStopSession(This,session)  \
+    ( (This)->lpVtbl -> EventPipeStopSession(This,session) ) 
 
-#define ICorProfilerInfo13_EventPipeGetProviderInfo(This,provider,cchName,pcchName,providerName)    \
-    ( (This)->lpVtbl -> EventPipeGetProviderInfo(This,provider,cchName,pcchName,providerName) )
+#define ICorProfilerInfo13_EventPipeCreateProvider(This,providerName,pProvider)        \
+    ( (This)->lpVtbl -> EventPipeCreateProvider(This,providerName,pProvider) ) 
 
-#define ICorProfilerInfo13_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 ICorProfilerInfo13_EventPipeGetProviderInfo(This,provider,cchName,pcchName,providerName)       \
+    ( (This)->lpVtbl -> EventPipeGetProviderInfo(This,provider,cchName,pcchName,providerName) ) 
 
-#define ICorProfilerInfo13_EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId)    \
-    ( (This)->lpVtbl -> EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId) )
+#define ICorProfilerInfo13_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 ICorProfilerInfo13_CreateHandle(This,object,type,pHandle)    \
-    ( (This)->lpVtbl -> CreateHandle(This,object,type,pHandle) )
+#define ICorProfilerInfo13_EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId)   \
+    ( (This)->lpVtbl -> EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId) ) 
 
-#define ICorProfilerInfo13_DestroyHandle(This,handle)    \
-    ( (This)->lpVtbl -> DestroyHandle(This,handle) )
 
-#define ICorProfilerInfo13_GetObjectIDFromHandle(This,handle,pObject)    \
-    ( (This)->lpVtbl -> GetObjectIDFromHandle(This,handle,pObject) )
+#define ICorProfilerInfo13_CreateHandle(This,object,type,pHandle)      \
+    ( (This)->lpVtbl -> CreateHandle(This,object,type,pHandle) ) 
 
+#define ICorProfilerInfo13_DestroyHandle(This,handle)  \
+    ( (This)->lpVtbl -> DestroyHandle(This,handle) ) 
 
+#define ICorProfilerInfo13_GetObjectIDFromHandle(This,handle,pObject)  \
+    ( (This)->lpVtbl -> GetObjectIDFromHandle(This,handle,pObject) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerInfo13_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerInfo13_INTERFACE_DEFINED__ */
 
 
-#ifndef __ICorProfilerMethodEnum_INTERFACE_DEFINED__
-#define __ICorProfilerMethodEnum_INTERFACE_DEFINED__
+#ifndef __ICorProfilerInfo14_INTERFACE_DEFINED__
+#define __ICorProfilerInfo14_INTERFACE_DEFINED__
 
-/* interface ICorProfilerMethodEnum */
-/* [local][unique][uuid][object] */
+/* interface ICorProfilerInfo14 */
+/* [local][unique][uuid][object] */ 
 
 
-EXTERN_C const IID IID_ICorProfilerMethodEnum;
+EXTERN_C const IID IID_ICorProfilerInfo14;
 
 #if defined(__cplusplus) && !defined(CINTERFACE)
-
-    MIDL_INTERFACE("FCCEE788-0088-454B-A811-C99F298D1942")
-    ICorProfilerMethodEnum : public IUnknown
+    
+    MIDL_INTERFACE("F460E352-D76D-4FE9-835F-F6AF9D6E862D")
+    ICorProfilerInfo14 : public ICorProfilerInfo13
     {
     public:
-        virtual HRESULT STDMETHODCALLTYPE Skip(
-            /* [in] */ ULONG celt) = 0;
-
-        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
-
-        virtual HRESULT STDMETHODCALLTYPE Clone(
-            /* [out] */ ICorProfilerMethodEnum **ppEnum) = 0;
-
-        virtual HRESULT STDMETHODCALLTYPE GetCount(
-            /* [out] */ ULONG *pcelt) = 0;
-
-        virtual HRESULT STDMETHODCALLTYPE Next(
-            /* [in] */ ULONG celt,
-            /* [length_is][size_is][out] */ COR_PRF_METHOD elements[  ],
-            /* [out] */ ULONG *pceltFetched) = 0;
-
+        virtual HRESULT STDMETHODCALLTYPE EnumerateNonGCObjects( 
+            /* [out] */ ICorProfilerObjectEnum **ppEnum) = 0;
+        
     };
+    
+    
+#else  /* C style interface */
 
-
-#else   /* C style interface */
-
-    typedef struct ICorProfilerMethodEnumVtbl
+    typedef struct ICorProfilerInfo14Vtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
-            ICorProfilerMethodEnum * This,
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
+            ICorProfilerInfo14 * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
+            ICorProfilerInfo14 * This);
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
+            ICorProfilerInfo14 * This);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ObjectID objectId,
+            /* [out] */ ClassID *pClassId);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ModuleID moduleId,
+            /* [in] */ mdTypeDef typeDef,
+            /* [out] */ ClassID *pClassId);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ FunctionID functionId,
+            /* [out] */ LPCBYTE *pStart,
+            /* [out] */ ULONG *pcSize);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask )( 
+            ICorProfilerInfo14 * This,
+            /* [out] */ DWORD *pdwEvents);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ LPCBYTE ip,
+            /* [out] */ FunctionID *pFunctionId);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ModuleID moduleId,
+            /* [in] */ mdToken token,
+            /* [out] */ FunctionID *pFunctionId);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
+        HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ThreadID threadId,
+            /* [out] */ HANDLE *phThread);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ObjectID objectId,
+            /* [out] */ ULONG *pcSize);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
+        HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ClassID classId,
+            /* [out] */ CorElementType *pBaseElemType,
+            /* [out] */ ClassID *pBaseClassId,
+            /* [out] */ ULONG *pcRank);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ThreadID threadId,
+            /* [out] */ DWORD *pdwWin32ThreadId);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
+        HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( 
+            ICorProfilerInfo14 * This,
+            /* [out] */ ThreadID *pThreadId);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ClassID classId,
+            /* [out] */ ModuleID *pModuleId,
+            /* [out] */ mdTypeDef *pTypeDefToken);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ FunctionID functionId,
+            /* [out] */ ClassID *pClassId,
+            /* [out] */ ModuleID *pModuleId,
+            /* [out] */ mdToken *pToken);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ DWORD dwEvents);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ FunctionEnter *pFuncEnter,
+            /* [in] */ FunctionLeave *pFuncLeave,
+            /* [in] */ FunctionTailcall *pFuncTailcall);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ FunctionIDMapper *pFunc);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
+        HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ FunctionID functionId,
+            /* [in] */ REFIID riid,
+            /* [out] */ IUnknown **ppImport,
+            /* [out] */ mdToken *pToken);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ModuleID moduleId,
+            /* [out] */ LPCBYTE *ppBaseLoadAddress,
+            /* [in] */ ULONG cchName,
+            /* [out] */ ULONG *pcchName,
+            /* [annotation][out] */ 
+            _Out_writes_to_(cchName, *pcchName)  WCHAR szName[  ],
+            /* [out] */ AssemblyID *pAssemblyId);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
+        HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ModuleID moduleId,
+            /* [in] */ DWORD dwOpenFlags,
+            /* [in] */ REFIID riid,
+            /* [out] */ IUnknown **ppOut);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ModuleID moduleId,
+            /* [in] */ mdMethodDef methodId,
+            /* [out] */ LPCBYTE *ppMethodHeader,
+            /* [out] */ ULONG *pcbMethodSize);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
+        HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ModuleID moduleId,
+            /* [out] */ IMethodMalloc **ppMalloc);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
+        HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ModuleID moduleId,
+            /* [in] */ mdMethodDef methodid,
+            /* [in] */ LPCBYTE pbNewILMethodHeader);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ AppDomainID appDomainId,
+            /* [in] */ ULONG cchName,
+            /* [out] */ ULONG *pcchName,
+            /* [annotation][out] */ 
+            _Out_writes_to_(cchName, *pcchName)  WCHAR szName[  ],
+            /* [out] */ ProcessID *pProcessId);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ AssemblyID assemblyId,
+            /* [in] */ ULONG cchName,
+            /* [out] */ ULONG *pcchName,
+            /* [annotation][out] */ 
+            _Out_writes_to_(cchName, *pcchName)  WCHAR szName[  ],
+            /* [out] */ AppDomainID *pAppDomainId,
+            /* [out] */ ModuleID *pModuleId);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ FunctionID functionId);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
+        HRESULT ( STDMETHODCALLTYPE *ForceGC )( 
+            ICorProfilerInfo14 * This);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap)
+        HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ FunctionID functionId,
+            /* [in] */ BOOL fStartJit,
+            /* [in] */ ULONG cILMapEntries,
+            /* [size_is][in] */ COR_IL_MAP rgILMapEntries[  ]);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( 
+            ICorProfilerInfo14 * This,
+            /* [out] */ IUnknown **ppicd);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
+        HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( 
+            ICorProfilerInfo14 * This,
+            /* [out] */ IUnknown **ppicd);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ThreadID threadId,
+            /* [out] */ ContextID *pContextId);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ BOOL fThisThreadOnly,
+            /* [out] */ DWORD *pdwProfilerContext);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
+        HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ DWORD dwProfilerContext);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping)
+        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ FunctionID functionId,
+            /* [in] */ ULONG32 cMap,
+            /* [out] */ ULONG32 *pcMap,
+            /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[  ]);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
+        HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ThreadID thread,
+            /* [in] */ StackSnapshotCallback *callback,
+            /* [in] */ ULONG32 infoFlags,
+            /* [in] */ void *clientData,
+            /* [size_is][in] */ BYTE context[  ],
+            /* [in] */ ULONG32 contextSize);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ FunctionEnter2 *pFuncEnter,
+            /* [in] */ FunctionLeave2 *pFuncLeave,
+            /* [in] */ FunctionTailcall2 *pFuncTailcall);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ FunctionID funcId,
+            /* [in] */ COR_PRF_FRAME_INFO frameInfo,
+            /* [out] */ ClassID *pClassId,
+            /* [out] */ ModuleID *pModuleId,
+            /* [out] */ mdToken *pToken,
+            /* [in] */ ULONG32 cTypeArgs,
+            /* [out] */ ULONG32 *pcTypeArgs,
+            /* [out] */ ClassID typeArgs[  ]);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( 
+            ICorProfilerInfo14 * This,
+            /* [out] */ ULONG *pBufferLengthOffset,
+            /* [out] */ ULONG *pStringLengthOffset,
+            /* [out] */ ULONG *pBufferOffset);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ClassID classID,
+            /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[  ],
+            /* [in] */ ULONG cFieldOffset,
+            /* [out] */ ULONG *pcFieldOffset,
+            /* [out] */ ULONG *pulClassSize);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ClassID classId,
+            /* [out] */ ModuleID *pModuleId,
+            /* [out] */ mdTypeDef *pTypeDefToken,
+            /* [out] */ ClassID *pParentClassId,
+            /* [in] */ ULONG32 cNumTypeArgs,
+            /* [out] */ ULONG32 *pcNumTypeArgs,
+            /* [out] */ ClassID typeArgs[  ]);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ FunctionID functionID,
+            /* [in] */ ULONG32 cCodeInfos,
+            /* [out] */ ULONG32 *pcCodeInfos,
+            /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[  ]);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs)
+        HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ModuleID moduleID,
+            /* [in] */ mdTypeDef typeDef,
+            /* [in] */ ULONG32 cTypeArgs,
+            /* [size_is][in] */ ClassID typeArgs[  ],
+            /* [out] */ ClassID *pClassID);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ModuleID moduleID,
+            /* [in] */ mdMethodDef funcDef,
+            /* [in] */ ClassID classId,
+            /* [in] */ ULONG32 cTypeArgs,
+            /* [size_is][in] */ ClassID typeArgs[  ],
+            /* [out] */ FunctionID *pFunctionID);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
+        HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ModuleID moduleID,
+            /* [out] */ ICorProfilerObjectEnum **ppEnum);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ObjectID objectId,
+            /* [in] */ ULONG32 cDimensions,
+            /* [size_is][out] */ ULONG32 pDimensionSizes[  ],
+            /* [size_is][out] */ int pDimensionLowerBounds[  ],
+            /* [out] */ BYTE **ppData);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
+        HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ClassID classId,
+            /* [out] */ ULONG32 *pBufferOffset);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ThreadID threadId,
+            /* [out] */ AppDomainID *pAppDomainId);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ClassID classId,
+            /* [in] */ mdFieldDef fieldToken,
+            /* [out] */ void **ppAddress);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ClassID classId,
+            /* [in] */ mdFieldDef fieldToken,
+            /* [in] */ AppDomainID appDomainId,
+            /* [out] */ void **ppAddress);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ClassID classId,
+            /* [in] */ mdFieldDef fieldToken,
+            /* [in] */ ThreadID threadId,
+            /* [out] */ void **ppAddress);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
+        HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ClassID classId,
+            /* [in] */ mdFieldDef fieldToken,
+            /* [in] */ ContextID contextId,
+            /* [out] */ void **ppAddress);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ClassID classId,
+            /* [in] */ mdFieldDef fieldToken,
+            /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds)
+        HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ULONG cObjectRanges,
+            /* [out] */ ULONG *pcObjectRanges,
+            /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[  ]);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ObjectID objectId,
+            /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( 
+            ICorProfilerInfo14 * This,
+            /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( 
+            ICorProfilerInfo14 * This,
+            /* [out] */ ICorProfilerFunctionEnum **ppEnum);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
+        HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ DWORD dwExpectedCompletionMilliseconds);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
+        HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ FunctionIDMapper2 *pFunc,
+            /* [in] */ void *clientData);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
+        HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( 
+            ICorProfilerInfo14 * This,
+            /* [out] */ ULONG *pStringLengthOffset,
+            /* [out] */ ULONG *pBufferOffset);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ FunctionEnter3 *pFuncEnter3,
+            /* [in] */ FunctionLeave3 *pFuncLeave3,
+            /* [in] */ FunctionTailcall3 *pFuncTailcall3);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
+        HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
+            /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
+            /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionEnter3Info)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( 
+            ICorProfilerInfo14 * 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);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionLeave3Info)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ FunctionID functionId,
+            /* [in] */ COR_PRF_ELT_INFO eltInfo,
+            /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
+            /* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ FunctionID functionId,
+            /* [in] */ COR_PRF_ELT_INFO eltInfo,
+            /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
+        HRESULT ( STDMETHODCALLTYPE *EnumModules )( 
+            ICorProfilerInfo14 * This,
+            /* [out] */ ICorProfilerModuleEnum **ppEnum);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
+        HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( 
+            ICorProfilerInfo14 * This,
+            /* [out] */ USHORT *pClrInstanceId,
+            /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
+            /* [out] */ USHORT *pMajorVersion,
+            /* [out] */ USHORT *pMinorVersion,
+            /* [out] */ USHORT *pBuildNumber,
+            /* [out] */ USHORT *pQFEVersion,
+            /* [in] */ ULONG cchVersionString,
+            /* [out] */ ULONG *pcchVersionString,
+            /* [annotation][out] */ 
+            _Out_writes_to_(cchVersionString, *pcchVersionString)  WCHAR szVersionString[  ]);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
+        HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ClassID classId,
+            /* [in] */ mdFieldDef fieldToken,
+            /* [in] */ AppDomainID appDomainId,
+            /* [in] */ ThreadID threadId,
+            /* [out] */ void **ppAddress);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetAppDomainsContainingModule)
+        HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ModuleID moduleId,
+            /* [in] */ ULONG32 cAppDomainIds,
+            /* [out] */ ULONG32 *pcAppDomainIds,
+            /* [length_is][size_is][out] */ AppDomainID appDomainIds[  ]);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2)
+        HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ModuleID moduleId,
+            /* [out] */ LPCBYTE *ppBaseLoadAddress,
+            /* [in] */ ULONG cchName,
+            /* [out] */ ULONG *pcchName,
+            /* [annotation][out] */ 
+            _Out_writes_to_(cchName, *pcchName)  WCHAR szName[  ],
+            /* [out] */ AssemblyID *pAssemblyId,
+            /* [out] */ DWORD *pdwModuleFlags);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
+        HRESULT ( STDMETHODCALLTYPE *EnumThreads )( 
+            ICorProfilerInfo14 * This,
+            /* [out] */ ICorProfilerThreadEnum **ppEnum);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
+        HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( 
+            ICorProfilerInfo14 * This);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
+        HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ULONG cFunctions,
+            /* [size_is][in] */ ModuleID moduleIds[  ],
+            /* [size_is][in] */ mdMethodDef methodIds[  ]);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestRevert)
+        HRESULT ( STDMETHODCALLTYPE *RequestRevert )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ULONG cFunctions,
+            /* [size_is][in] */ ModuleID moduleIds[  ],
+            /* [size_is][in] */ mdMethodDef methodIds[  ],
+            /* [size_is][out] */ HRESULT status[  ]);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetCodeInfo3)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ FunctionID functionID,
+            /* [in] */ ReJITID reJitId,
+            /* [in] */ ULONG32 cCodeInfos,
+            /* [out] */ ULONG32 *pcCodeInfos,
+            /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[  ]);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ LPCBYTE ip,
+            /* [out] */ FunctionID *pFunctionId,
+            /* [out] */ ReJITID *pReJitId);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetReJITIDs)
+        HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ FunctionID functionId,
+            /* [in] */ ULONG cReJitIds,
+            /* [out] */ ULONG *pcReJitIds,
+            /* [length_is][size_is][out] */ ReJITID reJitIds[  ]);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetILToNativeMapping2)
+        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( 
+            ICorProfilerInfo14 * 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[  ]);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
+        HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( 
+            ICorProfilerInfo14 * This,
+            /* [out] */ ICorProfilerFunctionEnum **ppEnum);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ObjectID objectId,
+            /* [out] */ SIZE_T *pcSize);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2)
+        HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( 
+            ICorProfilerInfo14 * This,
+            /* [out] */ DWORD *pdwEventsLow,
+            /* [out] */ DWORD *pdwEventsHigh);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2)
+        HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ DWORD dwEventsLow,
+            /* [in] */ DWORD dwEventsHigh);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod)
+        HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ModuleID inlinersModuleId,
+            /* [in] */ ModuleID inlineeModuleId,
+            /* [in] */ mdMethodDef inlineeMethodId,
+            /* [out] */ BOOL *incompleteData,
+            /* [out] */ ICorProfilerMethodEnum **ppEnum);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData)
+        HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ModuleID moduleId);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength)
+        HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ModuleID moduleId,
+            /* [out] */ DWORD *pCountSymbolBytes);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols)
+        HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ModuleID moduleId,
+            /* [in] */ DWORD symbolsReadOffset,
+            /* [out] */ BYTE *pSymbolBytes,
+            /* [in] */ DWORD countSymbolBytes,
+            /* [out] */ DWORD *pCountSymbolBytesRead);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic)
+        HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ FunctionID functionId,
+            /* [out] */ BOOL *isDynamic);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3)
+        HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ LPCBYTE ip,
+            /* [out] */ FunctionID *functionId,
+            /* [out] */ ReJITID *pReJitId);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo)
+        HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ FunctionID functionId,
+            /* [out] */ ModuleID *moduleId,
+            /* [out] */ PCCOR_SIGNATURE *ppvSig,
+            /* [out] */ ULONG *pbSig,
+            /* [in] */ ULONG cchName,
+            /* [out] */ ULONG *pcchName,
+            /* [out] */ WCHAR wszName[  ]);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetNativeCodeStartAddresses)
+        HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( 
+            ICorProfilerInfo14 * This,
+            FunctionID functionID,
+            ReJITID reJitId,
+            ULONG32 cCodeStartAddresses,
+            ULONG32 *pcCodeStartAddresses,
+            UINT_PTR codeStartAddresses[  ]);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetILToNativeMapping3)
+        HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( 
+            ICorProfilerInfo14 * This,
+            UINT_PTR pNativeCodeStartAddress,
+            ULONG32 cMap,
+            ULONG32 *pcMap,
+            COR_DEBUG_IL_TO_NATIVE_MAP map[  ]);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetCodeInfo4)
+        HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( 
+            ICorProfilerInfo14 * This,
+            UINT_PTR pNativeCodeStartAddress,
+            ULONG32 cCodeInfos,
+            ULONG32 *pcCodeInfos,
+            COR_PRF_CODE_INFO codeInfos[  ]);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, EnumerateObjectReferences)
+        HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )( 
+            ICorProfilerInfo14 * This,
+            ObjectID objectId,
+            ObjectReferenceCallback callback,
+            void *clientData);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, IsFrozenObject)
+        HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )( 
+            ICorProfilerInfo14 * This,
+            ObjectID objectId,
+            BOOL *pbFrozen);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, GetLOHObjectSizeThreshold)
+        HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )( 
+            ICorProfilerInfo14 * This,
+            DWORD *pThreshold);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, RequestReJITWithInliners)
+        HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ DWORD dwRejitFlags,
+            /* [in] */ ULONG cFunctions,
+            /* [size_is][in] */ ModuleID moduleIds[  ],
+            /* [size_is][in] */ mdMethodDef methodIds[  ]);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, SuspendRuntime)
+        HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )( 
+            ICorProfilerInfo14 * This);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo10, ResumeRuntime)
+        HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )( 
+            ICorProfilerInfo14 * This);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo11, GetEnvironmentVariable)
+        HRESULT ( STDMETHODCALLTYPE *GetEnvironmentVariable )( 
+            ICorProfilerInfo14 * This,
+            /* [string][in] */ const WCHAR *szName,
+            /* [in] */ ULONG cchValue,
+            /* [out] */ ULONG *pcchValue,
+            /* [annotation][out] */ 
+            _Out_writes_to_(cchValue, *pcchValue)  WCHAR szValue[  ]);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo11, SetEnvironmentVariable)
+        HRESULT ( STDMETHODCALLTYPE *SetEnvironmentVariable )( 
+            ICorProfilerInfo14 * This,
+            /* [string][in] */ const WCHAR *szName,
+            /* [string][in] */ const WCHAR *szValue);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeStartSession)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeStartSession )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ UINT32 cProviderConfigs,
+            /* [size_is][in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[  ],
+            /* [in] */ BOOL requestRundown,
+            /* [out] */ EVENTPIPE_SESSION *pSession);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeAddProviderToSession)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeAddProviderToSession )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ EVENTPIPE_SESSION session,
+            /* [in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG providerConfig);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeStopSession)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeStopSession )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ EVENTPIPE_SESSION session);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeCreateProvider)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeCreateProvider )( 
+            ICorProfilerInfo14 * This,
+            /* [string][in] */ const WCHAR *providerName,
+            /* [out] */ EVENTPIPE_PROVIDER *pProvider);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeGetProviderInfo)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeGetProviderInfo )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ EVENTPIPE_PROVIDER provider,
+            /* [in] */ ULONG cchName,
+            /* [out] */ ULONG *pcchName,
+            /* [annotation][out] */ 
+            _Out_writes_to_(cchName, *pcchName)  WCHAR providerName[  ]);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeDefineEvent)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeDefineEvent )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ EVENTPIPE_PROVIDER provider,
+            /* [string][in] */ const WCHAR *eventName,
+            /* [in] */ UINT32 eventID,
+            /* [in] */ UINT64 keywords,
+            /* [in] */ UINT32 eventVersion,
+            /* [in] */ UINT32 level,
+            /* [in] */ UINT8 opcode,
+            /* [in] */ BOOL needStack,
+            /* [in] */ UINT32 cParamDescs,
+            /* [size_is][in] */ COR_PRF_EVENTPIPE_PARAM_DESC pParamDescs[  ],
+            /* [out] */ EVENTPIPE_EVENT *pEvent);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeWriteEvent)
+        HRESULT ( STDMETHODCALLTYPE *EventPipeWriteEvent )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ EVENTPIPE_EVENT event,
+            /* [in] */ UINT32 cData,
+            /* [size_is][in] */ COR_PRF_EVENT_DATA data[  ],
+            /* [in] */ LPCGUID pActivityId,
+            /* [in] */ LPCGUID pRelatedActivityId);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo13, CreateHandle)
+        HRESULT ( STDMETHODCALLTYPE *CreateHandle )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ObjectID object,
+            /* [in] */ COR_PRF_HANDLE_TYPE type,
+            /* [out] */ ObjectHandleID *pHandle);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo13, DestroyHandle)
+        HRESULT ( STDMETHODCALLTYPE *DestroyHandle )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ObjectHandleID handle);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo13, GetObjectIDFromHandle)
+        HRESULT ( STDMETHODCALLTYPE *GetObjectIDFromHandle )( 
+            ICorProfilerInfo14 * This,
+            /* [in] */ ObjectHandleID handle,
+            /* [out] */ ObjectID *pObject);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerInfo14, EnumerateNonGCObjects)
+        HRESULT ( STDMETHODCALLTYPE *EnumerateNonGCObjects )( 
+            ICorProfilerInfo14 * This,
+            /* [out] */ ICorProfilerObjectEnum **ppEnum);
+        
+        END_INTERFACE
+    } ICorProfilerInfo14Vtbl;
+
+    interface ICorProfilerInfo14
+    {
+        CONST_VTBL struct ICorProfilerInfo14Vtbl *lpVtbl;
+    };
+
+    
+
+#ifdef COBJMACROS
+
+
+#define ICorProfilerInfo14_QueryInterface(This,riid,ppvObject) \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
+
+#define ICorProfilerInfo14_AddRef(This)        \
+    ( (This)->lpVtbl -> AddRef(This) ) 
+
+#define ICorProfilerInfo14_Release(This)       \
+    ( (This)->lpVtbl -> Release(This) ) 
+
+
+#define ICorProfilerInfo14_GetClassFromObject(This,objectId,pClassId)  \
+    ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) 
+
+#define ICorProfilerInfo14_GetClassFromToken(This,moduleId,typeDef,pClassId)   \
+    ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) 
+
+#define ICorProfilerInfo14_GetCodeInfo(This,functionId,pStart,pcSize)  \
+    ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) 
+
+#define ICorProfilerInfo14_GetEventMask(This,pdwEvents)        \
+    ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) 
+
+#define ICorProfilerInfo14_GetFunctionFromIP(This,ip,pFunctionId)      \
+    ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) 
+
+#define ICorProfilerInfo14_GetFunctionFromToken(This,moduleId,token,pFunctionId)       \
+    ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) 
+
+#define ICorProfilerInfo14_GetHandleFromThread(This,threadId,phThread) \
+    ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) 
+
+#define ICorProfilerInfo14_GetObjectSize(This,objectId,pcSize) \
+    ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) 
+
+#define ICorProfilerInfo14_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank)        \
+    ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) 
+
+#define ICorProfilerInfo14_GetThreadInfo(This,threadId,pdwWin32ThreadId)       \
+    ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) 
+
+#define ICorProfilerInfo14_GetCurrentThreadID(This,pThreadId)  \
+    ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) 
+
+#define ICorProfilerInfo14_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken)        \
+    ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) 
+
+#define ICorProfilerInfo14_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken)  \
+    ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) 
+
+#define ICorProfilerInfo14_SetEventMask(This,dwEvents) \
+    ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) 
+
+#define ICorProfilerInfo14_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall)        \
+    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) 
+
+#define ICorProfilerInfo14_SetFunctionIDMapper(This,pFunc)     \
+    ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) 
+
+#define ICorProfilerInfo14_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken)       \
+    ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) 
+
+#define ICorProfilerInfo14_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId)  \
+    ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) 
+
+#define ICorProfilerInfo14_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut)     \
+    ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) 
+
+#define ICorProfilerInfo14_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize)      \
+    ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) 
+
+#define ICorProfilerInfo14_GetILFunctionBodyAllocator(This,moduleId,ppMalloc)  \
+    ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) 
+
+#define ICorProfilerInfo14_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader)       \
+    ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) 
+
+#define ICorProfilerInfo14_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId)       \
+    ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) 
+
+#define ICorProfilerInfo14_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId)     \
+    ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) 
+
+#define ICorProfilerInfo14_SetFunctionReJIT(This,functionId)   \
+    ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) 
+
+#define ICorProfilerInfo14_ForceGC(This)       \
+    ( (This)->lpVtbl -> ForceGC(This) ) 
+
+#define ICorProfilerInfo14_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries)    \
+    ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) 
+
+#define ICorProfilerInfo14_GetInprocInspectionInterface(This,ppicd)    \
+    ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) 
+
+#define ICorProfilerInfo14_GetInprocInspectionIThisThread(This,ppicd)  \
+    ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) 
+
+#define ICorProfilerInfo14_GetThreadContext(This,threadId,pContextId)  \
+    ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) 
+
+#define ICorProfilerInfo14_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext)       \
+    ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) 
+
+#define ICorProfilerInfo14_EndInprocDebugging(This,dwProfilerContext)  \
+    ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) 
+
+#define ICorProfilerInfo14_GetILToNativeMapping(This,functionId,cMap,pcMap,map)        \
+    ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) 
+
+
+#define ICorProfilerInfo14_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize)      \
+    ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) 
+
+#define ICorProfilerInfo14_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall)       \
+    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) 
+
+#define ICorProfilerInfo14_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs)     \
+    ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) 
+
+#define ICorProfilerInfo14_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \
+    ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) 
+
+#define ICorProfilerInfo14_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize)   \
+    ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) 
+
+#define ICorProfilerInfo14_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs)    \
+    ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) 
+
+#define ICorProfilerInfo14_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos)      \
+    ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) 
+
+#define ICorProfilerInfo14_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID)     \
+    ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) 
+
+#define ICorProfilerInfo14_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID)       \
+    ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) 
+
+#define ICorProfilerInfo14_EnumModuleFrozenObjects(This,moduleID,ppEnum)       \
+    ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) 
+
+#define ICorProfilerInfo14_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData)  \
+    ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) 
+
+#define ICorProfilerInfo14_GetBoxClassLayout(This,classId,pBufferOffset)       \
+    ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) 
+
+#define ICorProfilerInfo14_GetThreadAppDomain(This,threadId,pAppDomainId)      \
+    ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) 
+
+#define ICorProfilerInfo14_GetRVAStaticAddress(This,classId,fieldToken,ppAddress)      \
+    ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) 
+
+#define ICorProfilerInfo14_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress)    \
+    ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) 
+
+#define ICorProfilerInfo14_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress)  \
+    ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) 
+
+#define ICorProfilerInfo14_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress)        \
+    ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) 
+
+#define ICorProfilerInfo14_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo)      \
+    ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) 
+
+#define ICorProfilerInfo14_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges)       \
+    ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) 
+
+#define ICorProfilerInfo14_GetObjectGeneration(This,objectId,range)    \
+    ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) 
+
+#define ICorProfilerInfo14_GetNotifiedExceptionClauseInfo(This,pinfo)  \
+    ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) 
+
+
+#define ICorProfilerInfo14_EnumJITedFunctions(This,ppEnum)     \
+    ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) 
+
+#define ICorProfilerInfo14_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds)        \
+    ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) 
+
+#define ICorProfilerInfo14_SetFunctionIDMapper2(This,pFunc,clientData) \
+    ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) 
+
+#define ICorProfilerInfo14_GetStringLayout2(This,pStringLengthOffset,pBufferOffset)    \
+    ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) 
+
+#define ICorProfilerInfo14_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3)    \
+    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) 
+
+#define ICorProfilerInfo14_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo)    \
+    ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) 
+
+#define ICorProfilerInfo14_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo)     \
+    ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) 
+
+#define ICorProfilerInfo14_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange)      \
+    ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) 
+
+#define ICorProfilerInfo14_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo)        \
+    ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) 
+
+#define ICorProfilerInfo14_EnumModules(This,ppEnum)    \
+    ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) 
+
+#define ICorProfilerInfo14_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 ICorProfilerInfo14_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress)     \
+    ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) 
+
+#define ICorProfilerInfo14_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds)      \
+    ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) 
+
+#define ICorProfilerInfo14_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags)  \
+    ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) 
+
+
+#define ICorProfilerInfo14_EnumThreads(This,ppEnum)    \
+    ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) 
+
+#define ICorProfilerInfo14_InitializeCurrentThread(This)       \
+    ( (This)->lpVtbl -> InitializeCurrentThread(This) ) 
+
+#define ICorProfilerInfo14_RequestReJIT(This,cFunctions,moduleIds,methodIds)   \
+    ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) 
+
+#define ICorProfilerInfo14_RequestRevert(This,cFunctions,moduleIds,methodIds,status)   \
+    ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) 
+
+#define ICorProfilerInfo14_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos)      \
+    ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) 
+
+#define ICorProfilerInfo14_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId)    \
+    ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) 
+
+#define ICorProfilerInfo14_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds)  \
+    ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) 
+
+#define ICorProfilerInfo14_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map)       \
+    ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) 
+
+#define ICorProfilerInfo14_EnumJITedFunctions2(This,ppEnum)    \
+    ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) 
+
+#define ICorProfilerInfo14_GetObjectSize2(This,objectId,pcSize)        \
+    ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) 
+
+
+#define ICorProfilerInfo14_GetEventMask2(This,pdwEventsLow,pdwEventsHigh)      \
+    ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) 
+
+#define ICorProfilerInfo14_SetEventMask2(This,dwEventsLow,dwEventsHigh)        \
+    ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) 
+
+
+#define ICorProfilerInfo14_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum)        \
+    ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) 
+
+
+#define ICorProfilerInfo14_ApplyMetaData(This,moduleId)        \
+    ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) 
+
+#define ICorProfilerInfo14_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes)   \
+    ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) 
+
+#define ICorProfilerInfo14_ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead)    \
+    ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) 
+
+
+#define ICorProfilerInfo14_IsFunctionDynamic(This,functionId,isDynamic)        \
+    ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) 
 
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
-            ICorProfilerMethodEnum * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
-            ICorProfilerMethodEnum * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Skip )(
-            ICorProfilerMethodEnum * This,
-            /* [in] */ ULONG celt);
-
-        HRESULT ( STDMETHODCALLTYPE *Reset )(
-            ICorProfilerMethodEnum * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Clone )(
-            ICorProfilerMethodEnum * This,
-            /* [out] */ ICorProfilerMethodEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCount )(
-            ICorProfilerMethodEnum * This,
-            /* [out] */ ULONG *pcelt);
-
-        HRESULT ( STDMETHODCALLTYPE *Next )(
-            ICorProfilerMethodEnum * This,
-            /* [in] */ ULONG celt,
-            /* [length_is][size_is][out] */ COR_PRF_METHOD elements[  ],
-            /* [out] */ ULONG *pceltFetched);
-
-        END_INTERFACE
-    } ICorProfilerMethodEnumVtbl;
-
-    interface ICorProfilerMethodEnum
-    {
-        CONST_VTBL struct ICorProfilerMethodEnumVtbl *lpVtbl;
-    };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ICorProfilerMethodEnum_QueryInterface(This,riid,ppvObject)  \
-    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ICorProfilerMethodEnum_AddRef(This) \
-    ( (This)->lpVtbl -> AddRef(This) )
-
-#define ICorProfilerMethodEnum_Release(This)    \
-    ( (This)->lpVtbl -> Release(This) )
-
-
-#define ICorProfilerMethodEnum_Skip(This,celt)  \
-    ( (This)->lpVtbl -> Skip(This,celt) )
-
-#define ICorProfilerMethodEnum_Reset(This)  \
-    ( (This)->lpVtbl -> Reset(This) )
-
-#define ICorProfilerMethodEnum_Clone(This,ppEnum)   \
-    ( (This)->lpVtbl -> Clone(This,ppEnum) )
-
-#define ICorProfilerMethodEnum_GetCount(This,pcelt) \
-    ( (This)->lpVtbl -> GetCount(This,pcelt) )
-
-#define ICorProfilerMethodEnum_Next(This,celt,elements,pceltFetched)    \
-    ( (This)->lpVtbl -> Next(This,celt,elements,pceltFetched) )
+#define ICorProfilerInfo14_GetFunctionFromIP3(This,ip,functionId,pReJitId)     \
+    ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) 
+
+#define ICorProfilerInfo14_GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName)      \
+    ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) 
+
+
+#define ICorProfilerInfo14_GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses)    \
+    ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) 
+
+#define ICorProfilerInfo14_GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map)  \
+    ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) 
+
+#define ICorProfilerInfo14_GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) \
+    ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) 
+
+
+#define ICorProfilerInfo14_EnumerateObjectReferences(This,objectId,callback,clientData)        \
+    ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) ) 
+
+#define ICorProfilerInfo14_IsFrozenObject(This,objectId,pbFrozen)      \
+    ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) ) 
+
+#define ICorProfilerInfo14_GetLOHObjectSizeThreshold(This,pThreshold)  \
+    ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) ) 
+
+#define ICorProfilerInfo14_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds)  \
+    ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) ) 
+
+#define ICorProfilerInfo14_SuspendRuntime(This)        \
+    ( (This)->lpVtbl -> SuspendRuntime(This) ) 
+
+#define ICorProfilerInfo14_ResumeRuntime(This) \
+    ( (This)->lpVtbl -> ResumeRuntime(This) ) 
+
+
+#define ICorProfilerInfo14_GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue)      \
+    ( (This)->lpVtbl -> GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) ) 
+
+#define ICorProfilerInfo14_SetEnvironmentVariable(This,szName,szValue) \
+    ( (This)->lpVtbl -> SetEnvironmentVariable(This,szName,szValue) ) 
+
+
+#define ICorProfilerInfo14_EventPipeStartSession(This,cProviderConfigs,pProviderConfigs,requestRundown,pSession)       \
+    ( (This)->lpVtbl -> EventPipeStartSession(This,cProviderConfigs,pProviderConfigs,requestRundown,pSession) ) 
+
+#define ICorProfilerInfo14_EventPipeAddProviderToSession(This,session,providerConfig)  \
+    ( (This)->lpVtbl -> EventPipeAddProviderToSession(This,session,providerConfig) ) 
+
+#define ICorProfilerInfo14_EventPipeStopSession(This,session)  \
+    ( (This)->lpVtbl -> EventPipeStopSession(This,session) ) 
+
+#define ICorProfilerInfo14_EventPipeCreateProvider(This,providerName,pProvider)        \
+    ( (This)->lpVtbl -> EventPipeCreateProvider(This,providerName,pProvider) ) 
+
+#define ICorProfilerInfo14_EventPipeGetProviderInfo(This,provider,cchName,pcchName,providerName)       \
+    ( (This)->lpVtbl -> EventPipeGetProviderInfo(This,provider,cchName,pcchName,providerName) ) 
+
+#define ICorProfilerInfo14_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 ICorProfilerInfo14_EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId)   \
+    ( (This)->lpVtbl -> EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId) ) 
+
+
+#define ICorProfilerInfo14_CreateHandle(This,object,type,pHandle)      \
+    ( (This)->lpVtbl -> CreateHandle(This,object,type,pHandle) ) 
+
+#define ICorProfilerInfo14_DestroyHandle(This,handle)  \
+    ( (This)->lpVtbl -> DestroyHandle(This,handle) ) 
+
+#define ICorProfilerInfo14_GetObjectIDFromHandle(This,handle,pObject)  \
+    ( (This)->lpVtbl -> GetObjectIDFromHandle(This,handle,pObject) ) 
+
+
+#define ICorProfilerInfo14_EnumerateNonGCObjects(This,ppEnum)  \
+    ( (This)->lpVtbl -> EnumerateNonGCObjects(This,ppEnum) ) 
+
+#endif /* COBJMACROS */
+
+
+#endif         /* C style interface */
+
+
+
+
+#endif         /* __ICorProfilerInfo14_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICorProfilerMethodEnum_INTERFACE_DEFINED__
+#define __ICorProfilerMethodEnum_INTERFACE_DEFINED__
+
+/* interface ICorProfilerMethodEnum */
+/* [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( 
+            /* [in] */ ULONG celt) = 0;
+        
+        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+        
+        virtual HRESULT STDMETHODCALLTYPE Clone( 
+            /* [out] */ ICorProfilerMethodEnum **ppEnum) = 0;
+        
+        virtual HRESULT STDMETHODCALLTYPE GetCount( 
+            /* [out] */ ULONG *pcelt) = 0;
+        
+        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
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
+            ICorProfilerMethodEnum * This,
+            /* [in] */ REFIID riid,
+            /* [annotation][iid_is][out] */ 
+            _COM_Outptr_  void **ppvObject);
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
+            ICorProfilerMethodEnum * This);
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
+            ICorProfilerMethodEnum * This);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerMethodEnum, Skip)
+        HRESULT ( STDMETHODCALLTYPE *Skip )( 
+            ICorProfilerMethodEnum * This,
+            /* [in] */ ULONG celt);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerMethodEnum, Reset)
+        HRESULT ( STDMETHODCALLTYPE *Reset )( 
+            ICorProfilerMethodEnum * This);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerMethodEnum, Clone)
+        HRESULT ( STDMETHODCALLTYPE *Clone )( 
+            ICorProfilerMethodEnum * This,
+            /* [out] */ ICorProfilerMethodEnum **ppEnum);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerMethodEnum, GetCount)
+        HRESULT ( STDMETHODCALLTYPE *GetCount )( 
+            ICorProfilerMethodEnum * This,
+            /* [out] */ ULONG *pcelt);
+        
+        DECLSPEC_XFGVIRT(ICorProfilerMethodEnum, Next)
+        HRESULT ( STDMETHODCALLTYPE *Next )( 
+            ICorProfilerMethodEnum * This,
+            /* [in] */ ULONG celt,
+            /* [length_is][size_is][out] */ COR_PRF_METHOD elements[  ],
+            /* [out] */ ULONG *pceltFetched);
+        
+        END_INTERFACE
+    } ICorProfilerMethodEnumVtbl;
+
+    interface ICorProfilerMethodEnum
+    {
+        CONST_VTBL struct ICorProfilerMethodEnumVtbl *lpVtbl;
+    };
+
+    
+
+#ifdef COBJMACROS
+
+
+#define ICorProfilerMethodEnum_QueryInterface(This,riid,ppvObject)     \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
+
+#define ICorProfilerMethodEnum_AddRef(This)    \
+    ( (This)->lpVtbl -> AddRef(This) ) 
+
+#define ICorProfilerMethodEnum_Release(This)   \
+    ( (This)->lpVtbl -> Release(This) ) 
+
+
+#define ICorProfilerMethodEnum_Skip(This,celt) \
+    ( (This)->lpVtbl -> Skip(This,celt) ) 
+
+#define ICorProfilerMethodEnum_Reset(This)     \
+    ( (This)->lpVtbl -> Reset(This) ) 
+
+#define ICorProfilerMethodEnum_Clone(This,ppEnum)      \
+    ( (This)->lpVtbl -> Clone(This,ppEnum) ) 
+
+#define ICorProfilerMethodEnum_GetCount(This,pcelt)    \
+    ( (This)->lpVtbl -> GetCount(This,pcelt) ) 
+
+#define ICorProfilerMethodEnum_Next(This,celt,elements,pceltFetched)   \
+    ( (This)->lpVtbl -> Next(This,celt,elements,pceltFetched) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerMethodEnum_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerMethodEnum_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerThreadEnum_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerThreadEnumVtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerThreadEnum * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerThreadEnum * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerThreadEnum * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Skip )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerThreadEnum, Skip)
+        HRESULT ( STDMETHODCALLTYPE *Skip )( 
             ICorProfilerThreadEnum * This,
             /* [in] */ ULONG celt);
-
-        HRESULT ( STDMETHODCALLTYPE *Reset )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerThreadEnum, Reset)
+        HRESULT ( STDMETHODCALLTYPE *Reset )( 
             ICorProfilerThreadEnum * This);
-
-        HRESULT ( STDMETHODCALLTYPE *Clone )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerThreadEnum, Clone)
+        HRESULT ( STDMETHODCALLTYPE *Clone )( 
             ICorProfilerThreadEnum * This,
             /* [out] */ ICorProfilerThreadEnum **ppEnum);
-
-        HRESULT ( STDMETHODCALLTYPE *GetCount )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerThreadEnum, GetCount)
+        HRESULT ( STDMETHODCALLTYPE *GetCount )( 
             ICorProfilerThreadEnum * This,
             /* [out] */ ULONG *pcelt);
-
-        HRESULT ( STDMETHODCALLTYPE *Next )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerThreadEnum, Next)
+        HRESULT ( STDMETHODCALLTYPE *Next )( 
             ICorProfilerThreadEnum * This,
             /* [in] */ ULONG celt,
             /* [length_is][size_is][out] */ ThreadID ids[  ],
             /* [out] */ ULONG *pceltFetched);
-
+        
         END_INTERFACE
     } ICorProfilerThreadEnumVtbl;
 
@@ -21283,90 +24632,94 @@ 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) )
+#define ICorProfilerThreadEnum_QueryInterface(This,riid,ppvObject)     \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerThreadEnum_AddRef(This) \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerThreadEnum_AddRef(This)    \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerThreadEnum_Release(This)    \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerThreadEnum_Release(This)   \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerThreadEnum_Skip(This,celt)  \
-    ( (This)->lpVtbl -> Skip(This,celt) )
+#define ICorProfilerThreadEnum_Skip(This,celt) \
+    ( (This)->lpVtbl -> Skip(This,celt) ) 
 
-#define ICorProfilerThreadEnum_Reset(This)  \
-    ( (This)->lpVtbl -> Reset(This) )
+#define ICorProfilerThreadEnum_Reset(This)     \
+    ( (This)->lpVtbl -> Reset(This) ) 
 
-#define ICorProfilerThreadEnum_Clone(This,ppEnum)   \
-    ( (This)->lpVtbl -> Clone(This,ppEnum) )
+#define ICorProfilerThreadEnum_Clone(This,ppEnum)      \
+    ( (This)->lpVtbl -> Clone(This,ppEnum) ) 
 
-#define ICorProfilerThreadEnum_GetCount(This,pcelt) \
-    ( (This)->lpVtbl -> GetCount(This,pcelt) )
+#define ICorProfilerThreadEnum_GetCount(This,pcelt)    \
+    ( (This)->lpVtbl -> GetCount(This,pcelt) ) 
 
-#define ICorProfilerThreadEnum_Next(This,celt,ids,pceltFetched) \
-    ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) )
+#define ICorProfilerThreadEnum_Next(This,celt,ids,pceltFetched)        \
+    ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerThreadEnum_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerThreadEnum_INTERFACE_DEFINED__ */
 
 
 #ifndef __ICorProfilerAssemblyReferenceProvider_INTERFACE_DEFINED__
 #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 */
+    
+    
+#else  /* C style interface */
 
     typedef struct ICorProfilerAssemblyReferenceProviderVtbl
     {
         BEGIN_INTERFACE
-
-        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
             ICorProfilerAssemblyReferenceProvider * This,
             /* [in] */ REFIID riid,
-            /* [annotation][iid_is][out] */
+            /* [annotation][iid_is][out] */ 
             _COM_Outptr_  void **ppvObject);
-
-        ULONG ( STDMETHODCALLTYPE *AddRef )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, AddRef)
+        ULONG ( STDMETHODCALLTYPE *AddRef )( 
             ICorProfilerAssemblyReferenceProvider * This);
-
-        ULONG ( STDMETHODCALLTYPE *Release )(
+        
+        DECLSPEC_XFGVIRT(IUnknown, Release)
+        ULONG ( STDMETHODCALLTYPE *Release )( 
             ICorProfilerAssemblyReferenceProvider * This);
-
-        HRESULT ( STDMETHODCALLTYPE *AddAssemblyReference )(
+        
+        DECLSPEC_XFGVIRT(ICorProfilerAssemblyReferenceProvider, AddAssemblyReference)
+        HRESULT ( STDMETHODCALLTYPE *AddAssemblyReference )( 
             ICorProfilerAssemblyReferenceProvider * This,
             const COR_PRF_ASSEMBLY_REFERENCE_INFO *pAssemblyRefInfo);
-
+        
         END_INTERFACE
     } ICorProfilerAssemblyReferenceProviderVtbl;
 
@@ -21375,33 +24728,33 @@ 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) )
+#define ICorProfilerAssemblyReferenceProvider_QueryInterface(This,riid,ppvObject)      \
+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
 
-#define ICorProfilerAssemblyReferenceProvider_AddRef(This)  \
-    ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerAssemblyReferenceProvider_AddRef(This)     \
+    ( (This)->lpVtbl -> AddRef(This) ) 
 
-#define ICorProfilerAssemblyReferenceProvider_Release(This) \
-    ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerAssemblyReferenceProvider_Release(This)    \
+    ( (This)->lpVtbl -> Release(This) ) 
 
 
-#define ICorProfilerAssemblyReferenceProvider_AddAssemblyReference(This,pAssemblyRefInfo)   \
-    ( (This)->lpVtbl -> AddAssemblyReference(This,pAssemblyRefInfo) )
+#define ICorProfilerAssemblyReferenceProvider_AddAssemblyReference(This,pAssemblyRefInfo)      \
+    ( (This)->lpVtbl -> AddAssemblyReference(This,pAssemblyRefInfo) ) 
 
 #endif /* COBJMACROS */
 
 
-#endif  /* C style interface */
+#endif         /* C style interface */
 
 
 
 
-#endif  /* __ICorProfilerAssemblyReferenceProvider_INTERFACE_DEFINED__ */
+#endif         /* __ICorProfilerAssemblyReferenceProvider_INTERFACE_DEFINED__ */
 
 
 /* Additional Prototypes for ALL interfaces */
index e11ade3..036177d 100644 (file)
@@ -39,6 +39,9 @@ Object* FrozenObjectHeapManager::TryAllocateObject(PTR_MethodTable type, size_t
         _ASSERT(type != nullptr);
         _ASSERT(FOH_COMMIT_SIZE >= MIN_OBJECT_SIZE);
 
+        // Currently we don't support frozen objects with special alignment requirements
+        // TODO: We should also give up on arrays of doubles on 32-bit platforms.
+        // (we currently never allocate them on frozen segments)
     #ifdef FEATURE_64BIT_ALIGNMENT
         if (type->RequiresAlign8())
         {
@@ -202,3 +205,32 @@ Object* FrozenObjectSegment::TryAllocateObject(PTR_MethodTable type, size_t obje
 
     return object;
 }
+
+Object* FrozenObjectSegment::GetFirstObject() const
+{
+    if (m_pStart + sizeof(ObjHeader) == m_pCurrent)
+    {
+        // Segment is empty
+        return nullptr;
+    }
+    return reinterpret_cast<Object*>(m_pStart + sizeof(ObjHeader));
+}
+
+Object* FrozenObjectSegment::GetNextObject(Object* obj) const
+{
+    // Input must not be null and should be within the segment
+    _ASSERT(obj != nullptr);
+    _ASSERT((uint8_t*)obj >= m_pStart + sizeof(ObjHeader) && (uint8_t*)obj < m_pCurrent);
+
+    // FOH doesn't support objects with non-DATA_ALIGNMENT alignment yet.
+    uint8_t* nextObj = (reinterpret_cast<uint8_t*>(obj) + ALIGN_UP(obj->GetSize(), DATA_ALIGNMENT));
+    if (nextObj < m_pCurrent)
+    {
+        Object* result = reinterpret_cast<Object*>(nextObj);
+        INDEBUG(result->Validate());
+        return result;
+    }
+
+    // Current object is the last one in the segment
+    return nullptr;
+}
index f62d376..d8cc778 100644 (file)
@@ -33,6 +33,8 @@ private:
     Crst m_Crst;
     SArray<FrozenObjectSegment*> m_FrozenSegments;
     FrozenObjectSegment* m_CurrentSegment;
+
+    friend class ProfilerObjectEnum;
 };
 
 class FrozenObjectSegment
@@ -40,13 +42,15 @@ class FrozenObjectSegment
 public:
     FrozenObjectSegment(size_t sizeHint);
     Object* TryAllocateObject(PTR_MethodTable type, size_t objectSize);
-
     size_t GetSize() const
     {
         return m_Size;
     }
 
 private:
+    Object* GetFirstObject() const;
+    Object* GetNextObject(Object* obj) const;
+
     // Start of the reserved memory, the first object starts at "m_pStart + sizeof(ObjHeader)" (its pMT)
     uint8_t* m_pStart;
 
@@ -66,6 +70,8 @@ private:
 
     segment_handle m_SegmentHandle;
     INDEBUG(size_t m_ObjectsCount);
+
+    friend class ProfilerObjectEnum;
 };
 
 #endif // _FROZENOBJECTHEAP_H
index 7d53792..1d19a87 100644 (file)
@@ -15,6 +15,7 @@
 //
 
 #include "common.h"
+#include "frozenobjectheap.h"
 
 #ifdef PROFILING_SUPPORTED
 
@@ -89,6 +90,42 @@ BOOL ProfilerFunctionEnum::Init(BOOL fWithReJITIDs)
 }
 
 // ---------------------------------------------------------------------------------------
+//  ProfilerObjectEnum/ICorProfilerObjectEnum implementation
+// ---------------------------------------------------------------------------------------
+
+BOOL ProfilerObjectEnum::Init()
+{
+    CONTRACTL
+    {
+        NOTHROW;
+        GC_NOTRIGGER;
+        CAN_TAKE_LOCK;
+    }
+    CONTRACTL_END;
+
+    FrozenObjectHeapManager* foh = SystemDomain::GetFrozenObjectHeapManager();
+    CrstHolder ch(&foh->m_Crst);
+
+    const unsigned segmentsCount = foh->m_FrozenSegments.GetCount();
+    FrozenObjectSegment** segments = foh->m_FrozenSegments.GetElements();
+    if (segments != nullptr)
+    {
+        for (unsigned segmentIdx = 0; segmentIdx < segmentsCount; segmentIdx++)
+        {
+            const FrozenObjectSegment* segment = segments[segmentIdx];
+
+            Object* currentObj = segment->GetFirstObject();
+            while (currentObj != nullptr)
+            {
+                *m_elements.Append() = reinterpret_cast<size_t>(currentObj);
+                currentObj = segment->GetNextObject(currentObj);
+            }
+        }
+    }
+    return TRUE;
+}
+
+// ---------------------------------------------------------------------------------------
 // Catch-up helpers
 //
 // #ProfilerEnumGeneral
index de050af..4582da6 100644 (file)
@@ -453,7 +453,7 @@ ProfilerEnum< EnumInterface, IID_EnumInterface, Element >::Clone(EnumInterface**
 // Enumerators have their base class defined here, as an instantiation of ProfilerEnum
 // ---------------------------------------------------------------------------------------
 
-typedef ProfilerEnum< ICorProfilerObjectEnum, IID_ICorProfilerObjectEnum, ObjectID > ProfilerObjectEnum;
+typedef ProfilerEnum< ICorProfilerObjectEnum, IID_ICorProfilerObjectEnum, ObjectID > ProfilerObjectEnumBase;
 typedef ProfilerEnum< ICorProfilerFunctionEnum, IID_ICorProfilerFunctionEnum, COR_PRF_FUNCTION > ProfilerFunctionEnumBase;
 typedef ProfilerEnum< ICorProfilerModuleEnum, IID_ICorProfilerModuleEnum, ModuleID > ProfilerModuleEnumBase;
 typedef ProfilerEnum< ICorProfilerThreadEnum, IID_ICorProfilerThreadEnum, ThreadID > ProfilerThreadEnumBase;
@@ -472,6 +472,17 @@ public:
 
 // ---------------------------------------------------------------------------------------
 // This class derives from the template enumerator instantiation, and provides specific
+// code to populate the enumerator with the function list
+
+class ProfilerObjectEnum : public ProfilerObjectEnumBase
+{
+public:
+    BOOL Init();
+};
+
+
+// ---------------------------------------------------------------------------------------
+// This class derives from the template enumerator instantiation, and provides specific
 // code to populate the enumerator with the module list
 
 class ProfilerModuleEnum : public ProfilerModuleEnumBase
index 0e9e39a..e6f5cb2 100644 (file)
@@ -571,6 +571,10 @@ COM_METHOD ProfToEEInterfaceImpl::QueryInterface(REFIID id, void ** pInterface)
     {
         *pInterface = static_cast<ICorProfilerInfo13 *>(this);
     }
+    else if (id == IID_ICorProfilerInfo14)
+    {
+        *pInterface = static_cast<ICorProfilerInfo14 *>(this);
+    }
     else if (id == IID_IUnknown)
     {
         *pInterface = static_cast<IUnknown *>(static_cast<ICorProfilerInfo *>(this));
@@ -7586,6 +7590,39 @@ HRESULT ProfToEEInterfaceImpl::GetObjectIDFromHandle(
     return S_OK;
 }
 
+HRESULT ProfToEEInterfaceImpl::EnumerateNonGCObjects(ICorProfilerObjectEnum** ppEnum)
+{
+    CONTRACTL
+    {
+        NOTHROW;
+        GC_NOTRIGGER;
+        MODE_ANY;
+        EE_THREAD_NOT_REQUIRED;
+    }
+    CONTRACTL_END;
+
+    PROFILER_TO_CLR_ENTRYPOINT_SYNC_EX(kP2EEAllowableAfterAttach,
+        (LF_CORPROF, LL_INFO1000, "**PROF: EnumerateNonGCObjects.\n"));
+
+    if (NULL == ppEnum)
+    {
+        return E_INVALIDARG;
+    }
+
+    HRESULT hr = S_OK;
+
+    *ppEnum = NULL;
+
+    NewHolder<ProfilerObjectEnum> pEnum(new (nothrow) ProfilerObjectEnum());
+    if (pEnum == NULL || !pEnum->Init())
+    {
+        return E_OUTOFMEMORY;
+    }
+
+    *ppEnum = (ICorProfilerObjectEnum*)pEnum.Extract();
+
+    return hr;
+}
 
 /*
  * GetStringLayout
index 8fedc66..fe0807a 100644 (file)
@@ -150,7 +150,7 @@ typedef struct _PROFILER_STACK_WALK_DATA PROFILER_STACK_WALK_DATA;
 // from the profiler implementation.  The profiler will call back on the v-table
 // to get at EE internals as required.
 
-class ProfToEEInterfaceImpl : public ICorProfilerInfo13
+class ProfToEEInterfaceImpl : public ICorProfilerInfo14
 {
 private:
     ProfilerInfo *m_pProfilerInfo;
@@ -722,6 +722,13 @@ public:
 
     // end ICorProfilerInfo13
 
+    // begin ICorProfilerInfo14
+
+    COM_METHOD EnumerateNonGCObjects(
+        ICorProfilerObjectEnum** ppEnum);
+
+    // end ICorProfilerInfo14
+
 protected:
 
     // Internal Helper Functions
index e81925a..a03c997 100644 (file)
@@ -26,6 +26,8 @@ namespace Profiler.Tests
             int gen = GC.GetGeneration("string7");
             if (gen != int.MaxValue)
                 throw new Exception("object is expected to be in a non-gc heap for this test to work");
+
+            GC.Collect();
         }
 
         [MethodImpl(MethodImplOptions.NoInlining)]
index 1a4e092..3000fb4 100644 (file)
@@ -49,6 +49,7 @@ DEFINE_GUID(IID_ICorProfilerInfo10,                    0x2F1B5152,0xC869,0x40C9,
 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_ICorProfilerInfo13,                    0x6E6C7EE2,0x0701,0x4EC2,0x9D,0x29,0x2E,0x87,0x33,0xB6,0x69,0x34);
+DEFINE_GUID(IID_ICorProfilerInfo14,                    0XF460E352,0XD76D,0X4FE9,0X83,0X5F,0XF6,0XAF,0X9D,0X6E,0X86,0X2D);
 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);
index 7689f9d..167901c 100644 (file)
@@ -53,22 +53,65 @@ HRESULT STDMETHODCALLTYPE NonGcHeapProfiler::ObjectAllocated(ObjectID objectId,
     return S_OK;
 }
 
+HRESULT NonGcHeapProfiler::GarbageCollectionFinished()
+{
+    SHUTDOWNGUARD();
+
+    _garbageCollections++;
+
+    // Let's make sure we got the same number of objects as we got from the callback
+    // by testing the EnumerateNonGCObjects API.
+    ICorProfilerObjectEnum* pEnum = NULL;
+    HRESULT hr = pCorProfilerInfo->EnumerateNonGCObjects(&pEnum);
+    if (FAILED(hr))
+    {
+        printf("EnumerateNonGCObjects returned an error\n!");
+        _failures++;
+    }
+    else
+    {
+        int nonGcObjectsEnumerated = 0;
+        ObjectID obj;
+        while (pEnum->Next(1, &obj, NULL) == S_OK)
+        {
+            nonGcObjectsEnumerated++;
+        }
+
+        if (nonGcObjectsEnumerated != _nonGcHeapObjects)
+        {
+            printf("objectAllocated(%d) != _nonGcHeapObjects(%d)\n!", nonGcObjectsEnumerated, (int)_nonGcHeapObjects);
+            _failures++;
+        }
+    }
+
+    return S_OK;
+}
+
 HRESULT NonGcHeapProfiler::Shutdown()
 {
-    if (_failures > 0)
+    Profiler::Shutdown();
+
+    if (_garbageCollections == 0)
     {
-        printf("PROFILER TEST FAILS\n");
+        printf("PROFILER TEST FAILS: no garbage collections were triggered\n");
+        _failures++;
     }
-    else if (_nonGcHeapObjects == 0)
+
+    if (_nonGcHeapObjects == 0)
     {
         printf("PROFILER TEST FAILS: non-GC heap objects were not allocated\n");
+        _failures++;
+    }
+
+    if (_failures > 0)
+    {
+        printf("PROFILER TEST FAILS\n");
     }
     else
     {
         printf("PROFILER TEST PASSES\n");
     }
     printf("Non-GC objects allocated: %d\n", (int)_nonGcHeapObjects);
-    printf("PROFILER TEST PASSES\n");
     fflush(stdout);
     return S_OK;
 }
index 5594d0f..9ce78b7 100644 (file)
@@ -10,15 +10,18 @@ class NonGcHeapProfiler : public Profiler
 public:
     NonGcHeapProfiler() : Profiler(),
         _nonGcHeapObjects(0),
-        _failures(0)
+        _failures(0),
+        _garbageCollections(0)
     {}
 
-       static GUID GetClsid();
+    static GUID GetClsid();
     virtual HRESULT STDMETHODCALLTYPE Initialize(IUnknown* pICorProfilerInfoUnk);
     virtual HRESULT STDMETHODCALLTYPE ObjectAllocated(ObjectID objectId, ClassID classId);
     virtual HRESULT STDMETHODCALLTYPE Shutdown();
+    virtual HRESULT STDMETHODCALLTYPE GarbageCollectionFinished();
 
 private:
     std::atomic<int> _nonGcHeapObjects;
     std::atomic<int> _failures;
+    std::atomic<int> _garbageCollections;
 };
index 0508bc9..4eff242 100644 (file)
@@ -785,7 +785,7 @@ void Profiler::SetCallback(ProfilerCallback cb)
     s_callbackSet.Signal();
 }
 
-void Profiler::NotifyManagedCodeViaCallback(ICorProfilerInfo13 *pCorProfilerInfo)
+void Profiler::NotifyManagedCodeViaCallback(ICorProfilerInfo1 *pCorProfilerInfo)
 {
     s_callbackSet.Wait();
 
@@ -795,7 +795,7 @@ void Profiler::NotifyManagedCodeViaCallback(ICorProfilerInfo13 *pCorProfilerInfo
         // some crst order asserts if we call back in to managed code. Spin up
         // a new thread to avoid that.
         pCorProfilerInfo->InitializeCurrentThread();
-        s_callback();
+        s_callback(); 
     });
 
     callbackThread.join();
index 61b7182..00c64a1 100644 (file)
@@ -88,12 +88,12 @@ class Profiler : public ICorProfilerCallback11
 {
 private:
     std::atomic<int> refCount;
-    static ProfilerCallback s_callback;
+    static ProfilerCallback s_callback; 
     static ManualEvent s_callbackSet;
     
 
 protected:
-    static void NotifyManagedCodeViaCallback(ICorProfilerInfo13 *pCorProfilerInfo);
+    static void NotifyManagedCodeViaCallback(ICorProfilerInfo14 *pCorProfilerInfo);
 
     String GetClassIDName(ClassID classId);
     String GetFunctionIDName(FunctionID funcId);
@@ -103,7 +103,7 @@ public:
     static Profiler *Instance;
     static void SetCallback(ProfilerCallback callback);
 
-    ICorProfilerInfo13* pCorProfilerInfo;
+    ICorProfilerInfo14* pCorProfilerInfo;
 
     Profiler();
     virtual ~Profiler();