This enables Lttng Logging for CoreClr,
authorRama <ramarag@microsoft.com>
Fri, 9 Oct 2015 01:53:59 +0000 (18:53 -0700)
committerRama <ramarag@microsoft.com>
Mon, 12 Oct 2015 01:50:39 +0000 (18:50 -0700)
The Tracepoint Providers are built as a separate shared object called libcoreclrtraceptprovider and it is
available in the same directory as libcoreclr.so

By Default the ability of Tracing will not be present
To enable the ability of  Tracing, the apps need to be run like:

LD_PRELOAD=libcoreclrtraceptprovider.so ./corerun HelloWorld.exe

For now to change Xplat Event Logging mechanism add any events to:
        <root>/src/vm/ClrEtwAll.man
Then regenerate files by running :
        <root>/src/inc/genXplatLtnng.pl

Conflicts:
Documentation/building/linux-instructions.md

39 files changed:
CMakeLists.txt
Documentation/building/linux-instructions.md
src/dlls/mscoree/coreclr/CMakeLists.txt
src/gc/gc.cpp
src/gc/gcee.cpp
src/inc/eventtracebase.h
src/inc/genXplatEtw.pl [new file with mode: 0644]
src/inc/genXplatLtnng.pl [new file with mode: 0644]
src/pal/inc/pal_mstypes.h
src/pal/prebuilt/inc/clrallevents.h [new file with mode: 0644]
src/pal/prebuilt/inc/etmdummy.h
src/pal/src/CMakeLists.txt
src/pal/src/eventprovider/CMakeLists.txt [new file with mode: 0644]
src/pal/src/eventprovider/lttng/eventprovdotnetruntime.cpp [new file with mode: 0644]
src/pal/src/eventprovider/lttng/eventprovdotnetruntimeprivate.cpp [new file with mode: 0644]
src/pal/src/eventprovider/lttng/eventprovdotnetruntimerundown.cpp [new file with mode: 0644]
src/pal/src/eventprovider/lttng/eventprovdotnetruntimestress.cpp [new file with mode: 0644]
src/pal/src/eventprovider/lttng/tpdotnetruntime.h [new file with mode: 0644]
src/pal/src/eventprovider/lttng/tpdotnetruntimeprivate.h [new file with mode: 0644]
src/pal/src/eventprovider/lttng/tpdotnetruntimerundown.h [new file with mode: 0644]
src/pal/src/eventprovider/lttng/tpdotnetruntimestress.h [new file with mode: 0644]
src/pal/src/eventprovider/lttng/traceptprovdotnetruntime.cpp [new file with mode: 0644]
src/pal/src/eventprovider/lttng/traceptprovdotnetruntimeprivate.cpp [new file with mode: 0644]
src/pal/src/eventprovider/lttng/traceptprovdotnetruntimerundown.cpp [new file with mode: 0644]
src/pal/src/eventprovider/lttng/traceptprovdotnetruntimestress.cpp [new file with mode: 0644]
src/pal/src/eventprovider/tracepointprovider/CMakeLists.txt [new file with mode: 0644]
src/pal/tests/palsuite/CMakeLists.txt
src/pal/tests/palsuite/eventprovider/CMakeLists.txt [new file with mode: 0644]
src/pal/tests/palsuite/eventprovider/clralltestevents.cpp [new file with mode: 0644]
src/pal/tests/palsuite/eventprovider/testinfo.dat [new file with mode: 0644]
src/pal/tests/palsuite/paltestlist.txt
src/vm/CMakeLists.txt
src/vm/eventtrace.cpp
src/vm/excep.cpp
src/vm/jithelpers.cpp
src/vm/method.cpp
src/vm/methodtable.cpp
src/vm/multicorejit.cpp
src/vm/multicorejitimpl.h

index aa28a5f..1be2864 100644 (file)
@@ -217,6 +217,10 @@ elseif (CLR_CMAKE_PLATFORM_UNIX)
 
 endif(WIN32)
 
+if (WIN32 OR CLR_CMAKE_PLATFORM_LINUX)
+  add_definitions(-DFEATURE_EVENT_TRACE=1)
+endif (WIN32 OR CLR_CMAKE_PLATFORM_LINUX)
+
 if(CLR_CMAKE_PLATFORM_UNIX)
     add_subdirectory(src/ToolBox/SOS/lldbplugin)
     add_subdirectory(src/pal)
@@ -225,6 +229,7 @@ if(CLR_CMAKE_PLATFORM_UNIX)
     add_subdirectory(src/coreclr/hosts/unixcoreconsole)
 endif(CLR_CMAKE_PLATFORM_UNIX)
 
+
 if(CLR_CMAKE_PLATFORM_DARWIN)
     add_subdirectory(src/coreclr/hosts/osxbundlerun)
 endif(CLR_CMAKE_PLATFORM_DARWIN)
@@ -421,10 +426,7 @@ if (WIN32)
 endif(WIN32)
 # Definition directives
 
-# The following defines were extracted from the official amd64 debug / release builds.
-if (WIN32)
-  add_definitions(-DFEATURE_EVENT_TRACE=1)
-endif (WIN32)
+
 
 if (CLR_CMAKE_PLATFORM_UNIX)
   add_definitions(-DPLATFORM_UNIX=1)
index ebccafb..73d1b92 100644 (file)
@@ -26,6 +26,7 @@ Install the following packages for the toolchain:
 - libunwind8-dev
 - gettext
 - libicu-dev
+- liblttng-ust-dev
 
 In order to get lldb-3.6 on Ubuntu 14.04, we need to add an additional package source:
 
@@ -37,7 +38,7 @@ ellismg@linux:~$ sudo apt-get update
 
 Then install the packages you need:
 
-`ellismg@linux:~$ sudo apt-get install cmake llvm-3.5 clang-3.5 lldb-3.6 lldb-3.6-dev libunwind8 libunwind8-dev gettext libicu-dev`
+`ellismg@linux:~$ sudo apt-get install cmake llvm-3.5 clang-3.5 lldb-3.6 lldb-3.6-dev libunwind8 libunwind8-dev gettext libicu-dev liblttng-ust-dev`
 
 You now have all the required components.
 
index 3364e73..297a411 100644 (file)
@@ -114,7 +114,14 @@ else()
     )
 endif(WIN32)
 
-target_link_libraries(coreclr ${CORECLR_LIBRARIES})
+if(CLR_CMAKE_PLATFORM_LINUX)
+    list(APPEND CORECLR_LIBRARIES
+        eventprovider
+  )
+  
+endif(CLR_CMAKE_PLATFORM_LINUX)
+
+target_link_libraries(coreclr ${CORECLR_LIBRARIES}) 
 
 if(WIN32)
     add_dependencies(coreclr dactablegen)
index ae12b9f..f77f482 100644 (file)
@@ -31551,7 +31551,7 @@ void gc_heap::descr_generations_to_profiler (gen_walk_fn fn, void *context)
                 assert (seg == hp->ephemeral_heap_segment);
                 assert (curr_gen_number0 <= max_generation);
                 //
-                if ((curr_gen_number0 == max_generation))
+                if (curr_gen_number0 == max_generation)
                 {
                     if (heap_segment_mem (seg) < generation_allocation_start (hp->generation_of (max_generation-1)))
                     {
index c8fdef1..169b217 100644 (file)
@@ -390,9 +390,10 @@ size_t GCHeap::GetNow()
     return hp->get_time_now();
 }
 
+#if defined(GC_PROFILING) //UNIXTODO: Enable this for FEATURE_EVENT_TRACE
 void ProfScanRootsHelper(Object** ppObject, ScanContext *pSC, DWORD dwFlags)
 {
-#if defined(GC_PROFILING) || defined(FEATURE_EVENT_TRACE)
+#if  defined(FEATURE_EVENT_TRACE)
     Object *pObj = *ppObject;
 #ifdef INTERIOR_POINTERS
     if (dwFlags & GC_CALL_INTERIOR)
@@ -408,10 +409,9 @@ void ProfScanRootsHelper(Object** ppObject, ScanContext *pSC, DWORD dwFlags)
     }
 #endif //INTERIOR_POINTERS
     ScanRootsHelper(&pObj, pSC, dwFlags);
-#endif // defined(GC_PROFILING) || defined(FEATURE_EVENT_TRACE)
+#endif //  defined(FEATURE_EVENT_TRACE)
 }
 
-#if defined(GC_PROFILING) || defined(FEATURE_EVENT_TRACE)
 // This is called only if we've determined that either:
 //     a) The Profiling API wants to do a walk of the heap, and it has pinned the
 //     profiler in place (so it cannot be detached), and it's thus safe to call into the
@@ -454,7 +454,6 @@ void GCProfileWalkHeapWorker(BOOL fProfilerPinned, BOOL fShouldWalkHeapRootsForE
             pGenGCHeap->finalize_queue->GcScanRoots(&ScanRootsHelper, 0, &SC);
 
 #endif // MULTIPLE_HEAPS
-
             // Handles are kept independent of wks/svr/concurrent builds
             SC.dwEtwRootKind = kEtwGCRootKindHandle;
             CNameSpace::GcScanHandlesForProfilerAndETW(max_generation, &SC);
@@ -482,12 +481,10 @@ void GCProfileWalkHeapWorker(BOOL fProfilerPinned, BOOL fShouldWalkHeapRootsForE
             // indicate that dependent handle scanning is over, so we can flush the buffered roots
             // to the profiler.  (This is for profapi only.  ETW will flush after the
             // entire heap was is complete, via ETW::GCLog::EndHeapDump.)
-#if defined (GC_PROFILING)
             if (fProfilerPinned && CORProfilerTrackConditionalWeakTableElements())
             {
                 g_profControlBlock.pProfInterface->EndConditionalWeakTableElementReferences(&SC.pHeapId);
             }
-#endif // defined (GC_PROFILING)
         }
 
         ProfilerWalkHeapContext profilerWalkHeapContext(fProfilerPinned, SC.pvEtwContext);
@@ -517,7 +514,7 @@ void GCProfileWalkHeapWorker(BOOL fProfilerPinned, BOOL fShouldWalkHeapRootsForE
         }
     }
 }
-#endif // defined(GC_PROFILING) || defined(FEATURE_EVENT_TRACE)
+#endif // defined(GC_PROFILING)
 
 void GCProfileWalkHeap()
 {
@@ -543,7 +540,7 @@ void GCProfileWalkHeap()
     }
 #endif // defined (GC_PROFILING)
 
-#ifdef FEATURE_EVENT_TRACE
+#if  defined (GC_PROFILING)//UNIXTODO: Enable this for FEATURE_EVENT_TRACE
     // If the profiling API didn't want us to walk the heap but ETW does, then do the
     // walk here
     if (!fWalkedHeapForProfiler && 
index 768a774..ed3e6e0 100644 (file)
@@ -70,6 +70,69 @@ enum EtwThreadFlags
     kEtwThreadFlagThreadPoolWorker =  0x00000004,
 };
 
+#ifndef FEATURE_REDHAWK
+
+#if defined(FEATURE_EVENT_TRACE)
+#if  !defined(FEATURE_PAL)
+
+//
+// Use this macro at the least before calling the Event Macros
+//
+
+#define ETW_TRACING_INITIALIZED(RegHandle) \
+    (g_pEtwTracer && RegHandle)
+
+//
+// Use this macro to check if an event is enabled
+// if the fields in the event are not cheap to calculate
+//
+#define ETW_EVENT_ENABLED(Context, EventDescriptor) \
+    (MCGEN_ENABLE_CHECK(Context, EventDescriptor))
+
+//
+// Use this macro to check if a category of events is enabled
+//
+
+#define ETW_CATEGORY_ENABLED(Context, Level, Keyword) \
+    (Context.IsEnabled && McGenEventProviderEnabled(&Context, Level, Keyword))
+
+
+// This macro only checks if a provider is enabled
+// It does not check the flags and keywords for which it is enabled
+#define ETW_PROVIDER_ENABLED(ProviderSymbol)                 \
+        ProviderSymbol##_Context.IsEnabled
+
+
+#else //defined(FEATURE_PAL)
+
+#define ETW_INLINE  
+#define ETWOnStartup(StartEventName, EndEventName)
+#define ETWFireEvent(EventName)
+
+#define ETW_TRACING_INITIALIZED(RegHandle) (TRUE)
+#define ETW_EVENT_ENABLED(Context, EventDescriptor) (TRUE)
+#define ETW_CATEGORY_ENABLED(Context, Level, Keyword) (TRUE)
+#define ETW_TRACING_ENABLED(Context, EventDescriptor) (EventEnabled##EventDescriptor())
+#define ETW_TRACING_CATEGORY_ENABLED(Context, Level, Keyword) (TRUE)
+#define ETW_PROVIDER_ENABLED(ProviderSymbol) (TRUE)
+
+#endif // !defined(FEATURE_PAL)
+
+#else // FEATURE_EVENT_TRACE
+
+#define ETWOnStartup(StartEventName, EndEventName)
+#define ETWFireEvent(EventName)
+
+#define ETW_TRACING_INITIALIZED(RegHandle) (FALSE)
+#define ETW_EVENT_ENABLED(Context, EventDescriptor) (FALSE)
+#define ETW_CATEGORY_ENABLED(Context, Level, Keyword) (FALSE)
+#define ETW_TRACING_ENABLED(Context, EventDescriptor) (FALSE)
+#define ETW_TRACING_CATEGORY_ENABLED(Context, Level, Keyword) (FALSE)
+#define ETW_PROVIDER_ENABLED(ProviderSymbol) (TRUE)
+
+#endif // FEATURE_EVENT_TRACE
+
+#endif // FEATURE_REDHAWK
 #ifdef FEATURE_EVENT_TRACE
 
 // During a heap walk, this is the storage for keeping track of all the nodes and edges
@@ -90,7 +153,7 @@ public:
 };
 
 class Object;
-
+#if !defined(FEATURE_PAL)
 /******************************/
 /* CLR ETW supported versions */
 /******************************/
@@ -133,7 +196,6 @@ struct ProfilingScanContext;
         ETWTraceStartup::StartupTraceEvent(Microsoft_Windows_DotNETRuntimePrivateHandle, &EventName, &StartupId);
 
 #ifndef FEATURE_REDHAWK
-
 // Headers
 #include <initguid.h>
 #include <wmistr.h>
@@ -144,8 +206,8 @@ struct ProfilingScanContext;
 #else
 #define GetVersionEx(Version) (WszGetVersionEx((LPOSVERSIONINFOW)Version))
 #endif // !DONOT_DEFINE_ETW_CALLBACK && !DACCESS_COMPILE
-
 #endif //!FEATURE_REDHAWK
+#endif //!defined(FEATURE_PAL)
 
 
 #else // FEATURE_EVENT_TRACE
@@ -166,6 +228,8 @@ extern BOOL g_fEEIJWStartup;
 #define GetClrInstanceId()  (static_cast<UINT16>(g_nClrInstanceId))
 
 #if defined(FEATURE_EVENT_TRACE)
+
+#ifndef  FEATURE_PAL
 // Callback and stack support
 #if !defined(DONOT_DEFINE_ETW_CALLBACK) && !defined(DACCESS_COMPILE)
 extern "C" {
@@ -216,11 +280,21 @@ extern "C" {
 #endif //!DONOT_DEFINE_ETW_CALLBACK && !DACCESS_COMPILE
 
 #include <clretwallmain.h>
+
+#elif defined(__LINUX__)
+
+#include "clrallevents.h"
+
+#else
+#error "A tracing System has not been enabled for this Platform"
+#endif //!FEATURE_PAL
+
 // The bulk type event is too complex for MC.exe to auto-generate proper code.
 // Use code:BulkTypeEventLogger instead.
 #ifdef FireEtwBulkType
 #undef FireEtwBulkType
 #endif // FireEtwBulkType
+
 #endif // FEATURE_EVENT_TRACE 
 
 /**************************/
@@ -267,6 +341,7 @@ class Thread;
 namespace ETW
 {
     // Class to wrap the ETW infrastructure logic
+#if  !defined(FEATURE_PAL)
     class CEtwTracer 
     {
 #if defined(FEATURE_EVENT_TRACE)
@@ -291,6 +366,7 @@ namespace ETW
         }
 #endif // FEATURE_EVENT_TRACE
     };
+#endif // !defined(FEATURE_PAL)
 
     class LoaderLog;
     class MethodLog;   
@@ -357,9 +433,10 @@ namespace ETW
 
 
     // Class to wrap all the sampling logic for ETW
+
     class SamplingLog
     {
-#if defined(FEATURE_EVENT_TRACE)
+#if defined(FEATURE_EVENT_TRACE) && !defined(FEATURE_PAL)
     public:
         typedef enum _EtwStackWalkStatus 
         {
@@ -376,14 +453,14 @@ namespace ETW
     public:
         static ULONG SendStackTrace(MCGEN_TRACE_CONTEXT TraceContext, PCEVENT_DESCRIPTOR Descriptor, LPCGUID EventGuid);
         EtwStackWalkStatus GetCurrentThreadsCallStack(UINT32 *frameCount, PVOID **Stack);
-#endif // FEATURE_EVENT_TRACE
+#endif // FEATURE_EVENT_TRACE && !defined(FEATURE_PAL)
     };
     
     // Class to wrap all Loader logic for ETW
     class LoaderLog
     {
         friend class ETW::EnumerationLog;
-#ifdef FEATURE_EVENT_TRACE
+#if defined(FEATURE_EVENT_TRACE)
         static VOID SendModuleEvent(Module *pModule, DWORD dwEventOptions, BOOL bFireDomainModuleEvents=FALSE);
         static ULONG SendModuleRange(__in Module *pModule, __in DWORD dwEventOptions);
         static VOID SendAssemblyEvent(Assembly *pAssembly, DWORD dwEventOptions);
@@ -426,7 +503,7 @@ namespace ETW
         
         static VOID DomainLoad(BaseDomain *pDomain, __in_opt LPWSTR wszFriendlyName = NULL)
         {
-            if (MICROSOFT_WINDOWS_DOTNETRUNTIME_PROVIDER_Context.IsEnabled)
+            if (ETW_PROVIDER_ENABLED(MICROSOFT_WINDOWS_DOTNETRUNTIME_PROVIDER))
             {
                 DomainLoadReal(pDomain, wszFriendlyName);
             }
@@ -751,6 +828,7 @@ namespace ETW
 };
 
 
+#if defined(FEATURE_EVENT_TRACE) && !defined(FEATURE_PAL)
 //
 // The ONE and only ONE global instantiation of this class
 //
@@ -768,7 +846,76 @@ extern ETW::CEtwTracer *  g_pEtwTracer;
 #define ETWLoaderStaticLoad 0 // Static reference load
 #define ETWLoaderDynamicLoad 1 // Dynamic assembly load
 
-#if defined(FEATURE_EVENT_TRACE)
+//
+// Special Handling of Startup events
+//
+
+// "mc.exe -MOF" already generates this block for XP-suported builds inside ClrEtwAll.h;
+// on Vista+ builds, mc is run without -MOF, and we still have code that depends on it, so
+// we manually place it here.
+ETW_INLINE
+ULONG
+CoMofTemplate_h(
+    __in REGHANDLE RegHandle,
+    __in PCEVENT_DESCRIPTOR Descriptor,
+    __in_opt LPCGUID EventGuid,
+    __in const unsigned short  ClrInstanceID
+    )
+{
+#define ARGUMENT_COUNT_h 1
+    ULONG Error = ERROR_SUCCESS;
+typedef struct _MCGEN_TRACE_BUFFER {
+    EVENT_TRACE_HEADER Header;
+    EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_h];
+} MCGEN_TRACE_BUFFER;
+
+    MCGEN_TRACE_BUFFER TraceBuf;
+    PEVENT_DATA_DESCRIPTOR EventData = TraceBuf.EventData;
+
+    EventDataDescCreate(&EventData[0], &ClrInstanceID, sizeof(const unsigned short)  );
+
+
+  {
+    Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_h, EventData);
+
+  }
+
+#ifdef MCGEN_CALLOUT
+MCGEN_CALLOUT(RegHandle,
+              Descriptor,
+              ARGUMENT_COUNT_h,
+              EventData);
+#endif
+
+    return Error;
+}
+
+class ETWTraceStartup {
+    REGHANDLE TraceHandle;
+    PCEVENT_DESCRIPTOR EventStartDescriptor;
+    LPCGUID EventStartGuid;
+    PCEVENT_DESCRIPTOR EventEndDescriptor;
+    LPCGUID EventEndGuid;
+public:
+    ETWTraceStartup(REGHANDLE _TraceHandle, PCEVENT_DESCRIPTOR _EventStartDescriptor, LPCGUID _EventStartGuid, PCEVENT_DESCRIPTOR _EventEndDescriptor, LPCGUID _EventEndGuid) {
+        TraceHandle = _TraceHandle;
+        EventStartDescriptor = _EventStartDescriptor;
+        EventEndDescriptor = _EventEndDescriptor;
+        EventStartGuid = _EventStartGuid;
+        EventEndGuid = _EventEndGuid;
+        StartupTraceEvent(TraceHandle, EventStartDescriptor, EventStartGuid);
+    }
+    ~ETWTraceStartup() {
+        StartupTraceEvent(TraceHandle, EventEndDescriptor, EventEndGuid);
+    }
+    static void StartupTraceEvent(REGHANDLE _TraceHandle, PCEVENT_DESCRIPTOR _EventDescriptor, LPCGUID _EventGuid) {
+        EVENT_DESCRIPTOR desc = *_EventDescriptor;
+        if(ETW_TRACING_ENABLED(MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER_Context, desc))
+        {
+            CoMofTemplate_h(MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER_Context.RegistrationHandle, _EventDescriptor, _EventGuid, GetClrInstanceId());
+        }
+    }
+};
 // "mc.exe -MOF" already generates this block for XP-suported builds inside ClrEtwAll.h;
 // on Vista+ builds, mc is run without -MOF, and we still have code that depends on it, so
 // we manually place it here.
@@ -808,10 +955,8 @@ McGenEventTracingEnabled(
 
     return FALSE;
 }
-#endif // defined(FEATURE_EVENT_TRACE)
 
 
-#if defined(FEATURE_EVENT_TRACE)
 ETW_INLINE
 ULONG
 ETW::SamplingLog::SendStackTrace(
@@ -857,8 +1002,7 @@ typedef struct _MCGEN_TRACE_BUFFER {
     return Result;
 };
 
-#endif // FEATURE_EVENT_TRACE
-
+#endif // FEATURE_EVENT_TRACE && !defined(FEATURE_PAL)
 #ifdef FEATURE_EVENT_TRACE
 #ifdef _TARGET_X86_
 struct CallStackFrame
@@ -869,7 +1013,7 @@ struct CallStackFrame
 #endif // _TARGET_X86_
 #endif // FEATURE_EVENT_TRACE
 
-#if defined(FEATURE_EVENT_TRACE)
+#if defined(FEATURE_EVENT_TRACE) && !defined(FEATURE_PAL)
 FORCEINLINE 
 BOOLEAN __stdcall
 McGenEventProviderEnabled(
@@ -904,20 +1048,8 @@ McGenEventProviderEnabled(
     }
     return FALSE;
 }
-#endif // FEATURE_EVENT_TRACE
-
-#if defined(FEATURE_EVENT_TRACE)
-
-// This macro only checks if a provider is enabled
-// It does not check the flags and keywords for which it is enabled
-#define ETW_PROVIDER_ENABLED(ProviderSymbol)                 \
-        ProviderSymbol##_Context.IsEnabled
+#endif // FEATURE_EVENT_TRACE && !defined(FEATURE_PAL)
 
-#else
-
-#define ETW_PROVIDER_ENABLED(ProviderSymbol) TRUE
-
-#endif // FEATURE_EVENT_TRACE
 
 #endif // !FEATURE_REDHAWK
 
@@ -943,131 +1075,5 @@ namespace ETW
     };
 };
 
-#ifndef FEATURE_REDHAWK
-
-#ifdef FEATURE_EVENT_TRACE
-
-//
-// Use this macro at the least before calling the Event Macros
-//
-
-#define ETW_TRACING_INITIALIZED(RegHandle) \
-    (g_pEtwTracer && RegHandle)
-
-//
-// Use this macro to check if an event is enabled
-// if the fields in the event are not cheap to calculate
-//
-#define ETW_EVENT_ENABLED(Context, EventDescriptor) \
-    (MCGEN_ENABLE_CHECK(Context, EventDescriptor))
-
-//
-// Use this macro to check if a category of events is enabled
-// 
-
-#define ETW_CATEGORY_ENABLED(Context, Level, Keyword) \
-    (Context.IsEnabled && McGenEventProviderEnabled(&Context, Level, Keyword))
-
-
-
-//
-// Special Handling of Startup events
-//
-
-#if defined(FEATURE_EVENT_TRACE)
-// "mc.exe -MOF" already generates this block for XP-suported builds inside ClrEtwAll.h;
-// on Vista+ builds, mc is run without -MOF, and we still have code that depends on it, so
-// we manually place it here.
-ETW_INLINE
-ULONG
-CoMofTemplate_h(
-    __in REGHANDLE RegHandle,
-    __in PCEVENT_DESCRIPTOR Descriptor,
-    __in_opt LPCGUID EventGuid,
-    __in const unsigned short  ClrInstanceID
-    )
-{
-#define ARGUMENT_COUNT_h 1
-    ULONG Error = ERROR_SUCCESS;
-typedef struct _MCGEN_TRACE_BUFFER {
-    EVENT_TRACE_HEADER Header;
-    EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_h];
-} MCGEN_TRACE_BUFFER;
-
-    MCGEN_TRACE_BUFFER TraceBuf;
-    PEVENT_DATA_DESCRIPTOR EventData = TraceBuf.EventData;
-
-    EventDataDescCreate(&EventData[0], &ClrInstanceID, sizeof(const unsigned short)  );
-
-
-  {
-    Error = EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_h, EventData);
-
-  }
-
-#ifdef MCGEN_CALLOUT
-MCGEN_CALLOUT(RegHandle,
-              Descriptor,
-              ARGUMENT_COUNT_h,
-              EventData);
-#endif
-
-    return Error;
-}
-#endif // defined(FEATURE_EVENT_TRACE)
-
-class ETWTraceStartup {
-    REGHANDLE TraceHandle;
-    PCEVENT_DESCRIPTOR EventStartDescriptor;
-    LPCGUID EventStartGuid;
-    PCEVENT_DESCRIPTOR EventEndDescriptor;
-    LPCGUID EventEndGuid;
-public:
-    ETWTraceStartup(REGHANDLE _TraceHandle, PCEVENT_DESCRIPTOR _EventStartDescriptor, LPCGUID _EventStartGuid, PCEVENT_DESCRIPTOR _EventEndDescriptor, LPCGUID _EventEndGuid) {
-        TraceHandle = _TraceHandle;
-        EventStartDescriptor = _EventStartDescriptor;
-        EventEndDescriptor = _EventEndDescriptor;
-        EventStartGuid = _EventStartGuid;
-        EventEndGuid = _EventEndGuid;
-        StartupTraceEvent(TraceHandle, EventStartDescriptor, EventStartGuid);
-    }
-    ~ETWTraceStartup() {
-        StartupTraceEvent(TraceHandle, EventEndDescriptor, EventEndGuid);
-    }
-    static void StartupTraceEvent(REGHANDLE _TraceHandle, PCEVENT_DESCRIPTOR _EventDescriptor, LPCGUID _EventGuid) {
-        EVENT_DESCRIPTOR desc = *_EventDescriptor;
-        if(ETW_TRACING_ENABLED(MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER_Context, desc))
-        {
-            CoMofTemplate_h(MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER_Context.RegistrationHandle, _EventDescriptor, _EventGuid, GetClrInstanceId());
-        }
-    }
-};
-
-
-
-#else // FEATURE_EVENT_TRACE
-
-#define ETWOnStartup(StartEventName, EndEventName)
-#define ETWFireEvent(EventName)
-
-// Use this macro at the least before calling the Event Macros
-#define ETW_TRACING_INITIALIZED(RegHandle) (FALSE)
-
-// Use this macro to check if an event is enabled
-// if the fields in the event are not cheap to calculate
-#define ETW_EVENT_ENABLED(Context, EventDescriptor) (FALSE)
-
-// Use this macro to check if a category of events is enabled
-#define ETW_CATEGORY_ENABLED(Context, Level, Keyword) (FALSE)
-
-// Use this macro to check if ETW is initialized and the event is enabled
-#define ETW_TRACING_ENABLED(Context, EventDescriptor) (FALSE)
-
-// Use this macro to check if ETW is initialized and the category is enabled
-#define ETW_TRACING_CATEGORY_ENABLED(Context, Level, Keyword) (FALSE)
-
-#endif // FEATURE_EVENT_TRACE  
-
-#endif // FEATURE_REDHAWK
 
 #endif //_ETWTRACER_HXX_
diff --git a/src/inc/genXplatEtw.pl b/src/inc/genXplatEtw.pl
new file mode 100644 (file)
index 0000000..46421f5
--- /dev/null
@@ -0,0 +1,536 @@
+##
+## Copyright (c) Microsoft. All rights reserved.
+## Licensed under the MIT license. See LICENSE file in the project root for full license information.
+##
+#
+#USAGE: 
+#Add Events: modify <root>src/vm/ClrEtwAll.man
+#Look at the Code in  <root>/src/inc/genXplatLttng.pl for using subroutines in this file
+#
+
+use strict;
+use warnings;
+use XML::DOM;
+use FindBin;
+use Scalar::Util qw(looks_like_number);
+use Term::ANSIColor;
+our $stdprolog=<<Copy_Right;
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/inc/genXplatEtw.pl
+
+******************************************************************/
+
+Copy_Right
+
+
+our $lindent = "                  ";
+our %palDataTypeMapping =(
+#constructed types
+    "win:null"          =>" ",
+    "win:Int64"         =>"const __int64",
+    "win:ULong"         =>"const ULONG",
+    "win:count"         =>"*",
+    "win:Struct"        =>"const void",
+#actual spec
+    "win:GUID"          =>"const GUID",
+    "win:AnsiString"    =>"LPCSTR",
+    "win:UnicodeString" =>"PCWSTR",
+    "win:Double"        =>"const double",
+    "win:Int32"         =>"const signed int",
+    "win:Boolean"       =>"const BOOL",
+    "win:UInt64"        =>"const unsigned __int64",
+    "win:UInt32"        =>"const unsigned int",
+    "win:UInt16"        =>"const unsigned short",
+    "win:UInt8"         =>"const unsigned char",
+    "win:Pointer"       =>"const void*",
+    "win:Binary"        =>"const BYTE"
+);
+
+#the abstract templates are created out of the templates in the manifest,
+#they generally correspond one to one, but if the number of arguments in the
+#manifest template > 10 it is broken down to a different abstract template with
+#the same name followed by suffix _<num>
+
+    #return values
+#   my %allTemplatemap;           #maps manifest templates to the list of abstract templates
+#   my %allAbstractTemplateTypes; #has all the required info on abstract template
+#       Fields:
+#             "type"=> AbstractTypeName as given in the Manifest,
+#             "var" => The Name of the Variable as given in the Manifest,
+#             "count" =>indicates if the variable is a pointer to a memory location
+#
+#   my %allTemplateVarProps;      # maps  size occupied in memory for every pointer by the variable name per abstract template
+#
+my @ignoredXmlTemplateAttribes = ("map","outType");
+my @usedXmlTemplateAttribes = ("name","inType","count", "length");
+sub ParseTemplates
+{
+    my @rTemplateNodes = @_;
+
+    #return values
+    my %allTemplatemap;
+    my %allAbstractTemplateTypes;
+    my %allTemplateVarProps;
+
+    foreach my $rTemplateNode (@rTemplateNodes)
+    {
+        my $templateName = $rTemplateNode->getAttribute('tid');
+        #step 1: Get the list of arguments
+        my @fnSignature;
+        my %fnSignatureshadow;
+        my %varProps;
+        my %varDependencies;
+        my $count = 0;
+
+#validate that no new attribute is added to XML file that we do not know about
+my %ignoredXmlTemplateAttribes = map {$_ => 1} @ignoredXmlTemplateAttribes;
+my %usedXmlTemplateAttribes    = map {$_ => 1} @usedXmlTemplateAttribes;
+
+        foreach my $rdataNode ($rTemplateNode->getElementsByTagName('data',0))
+        {
+            my $nodemap = $rdataNode->getAttributes;
+
+            for my $val ($nodemap->getValues)
+            {
+                my $attrib_name = $val->getName();
+                if (!exists($ignoredXmlTemplateAttribes{$attrib_name}) && !exists($usedXmlTemplateAttribes{$attrib_name}))
+                {
+                    die "unknown attribute $attrib_name in template:$templateName";
+                }
+            }
+        }
+#end of validation
+
+        foreach my $rdataNode ($rTemplateNode->getElementsByTagName('data',0))
+        {
+            my $dataName    = $rdataNode->getAttribute('name');
+            my $wintypeName = $rdataNode->getAttribute('inType');
+
+            #count and length are the same
+
+            my $wincount  = $rdataNode->getAttribute('count');
+            my $winlength = $rdataNode->getAttribute('length');
+
+            if ((looks_like_number($winlength) && $winlength != 1) || $winlength ne "") {
+                $wincount =$winlength;
+            }
+            #connstruct function signature
+            $fnSignatureshadow{$dataName} = {"type"=> $wintypeName,"var" => $dataName, "count" =>"win:null"};
+            $fnSignature[$count++]        = $dataName;
+            my  @varDpnds                 = ($dataName);
+
+            if  (looks_like_number($wincount) && $wincount == 1){}
+            elsif( $wincount ne ""  )
+            {
+                $fnSignatureshadow{$dataName}{"count"} ="win:count";
+                my $countVarName = $wincount;
+                if ( exists $fnSignatureshadow{$countVarName})
+                {
+
+                    $varProps{$dataName} = "$countVarName";
+                    @varDpnds = ($countVarName,@varDpnds); # make sure $dataName is the last in the list
+                }
+                elsif (looks_like_number($wincount))
+                {
+                    $varProps{$dataName} = "$wincount";
+
+                }
+                else {
+                    die "don't know ehat the count: $count represents \n";
+                }
+
+            }
+            #special case for GUIDS, consider them as structs
+            if ($wintypeName eq "win:GUID")
+            {
+                $fnSignatureshadow{$dataName}{"count"} = "win:count";
+                $varProps{$dataName}                   = "sizeof(GUID)/sizeof(int)";
+            }
+            $varDependencies{$dataName} = \@varDpnds;
+        }
+
+        foreach my $structToBeMarshalled  ($rTemplateNode->getElementsByTagName('struct',0))
+        {
+
+            #add to the function signature
+            my $struct_len     =  "Arg$count"."_Struct_Len_";
+            my $struct_pointer = "Arg$count"."_Struct_Pointer_";
+
+            $fnSignatureshadow{$struct_len}     = {"type"=> "win:ULong","var" => $struct_len, "count" =>"win:null"};
+            $fnSignatureshadow{$struct_pointer} = {"type"=> "win:Struct","var" => $struct_pointer, "count" =>"win:count"};
+
+            $fnSignature[$count++] = $struct_len;
+            $fnSignature[$count++] = $struct_pointer;
+            #used in code generation
+            my $structName                    = $structToBeMarshalled->getAttribute('name');
+            my $countVarName                  = $structToBeMarshalled->getAttribute('count') || die "Struct $structName in template $templateName does not have attribute count";
+            $varProps{$struct_pointer}        = "$countVarName*$struct_len/sizeof(int)";
+            $varDependencies{$struct_len}     = [$struct_len];
+            $varDependencies{$struct_pointer} = [$countVarName, $struct_len, $struct_pointer];
+        }
+
+
+        #at this point we have the complete argument list, now break them into chunks of ten
+        #As Abstract supports a maximum of 10 arguments
+        $count                   = 0;
+        my $abstracttemplateName = $templateName;
+        my $subevent_cnt         = 1;
+        my $last_inserted;
+        my %abstractFnFrameShadow;
+        my @abstractFnFrame;
+
+        foreach  my $dataName  (@fnSignature)
+        {
+            FRAMEARGS:
+            my $framecount = @abstractFnFrame;
+            if ($count%10 == 0 and $framecount > 0)
+            {
+                #check if all the dependecies are present
+                my $depExists   = 1;
+                my $dependecies = $varDependencies{$dataName};
+                foreach my $dependency (@$dependecies)
+                {
+                    if (not exists $abstractFnFrameShadow{$dependency})
+                    {
+                        $depExists = 0;
+                        last;
+                    }
+                }
+                #remove elements if the dependency list is not complete
+                if( $depExists == 0 )
+                {
+
+                    print color('bold red'), "***Warning: Test this feature out depends removed in $abstracttemplateName with @$dependecies\n ***";
+                    my $i=0;
+                    my $firstdependecy = @$dependecies[0] || die "no varDependencies for $dataName";
+
+                    foreach  my $params (@abstractFnFrame)
+                    {
+                        my $varname = $params->{"var"} || die "no name ";
+                        if ($varname  eq $firstdependecy ){  last; }
+                        $i++;
+                    }
+
+                    my $dependecieslen = @$dependecies;
+                    splice @abstractFnFrame, $i,$dependecieslen ;
+                }
+
+                @{$allAbstractTemplateTypes{$abstracttemplateName}} = @abstractFnFrame;
+                push (@{$allTemplatemap{$templateName}}, $abstracttemplateName);
+                $allTemplateVarProps{$abstracttemplateName} = \%varProps;
+                #clear abstractFnFrameShadow
+                undef %abstractFnFrameShadow;
+                undef @abstractFnFrame ;
+                $abstracttemplateName = "$templateName\_$subevent_cnt";
+                $subevent_cnt++;
+                $count = 0;
+
+                next; # so that next frame can begin
+            }
+
+            my $dependecies = $varDependencies{$dataName} || die "no varDependencies for $dataName";
+            foreach my $dependency (@$dependecies)
+            {
+
+                if (not exists $abstractFnFrameShadow{$dependency})
+                {
+                    $abstractFnFrameShadow{$dependency} = 1;
+                    $abstractFnFrame[$count++]          = $fnSignatureshadow{$dependency};
+
+                    #   if ($dataName ne   $dependency){
+                    goto FRAMEARGS;
+                    #}
+                }
+            }
+        }
+        my $templatelen = @fnSignature;
+        if($templatelen == 0 || $count > 0)
+        {
+            push (@{$allTemplatemap{$templateName}}, $abstracttemplateName);
+            $allAbstractTemplateTypes{$abstracttemplateName} =\@abstractFnFrame;
+            $allTemplateVarProps{$abstracttemplateName}      =\%varProps;
+        }
+    }
+
+    return (\%allTemplatemap,\%allAbstractTemplateTypes,\%allTemplateVarProps)
+}
+
+#generates the dummy header file which is used by the VM as entry point to the logging Functions
+sub GenerateclrEtwDummy
+{
+    my ($rTemplateNodes,$allTemplatemap,$allAbstractTemplateTypes,$allTemplateVarProps,$alleventname) = @_;
+    my @rTemplateNodes        = @$rTemplateNodes ;
+    my @alleventname          = @$alleventname ;
+    my %allTemplatemap        = %$allTemplatemap;
+    my %allAbstractTemplateTypes = %$allAbstractTemplateTypes;
+    my %allTemplateVarProps   = %$allTemplateVarProps;
+    my $clretmEvents;
+
+    foreach my $reventNode (@alleventname)
+    {
+        my $eventName    = $reventNode->getAttribute('symbol');
+        my $templateName = $reventNode->getAttribute('template');
+
+        #generate FireEtw functions
+        my $fnptype = "\#define FireEtw$eventName(";
+        my $line    = "";
+        if ($templateName ne '')
+        {
+            foreach my $subtemplates (@{$allTemplatemap{$templateName}})
+            {
+                my $fnSignature = $allAbstractTemplateTypes{$subtemplates};
+
+                foreach  my $params (@$fnSignature)
+                {
+                    $line = $line.$params->{"var"}.", ";
+                }
+            }
+            $line =~s/, +$//;
+        }
+        $fnptype      = $fnptype.$line.") 0\n";
+        $clretmEvents = $clretmEvents.$fnptype;
+    }
+    return $clretmEvents;
+}
+#generates the header file which is used by the VM as entry point to the logging Functions
+sub GenerateclrallEvents
+{
+    my ($rTemplateNodes,$allTemplatemap,$allAbstractTemplateTypes,$allTemplateVarProps,$alleventname) = @_;
+    my @rTemplateNodes        = @$rTemplateNodes ;
+    my @alleventname          = @$alleventname ;
+    my %allTemplatemap        = %$allTemplatemap;
+    my %allAbstractTemplateTypes = %$allAbstractTemplateTypes;
+    my %allTemplateVarProps   = %$allTemplateVarProps;
+    my $clrallEvents;
+    foreach my $reventNode (@alleventname)
+    {
+        my $eventName    = $reventNode->getAttribute('symbol');
+        my $templateName = $reventNode->getAttribute('template');
+
+        #generate EventEnabled
+        $clrallEvents = $clrallEvents."extern \"C\" BOOL  EventEnabled$eventName();\n";
+        #generate FireEtw functions
+        my $fnptype = "extern \"C\" ULONG   FireEtw$eventName(\n";
+        my $line    = "";
+        if ($templateName ne '')
+        {
+            foreach my $subtemplates (@{$allTemplatemap{$templateName}})
+            {
+                my $fnSignature = $allAbstractTemplateTypes{$subtemplates};
+
+                foreach  my $params (@$fnSignature)
+                {
+                    my $wintypeName = $params->{"type"};
+                    my $typewName   = $palDataTypeMapping{$wintypeName} || die "no mapping for $wintypeName";
+                    my $winCount    = $params->{"count"};
+                    my $countw      = $palDataTypeMapping{$winCount} || die "no mapping for $winCount";
+                    $line           = $line.$lindent.$typewName.$countw." ";
+                    $line           = $line.$params->{"var"};
+                    $line           = $line.",\n";
+                }
+            }
+            $line =~ s/,+$//;
+        }
+        $fnptype      = $fnptype.$line.");\n";
+        $clrallEvents = $clrallEvents.$fnptype;
+    }
+    return $clrallEvents;
+}
+
+# Generates PAL tests that are used for sanity checking of the Logging Functions
+sub GenerateclralltestEvents
+{
+    my ($rTemplateNodes,$allTemplatemap,$allAbstractTemplateTypes,$allTemplateVarProps,$alleventname) = @_;
+    my @rTemplateNodes        = @$rTemplateNodes ;
+    my @alleventname          = @$alleventname ;
+    my %allTemplatemap        = %$allTemplatemap;
+    my %allAbstractTemplateTypes = %$allAbstractTemplateTypes;
+    my %allTemplateVarProps   = %$allTemplateVarProps;
+    my $clrallTestEvents;
+    foreach my $reventNode (@alleventname)
+    {
+        my $eventName    = $reventNode->getAttribute('symbol');
+        my $templateName = $reventNode->getAttribute('template');
+
+        #generate EventEnabled
+        $clrallTestEvents = $clrallTestEvents." EventEnabled$eventName();\n";
+        #generate FireEtw functions
+        my $fnptype = "Error |= FireEtw$eventName(\n";
+        my $line="";
+        if ($templateName ne '')
+        {
+            foreach my $subtemplates (@{$allTemplatemap{$templateName}})
+            {
+                my $fnSignature = $allAbstractTemplateTypes{$subtemplates};
+
+                foreach  my $params (@$fnSignature)
+                {
+                    my $wintypeName = $params->{"type"};
+                    my $winCount    = $params->{"count"};
+                    my $countw      = $palDataTypeMapping{$winCount} || die "no mapping for $winCount";
+                    my $varName     = $params->{"var"};
+                    my $argline;
+                    if ( uc($varName) eq "COUNT")
+                    {
+                        $argline="2";
+                    }
+                    else
+                    {
+                        if( $wintypeName eq "win:GUID"){  $argline = "&myGuid";}
+                        elsif( $wintypeName eq "win:Binary"){  $argline = "win_Binary";}
+                        elsif( $wintypeName eq "win:Pointer" && $winCount eq "win:count"){  $argline = "(const void**)&var11";}
+                        elsif( $wintypeName eq "win:Pointer"){  $argline        = "(const void*)var11";}
+                        elsif( $wintypeName eq "win:AnsiString" ){  $argline    = "\" Testing AniString \"";}
+                        elsif( $wintypeName eq "win:UnicodeString" ){  $argline = "W(\" Testing UnicodeString \")";}
+                        else{
+                            if( $winCount eq "win:count"){  $line = $line."&";}
+                            $argline = $wintypeName;
+                            $argline =~ s/:/_/;
+                        }
+
+                    }
+                    $line = $line.$argline;
+                    $line = $line.",\n";
+                }
+            }
+            $line =~ s/,+$//;
+        }
+        $fnptype          = $fnptype.$line.");\n";
+        $clrallTestEvents = $clrallTestEvents.$fnptype;
+    }
+    return $clrallTestEvents;
+}
+
+sub WriteTestProlog
+{
+    #Test prolog
+    my $clrallTestEvents = <<TestCPP_Prolog;
+/*=====================================================================
+**
+** Source:   clralltestevents.cpp
+**
+** Purpose:  Ensure Correctness of Eventing code
+**
+**
+**===================================================================*/
+#include <palsuite.h>
+#include <clrallevents.h>
+
+typedef struct _Struct1 {
+        ULONG   Data1;
+        unsigned short Data2;
+        unsigned short Data3;
+        unsigned char  Data4[8];
+} Struct1;
+
+Struct1 var21[2] = { { 245, 13, 14, "deadbea" }, { 542, 0, 14, "deadflu" } };
+
+Struct1* var11 = var21;
+Struct1* win_Struct = var21;
+
+GUID myGuid ={ 245, 13, 14, "deadbea" };
+double win_Double =34.04;
+ULONG win_ULong = 34;
+BOOL win_Boolean = FALSE;
+unsigned __int64 win_UInt64 = 114;
+unsigned int win_UInt32 = 4;
+unsigned short win_UInt16 = 12;
+unsigned char win_UInt8 = 9;
+int win_Int32 = 12;
+BYTE* win_Binary =(BYTE*)var21 ; 
+int __cdecl main(int argc, char **argv)
+{
+
+    /* Initialize the PAL.
+    */
+
+    if(0 != PAL_Initialize(argc, argv))
+    {
+        return FAIL;
+    }
+
+    ULONG Error = ERROR_SUCCESS;
+#if defined(FEATURE_EVENT_TRACE)
+    Trace("\\n Starting functional  eventing APIs tests  \\n");
+
+TestCPP_Prolog
+}
+
+sub WriteTestEpilog
+{
+    my $clrallTestEvents=<<TestCPP_Epilog;
+ /* Shutdown the PAL.
+     */
+
+    if (Error != ERROR_SUCCESS)
+    {
+        Fail("One or more eventing Apis failed\\n ");
+        return FAIL;
+    }
+        Trace("\\n All eventing APIs were fired succesfully \\n");
+#endif //defined(FEATURE_EVENT_TRACE)
+        PAL_Terminate();
+        return PASS;
+}
+
+TestCPP_Epilog
+    return $clrallTestEvents;
+}
+# This function generates files which are independent of the logging system
+# and provides the entry point to the Event Logging system
+sub GeneratePlformIndFiles
+{
+
+    
+    my $sClrEtwAllMan    = $_[0]; #the manifest 
+    my $rParser          = new XML::DOM::Parser;
+    my $rClrEtwAllMan    = $rParser->parsefile($sClrEtwAllMan);
+    my $clrallevents     = "$FindBin::Bin/../pal/prebuilt/inc/clrallevents.h";
+    my $clretwdummy      = "$FindBin::Bin/../pal/prebuilt/inc/etmdummy.h";
+    my $clralltestevents = "$FindBin::Bin/../pal/tests/palsuite/eventprovider/clralltestevents.cpp";
+
+    open(clrallEvents,     ">$clrallevents") || die "Cannot open $clrallevents\n";
+    open(clrEtwDummy,      ">$clretwdummy") || die "Cannot open $clretwdummy\n";
+    open(clrallTestEvents, ">$clralltestevents") || die "Cannot open $clrallevents\n";
+    
+    print clrallEvents     $stdprolog;
+    print clrEtwDummy      $stdprolog;
+    print clrallTestEvents $stdprolog;
+    print clrallTestEvents WriteTestProlog();
+    
+    foreach my $rProviderNode ($rClrEtwAllMan->getElementsByTagName('provider'))
+    {
+        my @rTemplateNodes = $rProviderNode->getElementsByTagName('template');
+        my @alleventname   = $rProviderNode->getElementsByTagName('event');
+#Parse the XML file to construct datatypes used in code generation below
+
+        my ($allTemplatemap,$allAbstractTemplateTypes,$allTemplateVarProps) = ParseTemplates(@rTemplateNodes);
+        
+        my %allTemplatemap           = %$allTemplatemap;
+        my %allAbstractTemplateTypes = %$allAbstractTemplateTypes;
+        my %allTemplateVarProps      = %$allTemplateVarProps;
+
+#pal: create clrallevents.h
+        print clrallEvents GenerateclrallEvents(\@rTemplateNodes,\%allTemplatemap,\%allAbstractTemplateTypes,\%allTemplateVarProps,\@alleventname);
+
+#pal: create etmdummy.h
+        print clrEtwDummy GenerateclrEtwDummy(\@rTemplateNodes,\%allTemplatemap,\%allAbstractTemplateTypes,\%allTemplateVarProps,\@alleventname);
+
+#paltest: create clralltestevents.cpp
+        print clrallTestEvents GenerateclralltestEvents(\@rTemplateNodes,\%allTemplatemap,\%allAbstractTemplateTypes,\%allTemplateVarProps,\@alleventname);
+    }
+
+    print clrallTestEvents WriteTestEpilog();
+
+    close(clrallEvents);
+    close(clrallTestEvents);
+    $rClrEtwAllMan->dispose;
+}
+
diff --git a/src/inc/genXplatLtnng.pl b/src/inc/genXplatLtnng.pl
new file mode 100644 (file)
index 0000000..39aff1a
--- /dev/null
@@ -0,0 +1,541 @@
+##
+## Copyright (c) Microsoft. All rights reserved.
+## Licensed under the MIT license. See LICENSE file in the project root for full license information.
+##
+#
+#USAGE: 
+#Add Events: modify <root>src/vm/ClrEtwAll.man
+#Generate Code : perl <root>/src/inc/genXplatLttng.pl
+#
+
+use strict;
+use warnings;
+use XML::DOM;
+use FindBin;
+use Scalar::Util qw(looks_like_number);
+
+
+our $lindent;
+our %palDataTypeMapping;
+
+require "$FindBin::Bin/genXplatEtw.pl";
+
+my $stdprolog=<<Copy_Right;
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
+
+******************************************************************/
+
+Copy_Right
+
+my %lttngDataTypeMapping =(
+#constructed types
+    "win:null"          =>" ",
+    "win:Int64"         =>"const __int64",
+    "win:ULong"         =>"const ULONG",
+    "win:count"         =>"*",
+    "win:Struct"        =>"const int",
+#actual spec
+    "win:GUID"          =>"const int",
+    "win:AnsiString"    =>"const char*",
+    "win:UnicodeString" =>"const char*",
+    "win:Double"        =>"const double",
+    "win:Int32"         =>"const signed int",
+    "win:Boolean"       =>"const BOOL",
+    "win:UInt64"        =>"const unsigned __int64",
+    "win:UInt32"        =>"const unsigned int",
+    "win:UInt16"        =>"const unsigned short",
+    "win:UInt8"         =>"const unsigned char",
+    "win:Pointer"       =>"const size_t",
+    "win:Binary"        =>"const BYTE"
+);
+
+my %ctfDataTypeMapping =(
+#constructed types
+    "win:Int64"         =>"ctf_integer",
+    "win:ULong"         =>"ctf_integer",
+    "win:count"         =>"ctf_sequence",
+    "win:Struct"        =>"ctf_sequence",
+#actual spec
+    "win:GUID"          =>"ctf_sequence",
+    "win:AnsiString"    =>"ctf_string",
+    "win:UnicodeString" =>"ctf_string",
+    "win:Double"        =>"ctf_float",
+    "win:Int32"         =>"ctf_integer",
+    "win:Boolean"       =>"ctf_integer",
+    "win:UInt64"        =>"ctf_integer",
+    "win:UInt32"        =>"ctf_integer",
+    "win:UInt16"        =>"ctf_integer",
+    "win:UInt8"         =>"ctf_integer",  #actually a character
+    "win:Pointer"       =>"ctf_integer",
+    "win:Binary"        =>"ctf_sequence"
+);
+
+#we loop over the template property so that the code generated is same every time the script runs
+#generate the code in
+
+#            generate $lttngevent*header.h
+#            each template corresponds to a TRACEPOINT_EVENT_CLASS, its structure would be like
+#define ThreadCreated_TRACEPOINT_ARGS \
+#    TP_ARGS(\
+#        const unsigned __int64, ManagedThreadID,\
+#        cosnt unsigned __int64, AppDomainID,\
+#        const unsigned int, Flags,\
+#        const unsigned int, ManagedThreadIndex,\
+#        const unsigned int, OSThreadID,\
+#        const unsigned short, ClrInstanceID\
+#    )
+#TRACEPOINT_EVENT_CLASS(
+#    Microsoft_DotNETRuntime,
+#    ThreadCreated ,
+#    ThreadCreated_TRACEPOINT_ARGS,
+#    TP_FIELDS(
+#        ctf_integer(unsigned __int64, ManagedThreadID,ManagedThreadID)
+#        ctf_integer(unsigned __int64, AppDomainID,AppDomainID)
+#        ctf_integer(unsigned int, Flags,Flags)
+#        ctf_integer(unsigned int, ManagedThreadIndex,ManagedThreadIndex)
+#        ctf_integer(unsigned int, OSThreadID,OSThreadID)
+#        ctf_integer(unsigned short, ClrInstanceID,ClrInstanceID)
+#    )
+#)
+#define ThreadCreatedT_TRACEPOINT_INSTANCE(name) \
+#TRACEPOINT_EVENT_INSTANCE(\
+#    Microsoft_DotNETRuntime,\
+#    ThreadCreated ,\
+#    name ,\
+#    ThreadCreated_TRACEPOINT_ARGS\
+#)
+sub GenerateLttngHeader
+{
+    my ($providerName,$rTemplateNodes,$allTemplatemap,$allLTTngTemplateTypes,$allTemplateVarProps,$alleventname) = @_;
+    my @rTemplateNodes        = @$rTemplateNodes ;
+    my @alleventname          = @$alleventname ;
+    my %allTemplatemap        = %$allTemplatemap;
+    my %allLTTngTemplateTypes = %$allLTTngTemplateTypes;
+    my %allTemplateVarProps   = %$allTemplateVarProps;
+    my $lTTngHdr;
+
+    foreach my $rTemplateNode (@rTemplateNodes)
+    {
+        my $XMLtemplateName = $rTemplateNode->getAttribute('tid');
+        foreach my $templateName (@{$allTemplatemap{$XMLtemplateName}})
+        {
+            my $fnSignature =  $allLTTngTemplateTypes{$templateName};
+            my $tp_args;
+#TP_ARGS
+            $tp_args=<<TP_ARGS_PROLOG;
+
+#define $templateName\_TRACEPOINT_ARGS \\
+TP_ARGS(\\
+TP_ARGS_PROLOG
+            foreach  my $params (@$fnSignature)
+            {
+
+                my $wintypeName = $params->{"type"} || die "no type ";
+                my $varname     = $params->{"var"} || die "no name ";
+                my $winCount    = $params->{"count"} || die "no count ";
+                my $countw      = $lttngDataTypeMapping{$winCount} || die "no mapping for $winCount";
+
+                #TP_ARGS
+                my $typewName = $lttngDataTypeMapping{$wintypeName} || die "no mapping for $wintypeName";
+                $tp_args      = $tp_args."        $typewName"."$countw";
+                $tp_args      =~s/ +$//;
+                $tp_args      = $tp_args." ,$varname,\\\n";
+
+            }
+            $tp_args  =~s/,\\\n+$//;
+            $tp_args  = $tp_args."\\\n)\n";
+            $lTTngHdr = $lTTngHdr.$tp_args;
+# end of TP_ARGS
+
+#TP Fields and Event Class
+
+#start TP_EVENT_CLASS
+            my $tp_fields = <<TP_EVENT_CLASS_CONT;
+TRACEPOINT_EVENT_CLASS(
+    $providerName,
+    $templateName,
+    $templateName\_TRACEPOINT_ARGS,
+     TP_FIELDS(
+TP_EVENT_CLASS_CONT
+
+            foreach  my $params (@$fnSignature)
+            {
+                my $wintypeName = $params->{"type"};
+                my $varname     = $params->{"var"};
+                my $winCount    = $params->{"count"};
+                my $countw      = $lttngDataTypeMapping{$winCount} || die "no mapping for $winCount";
+                my $typewName   = $lttngDataTypeMapping{$wintypeName} || die "no mapping for $wintypeName";
+                $typewName      =~s/^const //;
+
+                #TP_FIELDS
+                my $ctf_type;
+                my $tp_fields_body;
+                my $varProps = $allTemplateVarProps{$templateName};
+
+                if (exists $varProps->{$varname})
+                {
+                    #this is an explicit struct treat as a sequence
+                    $ctf_type       = "ctf_sequence";
+                    my $sizeofseq   = "$varProps->{$varname}";
+                    $tp_fields_body = "$typewName, $varname, $varname,size_t,$sizeofseq";
+                }
+                else
+                {
+                    $ctf_type = $ctfDataTypeMapping{$wintypeName} || die "no mapping for $wintypeName";
+
+                    if ($ctf_type eq "ctf_string")
+                    {
+                        $tp_fields_body = "$varname,$varname";
+                    }
+                    elsif ($ctf_type eq "ctf_integer" || $ctf_type eq "ctf_float")
+                    {
+                        $tp_fields_body = "$typewName,$varname,$varname";
+                    }
+                    elsif ($ctf_type eq "ctf_sequence") 
+                    {
+                        die "ctf_sequence needs to have its memory expilicitly laid out";
+                    }
+                    else 
+                    {
+                        die "no such ctf intrinsic called $ctf_type"; 
+                    }
+
+                }
+
+                $tp_fields = $tp_fields."        $ctf_type($tp_fields_body)\n";
+            }
+            $tp_fields = $tp_fields."    )\n)\n";
+            $lTTngHdr  = $lTTngHdr.$tp_fields;
+
+
+# end of TP_EVENT_CLASS
+            #
+# Macro for defining event instance
+            $lTTngHdr = $lTTngHdr."#define $templateName";
+            $lTTngHdr = $lTTngHdr.<<TP_EVENT_CLASS_EPILOG;
+T_TRACEPOINT_INSTANCE(name) \\
+TRACEPOINT_EVENT_INSTANCE(\\
+    $providerName,\\
+    $templateName ,\\
+    name ,\\
+    $templateName\_TRACEPOINT_ARGS \\
+)
+TP_EVENT_CLASS_EPILOG
+
+#end Macro for defining event instance
+        }
+    }
+#add an empty template node to just specify the event name in the event stream
+    $lTTngHdr = $lTTngHdr.<<TP_EVENT_CLASS_EMPTY;
+TRACEPOINT_EVENT_CLASS(
+    $providerName,
+    emptyTemplate ,
+    TP_ARGS(),
+    TP_FIELDS()
+)
+#define T_TRACEPOINT_INSTANCE(name) \\
+TRACEPOINT_EVENT_INSTANCE(\\
+    $providerName,\\
+    emptyTemplate,\\
+    name ,\\
+    TP_ARGS()\\
+)
+TP_EVENT_CLASS_EMPTY
+#end of empty template
+    # create the event instance in headers
+    foreach my $reventNode (@alleventname)
+    {
+        my $eventName    = $reventNode->getAttribute('symbol');
+        my $templateName = $reventNode->getAttribute('template');
+
+        if ($eventName eq '') { die " $reventNode event does not have a symbol"}
+        if ($templateName eq '')
+        {
+            $lTTngHdr = $lTTngHdr."T_TRACEPOINT_INSTANCE($eventName)\n";
+            next;
+        }
+
+        foreach my $subtemplates (@{$allTemplatemap{$templateName}})
+        {
+            my $subevent = $subtemplates;
+            $subevent    =~s/$templateName//;
+            $lTTngHdr    = $lTTngHdr."$subtemplates"."T_TRACEPOINT_INSTANCE($eventName$subevent)\n";
+        }
+
+    }
+
+    $lTTngHdr = $lTTngHdr.<<EOT_Epilog;
+#endif /* LTTNG_CORECLR_H$providerName */
+#include <lttng/tracepoint-event.h>
+EOT_Epilog
+
+    return  $lTTngHdr;
+}
+
+sub GenerateLttngTpProvider
+{
+    my ($providerName,$rTemplateNodes,$allTemplatemap,$allLTTngTemplateTypes,$allTemplateVarProps,$alleventname) = @_;
+    my @rTemplateNodes        = @$rTemplateNodes ;
+    my @alleventname          = @$alleventname ;
+    my %allTemplatemap        = %$allTemplatemap;
+    my %allLTTngTemplateTypes = %$allLTTngTemplateTypes;
+    my %allTemplateVarProps   = %$allTemplateVarProps;
+    my $lTTngImpl;
+
+    foreach my $reventNode (@alleventname)
+    {
+        my @vars_to_be_freed; #vars representing the allocation we make
+        my $eventName    = $reventNode->getAttribute('symbol');
+        my $templateName = $reventNode->getAttribute('template');
+
+        #generate EventEnabled
+        $lTTngImpl  = $lTTngImpl."extern \"C\" BOOL  EventEnabled$eventName(){ return TRUE;}\n";
+        #generate FireEtw functions
+        my $fnptype     = "extern \"C\" ULONG  FireEtw$eventName(\n";
+        my $linefnptype = "";
+
+        if ( $templateName ne "")
+        {
+            foreach my $subtemplates (@{$allTemplatemap{$templateName}})
+            {
+                my $fnSignature = $allLTTngTemplateTypes{$subtemplates} ;
+
+
+                foreach  my $params (@$fnSignature)
+                {
+                    my $wintypeName = $params->{"type"};
+                    my $typewName   = $palDataTypeMapping{$wintypeName} || die "no mapping for $wintypeName";
+                    my $winCount    = $params->{"count"};
+                    my $countw      = $palDataTypeMapping{$winCount} || die "no mapping for $winCount";
+                    $linefnptype    = $linefnptype.$lindent.$typewName.$countw;
+                    $linefnptype    =~s/ +$//;
+                    $linefnptype    = $linefnptype." ";
+                    $linefnptype    = $linefnptype.$params->{"var"};
+                    $linefnptype    = $linefnptype.",\n";
+                }
+
+            }
+            $linefnptype =~ s/,+$//;
+        }
+        $fnptype   = $fnptype.$linefnptype.")\n";
+        $fnptype   = $fnptype."{\n  ULONG Error = ERROR_WRITE_FAULT;\n";
+        $lTTngImpl = $lTTngImpl.$fnptype;
+#start of fn body
+        $lTTngImpl = $lTTngImpl.<<FN_PROLOG;
+    if (!EventEnabled$eventName()){ return ERROR_SUCCESS;};
+FN_PROLOG
+        my $linefnbody = "";
+        if ($templateName ne '')
+        {
+#emit code to init variables convert unicode to ansi string
+            foreach my $subtemplates (@{$allTemplatemap{$templateName}})
+            {
+                my $fnSignature = $allLTTngTemplateTypes{$subtemplates};
+                foreach  my $params (@$fnSignature)
+                {
+                    my $wintypeName = $params->{"type"};
+                    if($wintypeName eq "win:UnicodeString")
+                    {
+
+                        my $paramname = $params->{"var"};
+                        $lTTngImpl    = $lTTngImpl.<<UTFCODE_INIT;
+    INT $paramname\_path_size = -1;
+    INT $paramname\_full_name_path_size = PAL_wcslen($paramname) + 1;
+    CHAR* $paramname\_full_name=NULL;
+UTFCODE_INIT
+                    }
+                }
+            }
+
+            $lTTngImpl = $lTTngImpl."\n";
+
+            foreach my $subtemplates (@{$allTemplatemap{$templateName}})
+            {
+                my $fnSignature = $allLTTngTemplateTypes{$subtemplates};
+                my  $subevent   = "";
+
+                if ($linefnbody ne "")
+                {
+                    $linefnbody =~ s/,+$//;
+                    $linefnbody = $linefnbody."        );\n";
+                }
+
+#start emitting Tracepoint                     
+                $subevent   = $subtemplates;
+                $subevent   =~s/$templateName//;
+                $linefnbody = <<FN_body_cont;
+                    $linefnbody
+     tracepoint(
+        $providerName,
+        $eventName$subevent,
+FN_body_cont
+                foreach  my $params (@$fnSignature)
+                {
+                    $linefnbody     = $linefnbody."        ";
+                    my $wintypeName = $params->{"type"};
+                    my $winCount    = $params->{"count"};
+                    my $paramname   = $params->{"var"};
+                    my $ctf_type    = $ctfDataTypeMapping{$winCount} || $ctfDataTypeMapping{$wintypeName} || die "no such ctf mapping for  $eventName: $wintypeName $paramname "; ;
+                    if ($ctf_type eq "ctf_string")
+                    {
+                        if($wintypeName eq "win:UnicodeString")
+                        {
+#emit code to convert unicode to ansi string
+                            $lTTngImpl = $lTTngImpl.<<UTFCODE;
+    $paramname\_full_name = (CHAR*)malloc($paramname\_full_name_path_size*sizeof(CHAR));
+    _ASSERTE($paramname\_full_name != NULL);
+    if($paramname\_full_name == NULL){goto LExit;}
+
+    $paramname\_path_size = WideCharToMultiByte( CP_ACP, 0, $paramname, -1, $paramname\_full_name, $paramname\_full_name_path_size, NULL, NULL );
+    _ASSERTE($paramname\_path_size == $paramname\_full_name_path_size );
+    if( $paramname\_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+UTFCODE
+                            push @vars_to_be_freed, "$paramname\_full_name";
+
+                            $linefnbody = $linefnbody."$paramname\_full_name";
+                            $linefnbody = $linefnbody.",\n";
+                            next;
+                        }
+                    }
+                    elsif (($ctf_type eq "ctf_sequence") or ($wintypeName eq "win:Pointer"))
+                    {
+
+                        $linefnbody = $linefnbody."($lttngDataTypeMapping{$wintypeName}$lttngDataTypeMapping{$winCount}";
+                        $linefnbody =~ s/ +$//;
+                        $linefnbody = $linefnbody.") ";
+                    }
+                    $linefnbody = $linefnbody.$paramname;
+                    $linefnbody = $linefnbody.",\n";
+                }
+            }
+            $linefnbody =~ s/,+$//;
+            $linefnbody = $linefnbody."        );\n";
+        }
+        else
+        {
+            $linefnbody = <<FN_body_cont;
+                    $linefnbody
+     tracepoint(
+        $providerName,
+        $eventName
+     );
+FN_body_cont
+
+        }
+
+        $lTTngImpl = $lTTngImpl.<<FnBodyComp;
+            $linefnbody
+        Error = ERROR_SUCCESS;
+FnBodyComp
+#end of fn
+        if (@vars_to_be_freed)
+        {
+            $lTTngImpl = $lTTngImpl."LExit:\n";
+        }
+
+        while( my $var = pop @vars_to_be_freed)
+        {
+            $lTTngImpl = $lTTngImpl. "        if ($var != NULL) {free($var);}\n";
+        }
+        $lTTngImpl = $lTTngImpl. "\nreturn Error;\n}\n";
+    }
+
+    return $lTTngImpl;
+}
+sub GenerateLttngFiles
+{
+    my $sClrEtwAllMan = "$FindBin::Bin/../vm/ClrEtwAll.man";
+    my $rParser       = new XML::DOM::Parser;
+    my $rClrEtwAllMan = $rParser->parsefile($sClrEtwAllMan);
+
+    GeneratePlformIndFiles($sClrEtwAllMan);
+
+    foreach my $rProviderNode ($rClrEtwAllMan->getElementsByTagName('provider'))
+    {
+
+        my $providerName      = $rProviderNode->getAttribute('name');
+        $providerName         =~s/Windows-//i;
+        $providerName         =~s/Microsoft-//i;
+        my $providerName_File = $providerName;
+        $providerName_File    =~s/-//g;
+        $providerName_File    = "\L$providerName\E";
+        $providerName         =~s/-/_/g;
+
+        my $lttngevntheadershortname = "lttng/tp$providerName_File.h";
+        my $lttngevntheader          = "$FindBin::Bin/../pal/src/eventprovider/$lttngevntheadershortname";
+        my $lttngevntprov            = "$FindBin::Bin/../pal/src/eventprovider/lttng/eventprov$providerName_File.cpp";
+        my $lttngevntprovTp          = "$FindBin::Bin/../pal/src/eventprovider/lttng/traceptprov$providerName_File.cpp";
+
+        open(lTTngImpl,   ">$lttngevntprov") || die "Cannot open $lttngevntprov\n";
+        open(lTTngTpImpl, ">$lttngevntprovTp") || die "Cannot open $lttngevntprovTp\n";
+        open(lTTngHdr,    ">$lttngevntheader") || die "Cannot open $lttngevntheader\n";
+
+
+        print lTTngHdr    $stdprolog;
+        print lTTngImpl   $stdprolog;
+        print lTTngTpImpl $stdprolog;
+
+        print lTTngTpImpl <<LTTNg_TPIMp;
+
+#define TRACEPOINT_CREATE_PROBES
+#include "./$lttngevntheadershortname"
+LTTNg_TPIMp
+
+        print lTTngHdr <<LTTNgHDR_Prolog;
+
+#include "palrt.h"
+#include "pal.h"
+
+#undef TRACEPOINT_PROVIDER
+#define TRACEPOINT_PROVIDER $providerName
+
+#undef TRACEPOINT_INCLUDE
+#define TRACEPOINT_INCLUDE "./$lttngevntheadershortname"
+
+#if !defined(LTTNG_CORECLR_H$providerName) || defined(TRACEPOINT_HEADER_MULTI_READ)
+#define LTTNG_CORECLR_H$providerName
+
+#include <lttng/tracepoint.h>
+
+LTTNgHDR_Prolog
+
+        print lTTngImpl <<EventProvider_Prolog;
+
+#define TRACEPOINT_DEFINE
+#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE
+#include "$lttngevntheadershortname"
+EventProvider_Prolog
+
+        my @rTemplateNodes = $rProviderNode->getElementsByTagName('template');
+        my @alleventname   = $rProviderNode->getElementsByTagName('event');
+#Parse the XML file to construct datatypes used in code generation below
+
+        my ($allTemplatemap,$allLTTngTemplateTypes,$allTemplateVarProps) = ParseTemplates(@rTemplateNodes);
+        
+        my %allTemplatemap        = %$allTemplatemap;
+        my %allLTTngTemplateTypes = %$allLTTngTemplateTypes;
+        my %allTemplateVarProps   = %$allTemplateVarProps;
+
+#generate the header
+        print  lTTngHdr GenerateLttngHeader($providerName,\@rTemplateNodes,\%allTemplatemap,\%allLTTngTemplateTypes,\%allTemplateVarProps,\@alleventname);
+
+#create the implementation of eventing functions : lttngeventprov*.cpp
+        print lTTngImpl GenerateLttngTpProvider($providerName,\@rTemplateNodes,\%allTemplatemap,\%allLTTngTemplateTypes,\%allTemplateVarProps,\@alleventname);
+
+        close(lTTngImpl);
+        close(lTTngTpImpl);
+        close(lTTngHdr);
+
+    }
+
+}
+
+GenerateLttngFiles();
index 3c6d7f2..aca1c60 100644 (file)
@@ -703,6 +703,7 @@ typedef struct _GUID {
     USHORT  Data3;
     UCHAR   Data4[ 8 ];
 } GUID;
+typedef const GUID *LPCGUID;
 #define GUID_DEFINED
 #endif // !GUID_DEFINED
 
diff --git a/src/pal/prebuilt/inc/clrallevents.h b/src/pal/prebuilt/inc/clrallevents.h
new file mode 100644 (file)
index 0000000..ab48f43
--- /dev/null
@@ -0,0 +1,2628 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/inc/genXplatEtw.pl
+
+******************************************************************/
+
+extern "C" BOOL  EventEnabledGCStart();
+extern "C" ULONG   FireEtwGCStart(
+                  const unsigned int  Count,
+                  const unsigned int  Reason
+);
+extern "C" BOOL  EventEnabledGCStart_V1();
+extern "C" ULONG   FireEtwGCStart_V1(
+                  const unsigned int  Count,
+                  const unsigned int  Depth,
+                  const unsigned int  Reason,
+                  const unsigned int  Type,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCStart_V2();
+extern "C" ULONG   FireEtwGCStart_V2(
+                  const unsigned int  Count,
+                  const unsigned int  Depth,
+                  const unsigned int  Reason,
+                  const unsigned int  Type,
+                  const unsigned short  ClrInstanceID,
+                  const unsigned __int64  ClientSequenceNumber
+);
+extern "C" BOOL  EventEnabledGCEnd();
+extern "C" ULONG   FireEtwGCEnd(
+                  const unsigned int  Count,
+                  const unsigned short  Depth
+);
+extern "C" BOOL  EventEnabledGCEnd_V1();
+extern "C" ULONG   FireEtwGCEnd_V1(
+                  const unsigned int  Count,
+                  const unsigned int  Depth,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCRestartEEEnd();
+extern "C" ULONG   FireEtwGCRestartEEEnd(
+);
+extern "C" BOOL  EventEnabledGCRestartEEEnd_V1();
+extern "C" ULONG   FireEtwGCRestartEEEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCHeapStats();
+extern "C" ULONG   FireEtwGCHeapStats(
+                  const unsigned __int64  GenerationSize0,
+                  const unsigned __int64  TotalPromotedSize0,
+                  const unsigned __int64  GenerationSize1,
+                  const unsigned __int64  TotalPromotedSize1,
+                  const unsigned __int64  GenerationSize2,
+                  const unsigned __int64  TotalPromotedSize2,
+                  const unsigned __int64  GenerationSize3,
+                  const unsigned __int64  TotalPromotedSize3,
+                  const unsigned __int64  FinalizationPromotedSize,
+                  const unsigned __int64  FinalizationPromotedCount,
+                  const unsigned int  PinnedObjectCount,
+                  const unsigned int  SinkBlockCount,
+                  const unsigned int  GCHandleCount
+);
+extern "C" BOOL  EventEnabledGCHeapStats_V1();
+extern "C" ULONG   FireEtwGCHeapStats_V1(
+                  const unsigned __int64  GenerationSize0,
+                  const unsigned __int64  TotalPromotedSize0,
+                  const unsigned __int64  GenerationSize1,
+                  const unsigned __int64  TotalPromotedSize1,
+                  const unsigned __int64  GenerationSize2,
+                  const unsigned __int64  TotalPromotedSize2,
+                  const unsigned __int64  GenerationSize3,
+                  const unsigned __int64  TotalPromotedSize3,
+                  const unsigned __int64  FinalizationPromotedSize,
+                  const unsigned __int64  FinalizationPromotedCount,
+                  const unsigned int  PinnedObjectCount,
+                  const unsigned int  SinkBlockCount,
+                  const unsigned int  GCHandleCount,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCCreateSegment();
+extern "C" ULONG   FireEtwGCCreateSegment(
+                  const unsigned __int64  Address,
+                  const unsigned __int64  Size,
+                  const unsigned int  Type
+);
+extern "C" BOOL  EventEnabledGCCreateSegment_V1();
+extern "C" ULONG   FireEtwGCCreateSegment_V1(
+                  const unsigned __int64  Address,
+                  const unsigned __int64  Size,
+                  const unsigned int  Type,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCFreeSegment();
+extern "C" ULONG   FireEtwGCFreeSegment(
+                  const unsigned __int64  Address
+);
+extern "C" BOOL  EventEnabledGCFreeSegment_V1();
+extern "C" ULONG   FireEtwGCFreeSegment_V1(
+                  const unsigned __int64  Address,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCRestartEEBegin();
+extern "C" ULONG   FireEtwGCRestartEEBegin(
+);
+extern "C" BOOL  EventEnabledGCRestartEEBegin_V1();
+extern "C" ULONG   FireEtwGCRestartEEBegin_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCSuspendEEEnd();
+extern "C" ULONG   FireEtwGCSuspendEEEnd(
+);
+extern "C" BOOL  EventEnabledGCSuspendEEEnd_V1();
+extern "C" ULONG   FireEtwGCSuspendEEEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCSuspendEEBegin();
+extern "C" ULONG   FireEtwGCSuspendEEBegin(
+                  const unsigned short  Reason
+);
+extern "C" BOOL  EventEnabledGCSuspendEEBegin_V1();
+extern "C" ULONG   FireEtwGCSuspendEEBegin_V1(
+                  const unsigned int  Reason,
+                  const unsigned int  Count,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCAllocationTick();
+extern "C" ULONG   FireEtwGCAllocationTick(
+                  const unsigned int  AllocationAmount,
+                  const unsigned int  AllocationKind
+);
+extern "C" BOOL  EventEnabledGCAllocationTick_V1();
+extern "C" ULONG   FireEtwGCAllocationTick_V1(
+                  const unsigned int  AllocationAmount,
+                  const unsigned int  AllocationKind,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCAllocationTick_V2();
+extern "C" ULONG   FireEtwGCAllocationTick_V2(
+                  const unsigned int  AllocationAmount,
+                  const unsigned int  AllocationKind,
+                  const unsigned short  ClrInstanceID,
+                  const unsigned __int64  AllocationAmount64,
+                  const void*  TypeID,
+                  PCWSTR  TypeName,
+                  const unsigned int  HeapIndex
+);
+extern "C" BOOL  EventEnabledGCAllocationTick_V3();
+extern "C" ULONG   FireEtwGCAllocationTick_V3(
+                  const unsigned int  AllocationAmount,
+                  const unsigned int  AllocationKind,
+                  const unsigned short  ClrInstanceID,
+                  const unsigned __int64  AllocationAmount64,
+                  const void*  TypeID,
+                  PCWSTR  TypeName,
+                  const unsigned int  HeapIndex,
+                  const void*  Address
+);
+extern "C" BOOL  EventEnabledGCCreateConcurrentThread();
+extern "C" ULONG   FireEtwGCCreateConcurrentThread(
+);
+extern "C" BOOL  EventEnabledGCCreateConcurrentThread_V1();
+extern "C" ULONG   FireEtwGCCreateConcurrentThread_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCTerminateConcurrentThread();
+extern "C" ULONG   FireEtwGCTerminateConcurrentThread(
+);
+extern "C" BOOL  EventEnabledGCTerminateConcurrentThread_V1();
+extern "C" ULONG   FireEtwGCTerminateConcurrentThread_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCFinalizersEnd();
+extern "C" ULONG   FireEtwGCFinalizersEnd(
+                  const unsigned int  Count
+);
+extern "C" BOOL  EventEnabledGCFinalizersEnd_V1();
+extern "C" ULONG   FireEtwGCFinalizersEnd_V1(
+                  const unsigned int  Count,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCFinalizersBegin();
+extern "C" ULONG   FireEtwGCFinalizersBegin(
+);
+extern "C" BOOL  EventEnabledGCFinalizersBegin_V1();
+extern "C" ULONG   FireEtwGCFinalizersBegin_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBulkType();
+extern "C" ULONG   FireEtwBulkType(
+                  const unsigned int  Count,
+                  const unsigned short  ClrInstanceID,
+                  const ULONG  Arg2_Struct_Len_,
+                  const void* Arg2_Struct_Pointer_
+);
+extern "C" BOOL  EventEnabledGCBulkRootEdge();
+extern "C" ULONG   FireEtwGCBulkRootEdge(
+                  const unsigned int  Index,
+                  const unsigned int  Count,
+                  const unsigned short  ClrInstanceID,
+                  const ULONG  Arg3_Struct_Len_,
+                  const void* Arg3_Struct_Pointer_
+);
+extern "C" BOOL  EventEnabledGCBulkRootConditionalWeakTableElementEdge();
+extern "C" ULONG   FireEtwGCBulkRootConditionalWeakTableElementEdge(
+                  const unsigned int  Index,
+                  const unsigned int  Count,
+                  const unsigned short  ClrInstanceID,
+                  const ULONG  Arg3_Struct_Len_,
+                  const void* Arg3_Struct_Pointer_
+);
+extern "C" BOOL  EventEnabledGCBulkNode();
+extern "C" ULONG   FireEtwGCBulkNode(
+                  const unsigned int  Index,
+                  const unsigned int  Count,
+                  const unsigned short  ClrInstanceID,
+                  const ULONG  Arg3_Struct_Len_,
+                  const void* Arg3_Struct_Pointer_
+);
+extern "C" BOOL  EventEnabledGCBulkEdge();
+extern "C" ULONG   FireEtwGCBulkEdge(
+                  const unsigned int  Index,
+                  const unsigned int  Count,
+                  const unsigned short  ClrInstanceID,
+                  const ULONG  Arg3_Struct_Len_,
+                  const void* Arg3_Struct_Pointer_
+);
+extern "C" BOOL  EventEnabledGCSampledObjectAllocationHigh();
+extern "C" ULONG   FireEtwGCSampledObjectAllocationHigh(
+                  const void*  Address,
+                  const void*  TypeID,
+                  const unsigned int  ObjectCountForTypeSample,
+                  const unsigned __int64  TotalSizeForTypeSample,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCBulkSurvivingObjectRanges();
+extern "C" ULONG   FireEtwGCBulkSurvivingObjectRanges(
+                  const unsigned int  Index,
+                  const unsigned int  Count,
+                  const unsigned short  ClrInstanceID,
+                  const ULONG  Arg3_Struct_Len_,
+                  const void* Arg3_Struct_Pointer_
+);
+extern "C" BOOL  EventEnabledGCBulkMovedObjectRanges();
+extern "C" ULONG   FireEtwGCBulkMovedObjectRanges(
+                  const unsigned int  Index,
+                  const unsigned int  Count,
+                  const unsigned short  ClrInstanceID,
+                  const ULONG  Arg3_Struct_Len_,
+                  const void* Arg3_Struct_Pointer_
+);
+extern "C" BOOL  EventEnabledGCGenerationRange();
+extern "C" ULONG   FireEtwGCGenerationRange(
+                  const unsigned char  Generation,
+                  const void*  RangeStart,
+                  const unsigned __int64  RangeUsedLength,
+                  const unsigned __int64  RangeReservedLength,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCMarkStackRoots();
+extern "C" ULONG   FireEtwGCMarkStackRoots(
+                  const unsigned int  HeapNum,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCMarkFinalizeQueueRoots();
+extern "C" ULONG   FireEtwGCMarkFinalizeQueueRoots(
+                  const unsigned int  HeapNum,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCMarkHandles();
+extern "C" ULONG   FireEtwGCMarkHandles(
+                  const unsigned int  HeapNum,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCMarkOlderGenerationRoots();
+extern "C" ULONG   FireEtwGCMarkOlderGenerationRoots(
+                  const unsigned int  HeapNum,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledFinalizeObject();
+extern "C" ULONG   FireEtwFinalizeObject(
+                  const void*  TypeID,
+                  const void*  ObjectID,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledSetGCHandle();
+extern "C" ULONG   FireEtwSetGCHandle(
+                  const void*  HandleID,
+                  const void*  ObjectID,
+                  const unsigned int  Kind,
+                  const unsigned int  Generation,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledDestroyGCHandle();
+extern "C" ULONG   FireEtwDestroyGCHandle(
+                  const void*  HandleID,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCSampledObjectAllocationLow();
+extern "C" ULONG   FireEtwGCSampledObjectAllocationLow(
+                  const void*  Address,
+                  const void*  TypeID,
+                  const unsigned int  ObjectCountForTypeSample,
+                  const unsigned __int64  TotalSizeForTypeSample,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledPinObjectAtGCTime();
+extern "C" ULONG   FireEtwPinObjectAtGCTime(
+                  const void*  HandleID,
+                  const void*  ObjectID,
+                  const unsigned __int64  ObjectSize,
+                  PCWSTR  TypeName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCTriggered();
+extern "C" ULONG   FireEtwGCTriggered(
+                  const unsigned int  Reason,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCBulkRootCCW();
+extern "C" ULONG   FireEtwGCBulkRootCCW(
+                  const unsigned int  Count,
+                  const unsigned short  ClrInstanceID,
+                  const ULONG  Arg2_Struct_Len_,
+                  const void* Arg2_Struct_Pointer_
+);
+extern "C" BOOL  EventEnabledGCBulkRCW();
+extern "C" ULONG   FireEtwGCBulkRCW(
+                  const unsigned int  Count,
+                  const unsigned short  ClrInstanceID,
+                  const ULONG  Arg2_Struct_Len_,
+                  const void* Arg2_Struct_Pointer_
+);
+extern "C" BOOL  EventEnabledGCBulkRootStaticVar();
+extern "C" ULONG   FireEtwGCBulkRootStaticVar(
+                  const unsigned int  Count,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned short  ClrInstanceID,
+                  const ULONG  Arg3_Struct_Len_,
+                  const void* Arg3_Struct_Pointer_
+);
+extern "C" BOOL  EventEnabledWorkerThreadCreate();
+extern "C" ULONG   FireEtwWorkerThreadCreate(
+                  const unsigned int  WorkerThreadCount,
+                  const unsigned int  RetiredWorkerThreads
+);
+extern "C" BOOL  EventEnabledWorkerThreadTerminate();
+extern "C" ULONG   FireEtwWorkerThreadTerminate(
+                  const unsigned int  WorkerThreadCount,
+                  const unsigned int  RetiredWorkerThreads
+);
+extern "C" BOOL  EventEnabledWorkerThreadRetire();
+extern "C" ULONG   FireEtwWorkerThreadRetire(
+                  const unsigned int  WorkerThreadCount,
+                  const unsigned int  RetiredWorkerThreads
+);
+extern "C" BOOL  EventEnabledWorkerThreadUnretire();
+extern "C" ULONG   FireEtwWorkerThreadUnretire(
+                  const unsigned int  WorkerThreadCount,
+                  const unsigned int  RetiredWorkerThreads
+);
+extern "C" BOOL  EventEnabledIOThreadCreate();
+extern "C" ULONG   FireEtwIOThreadCreate(
+                  const unsigned int  IOThreadCount,
+                  const unsigned int  RetiredIOThreads
+);
+extern "C" BOOL  EventEnabledIOThreadCreate_V1();
+extern "C" ULONG   FireEtwIOThreadCreate_V1(
+                  const unsigned int  IOThreadCount,
+                  const unsigned int  RetiredIOThreads,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledIOThreadTerminate();
+extern "C" ULONG   FireEtwIOThreadTerminate(
+                  const unsigned int  IOThreadCount,
+                  const unsigned int  RetiredIOThreads
+);
+extern "C" BOOL  EventEnabledIOThreadTerminate_V1();
+extern "C" ULONG   FireEtwIOThreadTerminate_V1(
+                  const unsigned int  IOThreadCount,
+                  const unsigned int  RetiredIOThreads,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledIOThreadRetire();
+extern "C" ULONG   FireEtwIOThreadRetire(
+                  const unsigned int  IOThreadCount,
+                  const unsigned int  RetiredIOThreads
+);
+extern "C" BOOL  EventEnabledIOThreadRetire_V1();
+extern "C" ULONG   FireEtwIOThreadRetire_V1(
+                  const unsigned int  IOThreadCount,
+                  const unsigned int  RetiredIOThreads,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledIOThreadUnretire();
+extern "C" ULONG   FireEtwIOThreadUnretire(
+                  const unsigned int  IOThreadCount,
+                  const unsigned int  RetiredIOThreads
+);
+extern "C" BOOL  EventEnabledIOThreadUnretire_V1();
+extern "C" ULONG   FireEtwIOThreadUnretire_V1(
+                  const unsigned int  IOThreadCount,
+                  const unsigned int  RetiredIOThreads,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledThreadpoolSuspensionSuspendThread();
+extern "C" ULONG   FireEtwThreadpoolSuspensionSuspendThread(
+                  const unsigned int  ClrThreadID,
+                  const unsigned int  CpuUtilization
+);
+extern "C" BOOL  EventEnabledThreadpoolSuspensionResumeThread();
+extern "C" ULONG   FireEtwThreadpoolSuspensionResumeThread(
+                  const unsigned int  ClrThreadID,
+                  const unsigned int  CpuUtilization
+);
+extern "C" BOOL  EventEnabledThreadPoolWorkerThreadStart();
+extern "C" ULONG   FireEtwThreadPoolWorkerThreadStart(
+                  const unsigned int  ActiveWorkerThreadCount,
+                  const unsigned int  RetiredWorkerThreadCount,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledThreadPoolWorkerThreadStop();
+extern "C" ULONG   FireEtwThreadPoolWorkerThreadStop(
+                  const unsigned int  ActiveWorkerThreadCount,
+                  const unsigned int  RetiredWorkerThreadCount,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledThreadPoolWorkerThreadRetirementStart();
+extern "C" ULONG   FireEtwThreadPoolWorkerThreadRetirementStart(
+                  const unsigned int  ActiveWorkerThreadCount,
+                  const unsigned int  RetiredWorkerThreadCount,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledThreadPoolWorkerThreadRetirementStop();
+extern "C" ULONG   FireEtwThreadPoolWorkerThreadRetirementStop(
+                  const unsigned int  ActiveWorkerThreadCount,
+                  const unsigned int  RetiredWorkerThreadCount,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledThreadPoolWorkerThreadAdjustmentSample();
+extern "C" ULONG   FireEtwThreadPoolWorkerThreadAdjustmentSample(
+                  const double  Throughput,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledThreadPoolWorkerThreadAdjustmentAdjustment();
+extern "C" ULONG   FireEtwThreadPoolWorkerThreadAdjustmentAdjustment(
+                  const double  AverageThroughput,
+                  const unsigned int  NewWorkerThreadCount,
+                  const unsigned int  Reason,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledThreadPoolWorkerThreadAdjustmentStats();
+extern "C" ULONG   FireEtwThreadPoolWorkerThreadAdjustmentStats(
+                  const double  Duration,
+                  const double  Throughput,
+                  const double  ThreadWave,
+                  const double  ThroughputWave,
+                  const double  ThroughputErrorEstimate,
+                  const double  AverageThroughputErrorEstimate,
+                  const double  ThroughputRatio,
+                  const double  Confidence,
+                  const double  NewControlSetting,
+                  const unsigned short  NewThreadWaveMagnitude,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledThreadPoolWorkerThreadWait();
+extern "C" ULONG   FireEtwThreadPoolWorkerThreadWait(
+                  const unsigned int  ActiveWorkerThreadCount,
+                  const unsigned int  RetiredWorkerThreadCount,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledThreadPoolWorkingThreadCount();
+extern "C" ULONG   FireEtwThreadPoolWorkingThreadCount(
+                  const unsigned int  Count,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledThreadPoolEnqueue();
+extern "C" ULONG   FireEtwThreadPoolEnqueue(
+                  const void*  WorkID,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledThreadPoolDequeue();
+extern "C" ULONG   FireEtwThreadPoolDequeue(
+                  const void*  WorkID,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledThreadPoolIOEnqueue();
+extern "C" ULONG   FireEtwThreadPoolIOEnqueue(
+                  const void*  NativeOverlapped,
+                  const void*  Overlapped,
+                  const BOOL  MultiDequeues,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledThreadPoolIODequeue();
+extern "C" ULONG   FireEtwThreadPoolIODequeue(
+                  const void*  NativeOverlapped,
+                  const void*  Overlapped,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledThreadPoolIOPack();
+extern "C" ULONG   FireEtwThreadPoolIOPack(
+                  const void*  NativeOverlapped,
+                  const void*  Overlapped,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledThreadCreating();
+extern "C" ULONG   FireEtwThreadCreating(
+                  const void*  ID,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledThreadRunning();
+extern "C" ULONG   FireEtwThreadRunning(
+                  const void*  ID,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledExceptionThrown();
+extern "C" ULONG   FireEtwExceptionThrown(
+);
+extern "C" BOOL  EventEnabledExceptionThrown_V1();
+extern "C" ULONG   FireEtwExceptionThrown_V1(
+                  PCWSTR  ExceptionType,
+                  PCWSTR  ExceptionMessage,
+                  const void*  ExceptionEIP,
+                  const unsigned int  ExceptionHRESULT,
+                  const unsigned short  ExceptionFlags,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledExceptionCatchStart();
+extern "C" ULONG   FireEtwExceptionCatchStart(
+                  const unsigned __int64  EntryEIP,
+                  const unsigned __int64  MethodID,
+                  PCWSTR  MethodName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledExceptionCatchStop();
+extern "C" ULONG   FireEtwExceptionCatchStop(
+);
+extern "C" BOOL  EventEnabledExceptionFinallyStart();
+extern "C" ULONG   FireEtwExceptionFinallyStart(
+                  const unsigned __int64  EntryEIP,
+                  const unsigned __int64  MethodID,
+                  PCWSTR  MethodName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledExceptionFinallyStop();
+extern "C" ULONG   FireEtwExceptionFinallyStop(
+);
+extern "C" BOOL  EventEnabledExceptionFilterStart();
+extern "C" ULONG   FireEtwExceptionFilterStart(
+                  const unsigned __int64  EntryEIP,
+                  const unsigned __int64  MethodID,
+                  PCWSTR  MethodName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledExceptionFilterStop();
+extern "C" ULONG   FireEtwExceptionFilterStop(
+);
+extern "C" BOOL  EventEnabledExceptionThrownStop();
+extern "C" ULONG   FireEtwExceptionThrownStop(
+);
+extern "C" BOOL  EventEnabledContention();
+extern "C" ULONG   FireEtwContention(
+);
+extern "C" BOOL  EventEnabledContentionStart_V1();
+extern "C" ULONG   FireEtwContentionStart_V1(
+                  const unsigned char  ContentionFlags,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledContentionStop();
+extern "C" ULONG   FireEtwContentionStop(
+                  const unsigned char  ContentionFlags,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledCLRStackWalk();
+extern "C" ULONG   FireEtwCLRStackWalk(
+                  const unsigned short  ClrInstanceID,
+                  const unsigned char  Reserved1,
+                  const unsigned char  Reserved2,
+                  const unsigned int  FrameCount,
+                  const void** Stack
+);
+extern "C" BOOL  EventEnabledAppDomainMemAllocated();
+extern "C" ULONG   FireEtwAppDomainMemAllocated(
+                  const unsigned __int64  AppDomainID,
+                  const unsigned __int64  Allocated,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledAppDomainMemSurvived();
+extern "C" ULONG   FireEtwAppDomainMemSurvived(
+                  const unsigned __int64  AppDomainID,
+                  const unsigned __int64  Survived,
+                  const unsigned __int64  ProcessSurvived,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledThreadCreated();
+extern "C" ULONG   FireEtwThreadCreated(
+                  const unsigned __int64  ManagedThreadID,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned int  Flags,
+                  const unsigned int  ManagedThreadIndex,
+                  const unsigned int  OSThreadID,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledThreadTerminated();
+extern "C" ULONG   FireEtwThreadTerminated(
+                  const unsigned __int64  ManagedThreadID,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledThreadDomainEnter();
+extern "C" ULONG   FireEtwThreadDomainEnter(
+                  const unsigned __int64  ManagedThreadID,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledILStubGenerated();
+extern "C" ULONG   FireEtwILStubGenerated(
+                  const unsigned short  ClrInstanceID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  StubMethodID,
+                  const unsigned int  StubFlags,
+                  const unsigned int  ManagedInteropMethodToken,
+                  PCWSTR  ManagedInteropMethodNamespace,
+                  PCWSTR  ManagedInteropMethodName,
+                  PCWSTR  ManagedInteropMethodSignature,
+                  PCWSTR  NativeMethodSignature,
+                  PCWSTR  StubMethodSignature,
+                  PCWSTR  StubMethodILCode
+);
+extern "C" BOOL  EventEnabledILStubCacheHit();
+extern "C" ULONG   FireEtwILStubCacheHit(
+                  const unsigned short  ClrInstanceID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  StubMethodID,
+                  const unsigned int  ManagedInteropMethodToken,
+                  PCWSTR  ManagedInteropMethodNamespace,
+                  PCWSTR  ManagedInteropMethodName,
+                  PCWSTR  ManagedInteropMethodSignature
+);
+extern "C" BOOL  EventEnabledDCStartCompleteV2();
+extern "C" ULONG   FireEtwDCStartCompleteV2(
+);
+extern "C" BOOL  EventEnabledDCEndCompleteV2();
+extern "C" ULONG   FireEtwDCEndCompleteV2(
+);
+extern "C" BOOL  EventEnabledMethodDCStartV2();
+extern "C" ULONG   FireEtwMethodDCStartV2(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags
+);
+extern "C" BOOL  EventEnabledMethodDCEndV2();
+extern "C" ULONG   FireEtwMethodDCEndV2(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags
+);
+extern "C" BOOL  EventEnabledMethodDCStartVerboseV2();
+extern "C" ULONG   FireEtwMethodDCStartVerboseV2(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  PCWSTR  MethodNamespace,
+                  PCWSTR  MethodName,
+                  PCWSTR  MethodSignature
+);
+extern "C" BOOL  EventEnabledMethodDCEndVerboseV2();
+extern "C" ULONG   FireEtwMethodDCEndVerboseV2(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  PCWSTR  MethodNamespace,
+                  PCWSTR  MethodName,
+                  PCWSTR  MethodSignature
+);
+extern "C" BOOL  EventEnabledMethodLoad();
+extern "C" ULONG   FireEtwMethodLoad(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags
+);
+extern "C" BOOL  EventEnabledMethodLoad_V1();
+extern "C" ULONG   FireEtwMethodLoad_V1(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledMethodLoad_V2();
+extern "C" ULONG   FireEtwMethodLoad_V2(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  const unsigned short  ClrInstanceID,
+                  const unsigned __int64  ReJITID
+);
+extern "C" BOOL  EventEnabledMethodUnload();
+extern "C" ULONG   FireEtwMethodUnload(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags
+);
+extern "C" BOOL  EventEnabledMethodUnload_V1();
+extern "C" ULONG   FireEtwMethodUnload_V1(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledMethodUnload_V2();
+extern "C" ULONG   FireEtwMethodUnload_V2(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  const unsigned short  ClrInstanceID,
+                  const unsigned __int64  ReJITID
+);
+extern "C" BOOL  EventEnabledMethodLoadVerbose();
+extern "C" ULONG   FireEtwMethodLoadVerbose(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  PCWSTR  MethodNamespace,
+                  PCWSTR  MethodName,
+                  PCWSTR  MethodSignature
+);
+extern "C" BOOL  EventEnabledMethodLoadVerbose_V1();
+extern "C" ULONG   FireEtwMethodLoadVerbose_V1(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  PCWSTR  MethodNamespace,
+                  PCWSTR  MethodName,
+                  PCWSTR  MethodSignature,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledMethodLoadVerbose_V2();
+extern "C" ULONG   FireEtwMethodLoadVerbose_V2(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  PCWSTR  MethodNamespace,
+                  PCWSTR  MethodName,
+                  PCWSTR  MethodSignature,
+                  const unsigned short  ClrInstanceID,
+                  const unsigned __int64  ReJITID
+);
+extern "C" BOOL  EventEnabledMethodUnloadVerbose();
+extern "C" ULONG   FireEtwMethodUnloadVerbose(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  PCWSTR  MethodNamespace,
+                  PCWSTR  MethodName,
+                  PCWSTR  MethodSignature
+);
+extern "C" BOOL  EventEnabledMethodUnloadVerbose_V1();
+extern "C" ULONG   FireEtwMethodUnloadVerbose_V1(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  PCWSTR  MethodNamespace,
+                  PCWSTR  MethodName,
+                  PCWSTR  MethodSignature,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledMethodUnloadVerbose_V2();
+extern "C" ULONG   FireEtwMethodUnloadVerbose_V2(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  PCWSTR  MethodNamespace,
+                  PCWSTR  MethodName,
+                  PCWSTR  MethodSignature,
+                  const unsigned short  ClrInstanceID,
+                  const unsigned __int64  ReJITID
+);
+extern "C" BOOL  EventEnabledMethodJittingStarted();
+extern "C" ULONG   FireEtwMethodJittingStarted(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodILSize,
+                  PCWSTR  MethodNamespace,
+                  PCWSTR  MethodName,
+                  PCWSTR  MethodSignature
+);
+extern "C" BOOL  EventEnabledMethodJittingStarted_V1();
+extern "C" ULONG   FireEtwMethodJittingStarted_V1(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodILSize,
+                  PCWSTR  MethodNamespace,
+                  PCWSTR  MethodName,
+                  PCWSTR  MethodSignature,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledMethodJitInliningSucceeded();
+extern "C" ULONG   FireEtwMethodJitInliningSucceeded(
+                  PCWSTR  MethodBeingCompiledNamespace,
+                  PCWSTR  MethodBeingCompiledName,
+                  PCWSTR  MethodBeingCompiledNameSignature,
+                  PCWSTR  InlinerNamespace,
+                  PCWSTR  InlinerName,
+                  PCWSTR  InlinerNameSignature,
+                  PCWSTR  InlineeNamespace,
+                  PCWSTR  InlineeName,
+                  PCWSTR  InlineeNameSignature,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledMethodJitInliningFailed();
+extern "C" ULONG   FireEtwMethodJitInliningFailed(
+                  PCWSTR  MethodBeingCompiledNamespace,
+                  PCWSTR  MethodBeingCompiledName,
+                  PCWSTR  MethodBeingCompiledNameSignature,
+                  PCWSTR  InlinerNamespace,
+                  PCWSTR  InlinerName,
+                  PCWSTR  InlinerNameSignature,
+                  PCWSTR  InlineeNamespace,
+                  PCWSTR  InlineeName,
+                  PCWSTR  InlineeNameSignature,
+                  const BOOL  FailAlways,
+                  LPCSTR  FailReason,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledMethodJitTailCallSucceeded();
+extern "C" ULONG   FireEtwMethodJitTailCallSucceeded(
+                  PCWSTR  MethodBeingCompiledNamespace,
+                  PCWSTR  MethodBeingCompiledName,
+                  PCWSTR  MethodBeingCompiledNameSignature,
+                  PCWSTR  CallerNamespace,
+                  PCWSTR  CallerName,
+                  PCWSTR  CallerNameSignature,
+                  PCWSTR  CalleeNamespace,
+                  PCWSTR  CalleeName,
+                  PCWSTR  CalleeNameSignature,
+                  const BOOL  TailPrefix,
+                  const unsigned int  TailCallType,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledMethodJitTailCallFailed();
+extern "C" ULONG   FireEtwMethodJitTailCallFailed(
+                  PCWSTR  MethodBeingCompiledNamespace,
+                  PCWSTR  MethodBeingCompiledName,
+                  PCWSTR  MethodBeingCompiledNameSignature,
+                  PCWSTR  CallerNamespace,
+                  PCWSTR  CallerName,
+                  PCWSTR  CallerNameSignature,
+                  PCWSTR  CalleeNamespace,
+                  PCWSTR  CalleeName,
+                  PCWSTR  CalleeNameSignature,
+                  const BOOL  TailPrefix,
+                  LPCSTR  FailReason,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledMethodILToNativeMap();
+extern "C" ULONG   FireEtwMethodILToNativeMap(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ReJITID,
+                  const unsigned char  MethodExtent,
+                  const unsigned short  CountOfMapEntries,
+                  const unsigned int* ILOffsets,
+                  const unsigned int* NativeOffsets,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledModuleDCStartV2();
+extern "C" ULONG   FireEtwModuleDCStartV2(
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  AssemblyID,
+                  const unsigned int  ModuleFlags,
+                  const unsigned int  Reserved1,
+                  PCWSTR  ModuleILPath,
+                  PCWSTR  ModuleNativePath
+);
+extern "C" BOOL  EventEnabledModuleDCEndV2();
+extern "C" ULONG   FireEtwModuleDCEndV2(
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  AssemblyID,
+                  const unsigned int  ModuleFlags,
+                  const unsigned int  Reserved1,
+                  PCWSTR  ModuleILPath,
+                  PCWSTR  ModuleNativePath
+);
+extern "C" BOOL  EventEnabledDomainModuleLoad();
+extern "C" ULONG   FireEtwDomainModuleLoad(
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  AssemblyID,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned int  ModuleFlags,
+                  const unsigned int  Reserved1,
+                  PCWSTR  ModuleILPath,
+                  PCWSTR  ModuleNativePath
+);
+extern "C" BOOL  EventEnabledDomainModuleLoad_V1();
+extern "C" ULONG   FireEtwDomainModuleLoad_V1(
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  AssemblyID,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned int  ModuleFlags,
+                  const unsigned int  Reserved1,
+                  PCWSTR  ModuleILPath,
+                  PCWSTR  ModuleNativePath,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledModuleLoad();
+extern "C" ULONG   FireEtwModuleLoad(
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  AssemblyID,
+                  const unsigned int  ModuleFlags,
+                  const unsigned int  Reserved1,
+                  PCWSTR  ModuleILPath,
+                  PCWSTR  ModuleNativePath
+);
+extern "C" BOOL  EventEnabledModuleLoad_V1();
+extern "C" ULONG   FireEtwModuleLoad_V1(
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  AssemblyID,
+                  const unsigned int  ModuleFlags,
+                  const unsigned int  Reserved1,
+                  PCWSTR  ModuleILPath,
+                  PCWSTR  ModuleNativePath,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledModuleLoad_V2();
+extern "C" ULONG   FireEtwModuleLoad_V2(
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  AssemblyID,
+                  const unsigned int  ModuleFlags,
+                  const unsigned int  Reserved1,
+                  PCWSTR  ModuleILPath,
+                  PCWSTR  ModuleNativePath,
+                  const unsigned short  ClrInstanceID,
+                  const GUID* ManagedPdbSignature,
+                  const unsigned int  ManagedPdbAge,
+                  PCWSTR  ManagedPdbBuildPath,
+                  const GUID* NativePdbSignature,
+                  const unsigned int  NativePdbAge,
+                  PCWSTR  NativePdbBuildPath
+);
+extern "C" BOOL  EventEnabledModuleUnload();
+extern "C" ULONG   FireEtwModuleUnload(
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  AssemblyID,
+                  const unsigned int  ModuleFlags,
+                  const unsigned int  Reserved1,
+                  PCWSTR  ModuleILPath,
+                  PCWSTR  ModuleNativePath
+);
+extern "C" BOOL  EventEnabledModuleUnload_V1();
+extern "C" ULONG   FireEtwModuleUnload_V1(
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  AssemblyID,
+                  const unsigned int  ModuleFlags,
+                  const unsigned int  Reserved1,
+                  PCWSTR  ModuleILPath,
+                  PCWSTR  ModuleNativePath,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledModuleUnload_V2();
+extern "C" ULONG   FireEtwModuleUnload_V2(
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  AssemblyID,
+                  const unsigned int  ModuleFlags,
+                  const unsigned int  Reserved1,
+                  PCWSTR  ModuleILPath,
+                  PCWSTR  ModuleNativePath,
+                  const unsigned short  ClrInstanceID,
+                  const GUID* ManagedPdbSignature,
+                  const unsigned int  ManagedPdbAge,
+                  PCWSTR  ManagedPdbBuildPath,
+                  const GUID* NativePdbSignature,
+                  const unsigned int  NativePdbAge,
+                  PCWSTR  NativePdbBuildPath
+);
+extern "C" BOOL  EventEnabledAssemblyLoad();
+extern "C" ULONG   FireEtwAssemblyLoad(
+                  const unsigned __int64  AssemblyID,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned int  AssemblyFlags,
+                  PCWSTR  FullyQualifiedAssemblyName
+);
+extern "C" BOOL  EventEnabledAssemblyLoad_V1();
+extern "C" ULONG   FireEtwAssemblyLoad_V1(
+                  const unsigned __int64  AssemblyID,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned __int64  BindingID,
+                  const unsigned int  AssemblyFlags,
+                  PCWSTR  FullyQualifiedAssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledAssemblyUnload();
+extern "C" ULONG   FireEtwAssemblyUnload(
+                  const unsigned __int64  AssemblyID,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned int  AssemblyFlags,
+                  PCWSTR  FullyQualifiedAssemblyName
+);
+extern "C" BOOL  EventEnabledAssemblyUnload_V1();
+extern "C" ULONG   FireEtwAssemblyUnload_V1(
+                  const unsigned __int64  AssemblyID,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned __int64  BindingID,
+                  const unsigned int  AssemblyFlags,
+                  PCWSTR  FullyQualifiedAssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledAppDomainLoad();
+extern "C" ULONG   FireEtwAppDomainLoad(
+                  const unsigned __int64  AppDomainID,
+                  const unsigned int  AppDomainFlags,
+                  PCWSTR  AppDomainName
+);
+extern "C" BOOL  EventEnabledAppDomainLoad_V1();
+extern "C" ULONG   FireEtwAppDomainLoad_V1(
+                  const unsigned __int64  AppDomainID,
+                  const unsigned int  AppDomainFlags,
+                  PCWSTR  AppDomainName,
+                  const unsigned int  AppDomainIndex,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledAppDomainUnload();
+extern "C" ULONG   FireEtwAppDomainUnload(
+                  const unsigned __int64  AppDomainID,
+                  const unsigned int  AppDomainFlags,
+                  PCWSTR  AppDomainName
+);
+extern "C" BOOL  EventEnabledAppDomainUnload_V1();
+extern "C" ULONG   FireEtwAppDomainUnload_V1(
+                  const unsigned __int64  AppDomainID,
+                  const unsigned int  AppDomainFlags,
+                  PCWSTR  AppDomainName,
+                  const unsigned int  AppDomainIndex,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledModuleRangeLoad();
+extern "C" ULONG   FireEtwModuleRangeLoad(
+                  const unsigned short  ClrInstanceID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned int  RangeBegin,
+                  const unsigned int  RangeSize,
+                  const unsigned char  RangeType
+);
+extern "C" BOOL  EventEnabledStrongNameVerificationStart();
+extern "C" ULONG   FireEtwStrongNameVerificationStart(
+                  const unsigned int  VerificationFlags,
+                  const unsigned int  ErrorCode,
+                  PCWSTR  FullyQualifiedAssemblyName
+);
+extern "C" BOOL  EventEnabledStrongNameVerificationStart_V1();
+extern "C" ULONG   FireEtwStrongNameVerificationStart_V1(
+                  const unsigned int  VerificationFlags,
+                  const unsigned int  ErrorCode,
+                  PCWSTR  FullyQualifiedAssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledStrongNameVerificationStop();
+extern "C" ULONG   FireEtwStrongNameVerificationStop(
+                  const unsigned int  VerificationFlags,
+                  const unsigned int  ErrorCode,
+                  PCWSTR  FullyQualifiedAssemblyName
+);
+extern "C" BOOL  EventEnabledStrongNameVerificationStop_V1();
+extern "C" ULONG   FireEtwStrongNameVerificationStop_V1(
+                  const unsigned int  VerificationFlags,
+                  const unsigned int  ErrorCode,
+                  PCWSTR  FullyQualifiedAssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledAuthenticodeVerificationStart();
+extern "C" ULONG   FireEtwAuthenticodeVerificationStart(
+                  const unsigned int  VerificationFlags,
+                  const unsigned int  ErrorCode,
+                  PCWSTR  ModulePath
+);
+extern "C" BOOL  EventEnabledAuthenticodeVerificationStart_V1();
+extern "C" ULONG   FireEtwAuthenticodeVerificationStart_V1(
+                  const unsigned int  VerificationFlags,
+                  const unsigned int  ErrorCode,
+                  PCWSTR  ModulePath,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledAuthenticodeVerificationStop();
+extern "C" ULONG   FireEtwAuthenticodeVerificationStop(
+                  const unsigned int  VerificationFlags,
+                  const unsigned int  ErrorCode,
+                  PCWSTR  ModulePath
+);
+extern "C" BOOL  EventEnabledAuthenticodeVerificationStop_V1();
+extern "C" ULONG   FireEtwAuthenticodeVerificationStop_V1(
+                  const unsigned int  VerificationFlags,
+                  const unsigned int  ErrorCode,
+                  PCWSTR  ModulePath,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledRuntimeInformationStart();
+extern "C" ULONG   FireEtwRuntimeInformationStart(
+                  const unsigned short  ClrInstanceID,
+                  const unsigned short  Sku,
+                  const unsigned short  BclMajorVersion,
+                  const unsigned short  BclMinorVersion,
+                  const unsigned short  BclBuildNumber,
+                  const unsigned short  BclQfeNumber,
+                  const unsigned short  VMMajorVersion,
+                  const unsigned short  VMMinorVersion,
+                  const unsigned short  VMBuildNumber,
+                  const unsigned short  VMQfeNumber,
+                  const unsigned int  StartupFlags,
+                  const unsigned char  StartupMode,
+                  PCWSTR  CommandLine,
+                  const GUID* ComObjectGuid,
+                  PCWSTR  RuntimeDllPath
+);
+extern "C" BOOL  EventEnabledIncreaseMemoryPressure();
+extern "C" ULONG   FireEtwIncreaseMemoryPressure(
+                  const unsigned __int64  BytesAllocated,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledDecreaseMemoryPressure();
+extern "C" ULONG   FireEtwDecreaseMemoryPressure(
+                  const unsigned __int64  BytesFreed,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCMarkWithType();
+extern "C" ULONG   FireEtwGCMarkWithType(
+                  const unsigned int  HeapNum,
+                  const unsigned short  ClrInstanceID,
+                  const unsigned int  Type,
+                  const unsigned __int64  Bytes
+);
+extern "C" BOOL  EventEnabledGCJoin_V2();
+extern "C" ULONG   FireEtwGCJoin_V2(
+                  const unsigned int  Heap,
+                  const unsigned int  JoinTime,
+                  const unsigned int  JoinType,
+                  const unsigned short  ClrInstanceID,
+                  const unsigned int  JoinID
+);
+extern "C" BOOL  EventEnabledGCPerHeapHistory_V3();
+extern "C" ULONG   FireEtwGCPerHeapHistory_V3(
+                  const unsigned short  ClrInstanceID,
+                  const void*  FreeListAllocated,
+                  const void*  FreeListRejected,
+                  const void*  EndOfSegAllocated,
+                  const void*  CondemnedAllocated,
+                  const void*  PinnedAllocated,
+                  const void*  PinnedAllocatedAdvance,
+                  const unsigned int  RunningFreeListEfficiency,
+                  const unsigned int  CondemnReasons0,
+                  const unsigned int  CondemnReasons1,
+                  const unsigned int  CompactMechanisms,
+                  const unsigned int  ExpandMechanisms,
+                  const unsigned int  HeapIndex,
+                  const void*  ExtraGen0Commit,
+                  const unsigned int  Count,
+                  const ULONG  Arg15_Struct_Len_,
+                  const void* Arg15_Struct_Pointer_
+);
+extern "C" BOOL  EventEnabledGCGlobalHeapHistory_V2();
+extern "C" ULONG   FireEtwGCGlobalHeapHistory_V2(
+                  const unsigned __int64  FinalYoungestDesired,
+                  const signed int  NumHeaps,
+                  const unsigned int  CondemnedGeneration,
+                  const unsigned int  Gen0ReductionCount,
+                  const unsigned int  Reason,
+                  const unsigned int  GlobalMechanisms,
+                  const unsigned short  ClrInstanceID,
+                  const unsigned int  PauseMode,
+                  const unsigned int  MemoryPressure
+);
+extern "C" BOOL  EventEnabledDebugIPCEventStart();
+extern "C" ULONG   FireEtwDebugIPCEventStart(
+);
+extern "C" BOOL  EventEnabledDebugIPCEventEnd();
+extern "C" ULONG   FireEtwDebugIPCEventEnd(
+);
+extern "C" BOOL  EventEnabledDebugExceptionProcessingStart();
+extern "C" ULONG   FireEtwDebugExceptionProcessingStart(
+);
+extern "C" BOOL  EventEnabledDebugExceptionProcessingEnd();
+extern "C" ULONG   FireEtwDebugExceptionProcessingEnd(
+);
+extern "C" BOOL  EventEnabledCodeSymbols();
+extern "C" ULONG   FireEtwCodeSymbols(
+                  const unsigned __int64  ModuleId,
+                  const unsigned short  TotalChunks,
+                  const unsigned short  ChunkNumber,
+                  const unsigned int  ChunkLength,
+                  const BYTE* Chunk,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledCLRStackWalkDCStart();
+extern "C" ULONG   FireEtwCLRStackWalkDCStart(
+                  const unsigned short  ClrInstanceID,
+                  const unsigned char  Reserved1,
+                  const unsigned char  Reserved2,
+                  const unsigned int  FrameCount,
+                  const void** Stack
+);
+extern "C" BOOL  EventEnabledMethodDCStart();
+extern "C" ULONG   FireEtwMethodDCStart(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags
+);
+extern "C" BOOL  EventEnabledMethodDCStart_V1();
+extern "C" ULONG   FireEtwMethodDCStart_V1(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledMethodDCStart_V2();
+extern "C" ULONG   FireEtwMethodDCStart_V2(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  const unsigned short  ClrInstanceID,
+                  const unsigned __int64  ReJITID
+);
+extern "C" BOOL  EventEnabledMethodDCEnd();
+extern "C" ULONG   FireEtwMethodDCEnd(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags
+);
+extern "C" BOOL  EventEnabledMethodDCEnd_V1();
+extern "C" ULONG   FireEtwMethodDCEnd_V1(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledMethodDCEnd_V2();
+extern "C" ULONG   FireEtwMethodDCEnd_V2(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  const unsigned short  ClrInstanceID,
+                  const unsigned __int64  ReJITID
+);
+extern "C" BOOL  EventEnabledMethodDCStartVerbose();
+extern "C" ULONG   FireEtwMethodDCStartVerbose(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  PCWSTR  MethodNamespace,
+                  PCWSTR  MethodName,
+                  PCWSTR  MethodSignature
+);
+extern "C" BOOL  EventEnabledMethodDCStartVerbose_V1();
+extern "C" ULONG   FireEtwMethodDCStartVerbose_V1(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  PCWSTR  MethodNamespace,
+                  PCWSTR  MethodName,
+                  PCWSTR  MethodSignature,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledMethodDCStartVerbose_V2();
+extern "C" ULONG   FireEtwMethodDCStartVerbose_V2(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  PCWSTR  MethodNamespace,
+                  PCWSTR  MethodName,
+                  PCWSTR  MethodSignature,
+                  const unsigned short  ClrInstanceID,
+                  const unsigned __int64  ReJITID
+);
+extern "C" BOOL  EventEnabledMethodDCEndVerbose();
+extern "C" ULONG   FireEtwMethodDCEndVerbose(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  PCWSTR  MethodNamespace,
+                  PCWSTR  MethodName,
+                  PCWSTR  MethodSignature
+);
+extern "C" BOOL  EventEnabledMethodDCEndVerbose_V1();
+extern "C" ULONG   FireEtwMethodDCEndVerbose_V1(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  PCWSTR  MethodNamespace,
+                  PCWSTR  MethodName,
+                  PCWSTR  MethodSignature,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledMethodDCEndVerbose_V2();
+extern "C" ULONG   FireEtwMethodDCEndVerbose_V2(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodStartAddress,
+                  const unsigned int  MethodSize,
+                  const unsigned int  MethodToken,
+                  const unsigned int  MethodFlags,
+                  PCWSTR  MethodNamespace,
+                  PCWSTR  MethodName,
+                  PCWSTR  MethodSignature,
+                  const unsigned short  ClrInstanceID,
+                  const unsigned __int64  ReJITID
+);
+extern "C" BOOL  EventEnabledDCStartComplete();
+extern "C" ULONG   FireEtwDCStartComplete(
+);
+extern "C" BOOL  EventEnabledDCStartComplete_V1();
+extern "C" ULONG   FireEtwDCStartComplete_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledDCEndComplete();
+extern "C" ULONG   FireEtwDCEndComplete(
+);
+extern "C" BOOL  EventEnabledDCEndComplete_V1();
+extern "C" ULONG   FireEtwDCEndComplete_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledDCStartInit();
+extern "C" ULONG   FireEtwDCStartInit(
+);
+extern "C" BOOL  EventEnabledDCStartInit_V1();
+extern "C" ULONG   FireEtwDCStartInit_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledDCEndInit();
+extern "C" ULONG   FireEtwDCEndInit(
+);
+extern "C" BOOL  EventEnabledDCEndInit_V1();
+extern "C" ULONG   FireEtwDCEndInit_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledMethodDCStartILToNativeMap();
+extern "C" ULONG   FireEtwMethodDCStartILToNativeMap(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ReJITID,
+                  const unsigned char  MethodExtent,
+                  const unsigned short  CountOfMapEntries,
+                  const unsigned int* ILOffsets,
+                  const unsigned int* NativeOffsets,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledMethodDCEndILToNativeMap();
+extern "C" ULONG   FireEtwMethodDCEndILToNativeMap(
+                  const unsigned __int64  MethodID,
+                  const unsigned __int64  ReJITID,
+                  const unsigned char  MethodExtent,
+                  const unsigned short  CountOfMapEntries,
+                  const unsigned int* ILOffsets,
+                  const unsigned int* NativeOffsets,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledDomainModuleDCStart();
+extern "C" ULONG   FireEtwDomainModuleDCStart(
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  AssemblyID,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned int  ModuleFlags,
+                  const unsigned int  Reserved1,
+                  PCWSTR  ModuleILPath,
+                  PCWSTR  ModuleNativePath
+);
+extern "C" BOOL  EventEnabledDomainModuleDCStart_V1();
+extern "C" ULONG   FireEtwDomainModuleDCStart_V1(
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  AssemblyID,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned int  ModuleFlags,
+                  const unsigned int  Reserved1,
+                  PCWSTR  ModuleILPath,
+                  PCWSTR  ModuleNativePath,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledDomainModuleDCEnd();
+extern "C" ULONG   FireEtwDomainModuleDCEnd(
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  AssemblyID,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned int  ModuleFlags,
+                  const unsigned int  Reserved1,
+                  PCWSTR  ModuleILPath,
+                  PCWSTR  ModuleNativePath
+);
+extern "C" BOOL  EventEnabledDomainModuleDCEnd_V1();
+extern "C" ULONG   FireEtwDomainModuleDCEnd_V1(
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  AssemblyID,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned int  ModuleFlags,
+                  const unsigned int  Reserved1,
+                  PCWSTR  ModuleILPath,
+                  PCWSTR  ModuleNativePath,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledModuleDCStart();
+extern "C" ULONG   FireEtwModuleDCStart(
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  AssemblyID,
+                  const unsigned int  ModuleFlags,
+                  const unsigned int  Reserved1,
+                  PCWSTR  ModuleILPath,
+                  PCWSTR  ModuleNativePath
+);
+extern "C" BOOL  EventEnabledModuleDCStart_V1();
+extern "C" ULONG   FireEtwModuleDCStart_V1(
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  AssemblyID,
+                  const unsigned int  ModuleFlags,
+                  const unsigned int  Reserved1,
+                  PCWSTR  ModuleILPath,
+                  PCWSTR  ModuleNativePath,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledModuleDCStart_V2();
+extern "C" ULONG   FireEtwModuleDCStart_V2(
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  AssemblyID,
+                  const unsigned int  ModuleFlags,
+                  const unsigned int  Reserved1,
+                  PCWSTR  ModuleILPath,
+                  PCWSTR  ModuleNativePath,
+                  const unsigned short  ClrInstanceID,
+                  const GUID* ManagedPdbSignature,
+                  const unsigned int  ManagedPdbAge,
+                  PCWSTR  ManagedPdbBuildPath,
+                  const GUID* NativePdbSignature,
+                  const unsigned int  NativePdbAge,
+                  PCWSTR  NativePdbBuildPath
+);
+extern "C" BOOL  EventEnabledModuleDCEnd();
+extern "C" ULONG   FireEtwModuleDCEnd(
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  AssemblyID,
+                  const unsigned int  ModuleFlags,
+                  const unsigned int  Reserved1,
+                  PCWSTR  ModuleILPath,
+                  PCWSTR  ModuleNativePath
+);
+extern "C" BOOL  EventEnabledModuleDCEnd_V1();
+extern "C" ULONG   FireEtwModuleDCEnd_V1(
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  AssemblyID,
+                  const unsigned int  ModuleFlags,
+                  const unsigned int  Reserved1,
+                  PCWSTR  ModuleILPath,
+                  PCWSTR  ModuleNativePath,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledModuleDCEnd_V2();
+extern "C" ULONG   FireEtwModuleDCEnd_V2(
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  AssemblyID,
+                  const unsigned int  ModuleFlags,
+                  const unsigned int  Reserved1,
+                  PCWSTR  ModuleILPath,
+                  PCWSTR  ModuleNativePath,
+                  const unsigned short  ClrInstanceID,
+                  const GUID* ManagedPdbSignature,
+                  const unsigned int  ManagedPdbAge,
+                  PCWSTR  ManagedPdbBuildPath,
+                  const GUID* NativePdbSignature,
+                  const unsigned int  NativePdbAge,
+                  PCWSTR  NativePdbBuildPath
+);
+extern "C" BOOL  EventEnabledAssemblyDCStart();
+extern "C" ULONG   FireEtwAssemblyDCStart(
+                  const unsigned __int64  AssemblyID,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned int  AssemblyFlags,
+                  PCWSTR  FullyQualifiedAssemblyName
+);
+extern "C" BOOL  EventEnabledAssemblyDCStart_V1();
+extern "C" ULONG   FireEtwAssemblyDCStart_V1(
+                  const unsigned __int64  AssemblyID,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned __int64  BindingID,
+                  const unsigned int  AssemblyFlags,
+                  PCWSTR  FullyQualifiedAssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledAssemblyDCEnd();
+extern "C" ULONG   FireEtwAssemblyDCEnd(
+                  const unsigned __int64  AssemblyID,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned int  AssemblyFlags,
+                  PCWSTR  FullyQualifiedAssemblyName
+);
+extern "C" BOOL  EventEnabledAssemblyDCEnd_V1();
+extern "C" ULONG   FireEtwAssemblyDCEnd_V1(
+                  const unsigned __int64  AssemblyID,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned __int64  BindingID,
+                  const unsigned int  AssemblyFlags,
+                  PCWSTR  FullyQualifiedAssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledAppDomainDCStart();
+extern "C" ULONG   FireEtwAppDomainDCStart(
+                  const unsigned __int64  AppDomainID,
+                  const unsigned int  AppDomainFlags,
+                  PCWSTR  AppDomainName
+);
+extern "C" BOOL  EventEnabledAppDomainDCStart_V1();
+extern "C" ULONG   FireEtwAppDomainDCStart_V1(
+                  const unsigned __int64  AppDomainID,
+                  const unsigned int  AppDomainFlags,
+                  PCWSTR  AppDomainName,
+                  const unsigned int  AppDomainIndex,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledAppDomainDCEnd();
+extern "C" ULONG   FireEtwAppDomainDCEnd(
+                  const unsigned __int64  AppDomainID,
+                  const unsigned int  AppDomainFlags,
+                  PCWSTR  AppDomainName
+);
+extern "C" BOOL  EventEnabledAppDomainDCEnd_V1();
+extern "C" ULONG   FireEtwAppDomainDCEnd_V1(
+                  const unsigned __int64  AppDomainID,
+                  const unsigned int  AppDomainFlags,
+                  PCWSTR  AppDomainName,
+                  const unsigned int  AppDomainIndex,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledThreadDC();
+extern "C" ULONG   FireEtwThreadDC(
+                  const unsigned __int64  ManagedThreadID,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned int  Flags,
+                  const unsigned int  ManagedThreadIndex,
+                  const unsigned int  OSThreadID,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledModuleRangeDCStart();
+extern "C" ULONG   FireEtwModuleRangeDCStart(
+                  const unsigned short  ClrInstanceID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned int  RangeBegin,
+                  const unsigned int  RangeSize,
+                  const unsigned char  RangeType
+);
+extern "C" BOOL  EventEnabledModuleRangeDCEnd();
+extern "C" ULONG   FireEtwModuleRangeDCEnd(
+                  const unsigned short  ClrInstanceID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned int  RangeBegin,
+                  const unsigned int  RangeSize,
+                  const unsigned char  RangeType
+);
+extern "C" BOOL  EventEnabledRuntimeInformationDCStart();
+extern "C" ULONG   FireEtwRuntimeInformationDCStart(
+                  const unsigned short  ClrInstanceID,
+                  const unsigned short  Sku,
+                  const unsigned short  BclMajorVersion,
+                  const unsigned short  BclMinorVersion,
+                  const unsigned short  BclBuildNumber,
+                  const unsigned short  BclQfeNumber,
+                  const unsigned short  VMMajorVersion,
+                  const unsigned short  VMMinorVersion,
+                  const unsigned short  VMBuildNumber,
+                  const unsigned short  VMQfeNumber,
+                  const unsigned int  StartupFlags,
+                  const unsigned char  StartupMode,
+                  PCWSTR  CommandLine,
+                  const GUID* ComObjectGuid,
+                  PCWSTR  RuntimeDllPath
+);
+extern "C" BOOL  EventEnabledStressLogEvent();
+extern "C" ULONG   FireEtwStressLogEvent(
+                  const unsigned int  Facility,
+                  const unsigned char  LogLevel,
+                  LPCSTR  Message
+);
+extern "C" BOOL  EventEnabledStressLogEvent_V1();
+extern "C" ULONG   FireEtwStressLogEvent_V1(
+                  const unsigned int  Facility,
+                  const unsigned char  LogLevel,
+                  LPCSTR  Message,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledCLRStackWalkStress();
+extern "C" ULONG   FireEtwCLRStackWalkStress(
+                  const unsigned short  ClrInstanceID,
+                  const unsigned char  Reserved1,
+                  const unsigned char  Reserved2,
+                  const unsigned int  FrameCount,
+                  const void** Stack
+);
+extern "C" BOOL  EventEnabledGCDecision();
+extern "C" ULONG   FireEtwGCDecision(
+                  const BOOL  DoCompact
+);
+extern "C" BOOL  EventEnabledGCDecision_V1();
+extern "C" ULONG   FireEtwGCDecision_V1(
+                  const BOOL  DoCompact,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCSettings();
+extern "C" ULONG   FireEtwGCSettings(
+                  const unsigned __int64  SegmentSize,
+                  const unsigned __int64  LargeObjectSegmentSize,
+                  const BOOL  ServerGC
+);
+extern "C" BOOL  EventEnabledGCSettings_V1();
+extern "C" ULONG   FireEtwGCSettings_V1(
+                  const unsigned __int64  SegmentSize,
+                  const unsigned __int64  LargeObjectSegmentSize,
+                  const BOOL  ServerGC,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCOptimized();
+extern "C" ULONG   FireEtwGCOptimized(
+                  const unsigned __int64  DesiredAllocation,
+                  const unsigned __int64  NewAllocation,
+                  const unsigned int  GenerationNumber
+);
+extern "C" BOOL  EventEnabledGCOptimized_V1();
+extern "C" ULONG   FireEtwGCOptimized_V1(
+                  const unsigned __int64  DesiredAllocation,
+                  const unsigned __int64  NewAllocation,
+                  const unsigned int  GenerationNumber,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCPerHeapHistory();
+extern "C" ULONG   FireEtwGCPerHeapHistory(
+);
+extern "C" BOOL  EventEnabledGCPerHeapHistory_V1();
+extern "C" ULONG   FireEtwGCPerHeapHistory_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCGlobalHeapHistory();
+extern "C" ULONG   FireEtwGCGlobalHeapHistory(
+                  const unsigned __int64  FinalYoungestDesired,
+                  const signed int  NumHeaps,
+                  const unsigned int  CondemnedGeneration,
+                  const unsigned int  Gen0ReductionCount,
+                  const unsigned int  Reason,
+                  const unsigned int  GlobalMechanisms
+);
+extern "C" BOOL  EventEnabledGCGlobalHeapHistory_V1();
+extern "C" ULONG   FireEtwGCGlobalHeapHistory_V1(
+                  const unsigned __int64  FinalYoungestDesired,
+                  const signed int  NumHeaps,
+                  const unsigned int  CondemnedGeneration,
+                  const unsigned int  Gen0ReductionCount,
+                  const unsigned int  Reason,
+                  const unsigned int  GlobalMechanisms,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCJoin();
+extern "C" ULONG   FireEtwGCJoin(
+                  const unsigned int  Heap,
+                  const unsigned int  JoinTime,
+                  const unsigned int  JoinType
+);
+extern "C" BOOL  EventEnabledGCJoin_V1();
+extern "C" ULONG   FireEtwGCJoin_V1(
+                  const unsigned int  Heap,
+                  const unsigned int  JoinTime,
+                  const unsigned int  JoinType,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledPrvGCMarkStackRoots();
+extern "C" ULONG   FireEtwPrvGCMarkStackRoots(
+                  const unsigned int  HeapNum
+);
+extern "C" BOOL  EventEnabledPrvGCMarkStackRoots_V1();
+extern "C" ULONG   FireEtwPrvGCMarkStackRoots_V1(
+                  const unsigned int  HeapNum,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledPrvGCMarkFinalizeQueueRoots();
+extern "C" ULONG   FireEtwPrvGCMarkFinalizeQueueRoots(
+                  const unsigned int  HeapNum
+);
+extern "C" BOOL  EventEnabledPrvGCMarkFinalizeQueueRoots_V1();
+extern "C" ULONG   FireEtwPrvGCMarkFinalizeQueueRoots_V1(
+                  const unsigned int  HeapNum,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledPrvGCMarkHandles();
+extern "C" ULONG   FireEtwPrvGCMarkHandles(
+                  const unsigned int  HeapNum
+);
+extern "C" BOOL  EventEnabledPrvGCMarkHandles_V1();
+extern "C" ULONG   FireEtwPrvGCMarkHandles_V1(
+                  const unsigned int  HeapNum,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledPrvGCMarkCards();
+extern "C" ULONG   FireEtwPrvGCMarkCards(
+                  const unsigned int  HeapNum
+);
+extern "C" BOOL  EventEnabledPrvGCMarkCards_V1();
+extern "C" ULONG   FireEtwPrvGCMarkCards_V1(
+                  const unsigned int  HeapNum,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBGCBegin();
+extern "C" ULONG   FireEtwBGCBegin(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBGC1stNonConEnd();
+extern "C" ULONG   FireEtwBGC1stNonConEnd(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBGC1stConEnd();
+extern "C" ULONG   FireEtwBGC1stConEnd(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBGC2ndNonConBegin();
+extern "C" ULONG   FireEtwBGC2ndNonConBegin(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBGC2ndNonConEnd();
+extern "C" ULONG   FireEtwBGC2ndNonConEnd(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBGC2ndConBegin();
+extern "C" ULONG   FireEtwBGC2ndConBegin(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBGC2ndConEnd();
+extern "C" ULONG   FireEtwBGC2ndConEnd(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBGCPlanEnd();
+extern "C" ULONG   FireEtwBGCPlanEnd(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBGCSweepEnd();
+extern "C" ULONG   FireEtwBGCSweepEnd(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBGCDrainMark();
+extern "C" ULONG   FireEtwBGCDrainMark(
+                  const unsigned __int64  Objects,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBGCRevisit();
+extern "C" ULONG   FireEtwBGCRevisit(
+                  const unsigned __int64  Pages,
+                  const unsigned __int64  Objects,
+                  const unsigned int  IsLarge,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBGCOverflow();
+extern "C" ULONG   FireEtwBGCOverflow(
+                  const unsigned __int64  Min,
+                  const unsigned __int64  Max,
+                  const unsigned __int64  Objects,
+                  const unsigned int  IsLarge,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBGCAllocWaitBegin();
+extern "C" ULONG   FireEtwBGCAllocWaitBegin(
+                  const unsigned int  Reason,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBGCAllocWaitEnd();
+extern "C" ULONG   FireEtwBGCAllocWaitEnd(
+                  const unsigned int  Reason,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGCFullNotify();
+extern "C" ULONG   FireEtwGCFullNotify(
+                  const unsigned int  GenNumber,
+                  const unsigned int  IsAlloc
+);
+extern "C" BOOL  EventEnabledGCFullNotify_V1();
+extern "C" ULONG   FireEtwGCFullNotify_V1(
+                  const unsigned int  GenNumber,
+                  const unsigned int  IsAlloc,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledEEStartupStart();
+extern "C" ULONG   FireEtwEEStartupStart(
+);
+extern "C" BOOL  EventEnabledEEStartupStart_V1();
+extern "C" ULONG   FireEtwEEStartupStart_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledEEStartupEnd();
+extern "C" ULONG   FireEtwEEStartupEnd(
+);
+extern "C" BOOL  EventEnabledEEStartupEnd_V1();
+extern "C" ULONG   FireEtwEEStartupEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledEEConfigSetup();
+extern "C" ULONG   FireEtwEEConfigSetup(
+);
+extern "C" BOOL  EventEnabledEEConfigSetup_V1();
+extern "C" ULONG   FireEtwEEConfigSetup_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledEEConfigSetupEnd();
+extern "C" ULONG   FireEtwEEConfigSetupEnd(
+);
+extern "C" BOOL  EventEnabledEEConfigSetupEnd_V1();
+extern "C" ULONG   FireEtwEEConfigSetupEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledLdSysBases();
+extern "C" ULONG   FireEtwLdSysBases(
+);
+extern "C" BOOL  EventEnabledLdSysBases_V1();
+extern "C" ULONG   FireEtwLdSysBases_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledLdSysBasesEnd();
+extern "C" ULONG   FireEtwLdSysBasesEnd(
+);
+extern "C" BOOL  EventEnabledLdSysBasesEnd_V1();
+extern "C" ULONG   FireEtwLdSysBasesEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledExecExe();
+extern "C" ULONG   FireEtwExecExe(
+);
+extern "C" BOOL  EventEnabledExecExe_V1();
+extern "C" ULONG   FireEtwExecExe_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledExecExeEnd();
+extern "C" ULONG   FireEtwExecExeEnd(
+);
+extern "C" BOOL  EventEnabledExecExeEnd_V1();
+extern "C" ULONG   FireEtwExecExeEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledMain();
+extern "C" ULONG   FireEtwMain(
+);
+extern "C" BOOL  EventEnabledMain_V1();
+extern "C" ULONG   FireEtwMain_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledMainEnd();
+extern "C" ULONG   FireEtwMainEnd(
+);
+extern "C" BOOL  EventEnabledMainEnd_V1();
+extern "C" ULONG   FireEtwMainEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledApplyPolicyStart();
+extern "C" ULONG   FireEtwApplyPolicyStart(
+);
+extern "C" BOOL  EventEnabledApplyPolicyStart_V1();
+extern "C" ULONG   FireEtwApplyPolicyStart_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledApplyPolicyEnd();
+extern "C" ULONG   FireEtwApplyPolicyEnd(
+);
+extern "C" BOOL  EventEnabledApplyPolicyEnd_V1();
+extern "C" ULONG   FireEtwApplyPolicyEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledLdLibShFolder();
+extern "C" ULONG   FireEtwLdLibShFolder(
+);
+extern "C" BOOL  EventEnabledLdLibShFolder_V1();
+extern "C" ULONG   FireEtwLdLibShFolder_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledLdLibShFolderEnd();
+extern "C" ULONG   FireEtwLdLibShFolderEnd(
+);
+extern "C" BOOL  EventEnabledLdLibShFolderEnd_V1();
+extern "C" ULONG   FireEtwLdLibShFolderEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledPrestubWorker();
+extern "C" ULONG   FireEtwPrestubWorker(
+);
+extern "C" BOOL  EventEnabledPrestubWorker_V1();
+extern "C" ULONG   FireEtwPrestubWorker_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledPrestubWorkerEnd();
+extern "C" ULONG   FireEtwPrestubWorkerEnd(
+);
+extern "C" BOOL  EventEnabledPrestubWorkerEnd_V1();
+extern "C" ULONG   FireEtwPrestubWorkerEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGetInstallationStart();
+extern "C" ULONG   FireEtwGetInstallationStart(
+);
+extern "C" BOOL  EventEnabledGetInstallationStart_V1();
+extern "C" ULONG   FireEtwGetInstallationStart_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGetInstallationEnd();
+extern "C" ULONG   FireEtwGetInstallationEnd(
+);
+extern "C" BOOL  EventEnabledGetInstallationEnd_V1();
+extern "C" ULONG   FireEtwGetInstallationEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledOpenHModule();
+extern "C" ULONG   FireEtwOpenHModule(
+);
+extern "C" BOOL  EventEnabledOpenHModule_V1();
+extern "C" ULONG   FireEtwOpenHModule_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledOpenHModuleEnd();
+extern "C" ULONG   FireEtwOpenHModuleEnd(
+);
+extern "C" BOOL  EventEnabledOpenHModuleEnd_V1();
+extern "C" ULONG   FireEtwOpenHModuleEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledExplicitBindStart();
+extern "C" ULONG   FireEtwExplicitBindStart(
+);
+extern "C" BOOL  EventEnabledExplicitBindStart_V1();
+extern "C" ULONG   FireEtwExplicitBindStart_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledExplicitBindEnd();
+extern "C" ULONG   FireEtwExplicitBindEnd(
+);
+extern "C" BOOL  EventEnabledExplicitBindEnd_V1();
+extern "C" ULONG   FireEtwExplicitBindEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledParseXml();
+extern "C" ULONG   FireEtwParseXml(
+);
+extern "C" BOOL  EventEnabledParseXml_V1();
+extern "C" ULONG   FireEtwParseXml_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledParseXmlEnd();
+extern "C" ULONG   FireEtwParseXmlEnd(
+);
+extern "C" BOOL  EventEnabledParseXmlEnd_V1();
+extern "C" ULONG   FireEtwParseXmlEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledInitDefaultDomain();
+extern "C" ULONG   FireEtwInitDefaultDomain(
+);
+extern "C" BOOL  EventEnabledInitDefaultDomain_V1();
+extern "C" ULONG   FireEtwInitDefaultDomain_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledInitDefaultDomainEnd();
+extern "C" ULONG   FireEtwInitDefaultDomainEnd(
+);
+extern "C" BOOL  EventEnabledInitDefaultDomainEnd_V1();
+extern "C" ULONG   FireEtwInitDefaultDomainEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledInitSecurity();
+extern "C" ULONG   FireEtwInitSecurity(
+);
+extern "C" BOOL  EventEnabledInitSecurity_V1();
+extern "C" ULONG   FireEtwInitSecurity_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledInitSecurityEnd();
+extern "C" ULONG   FireEtwInitSecurityEnd(
+);
+extern "C" BOOL  EventEnabledInitSecurityEnd_V1();
+extern "C" ULONG   FireEtwInitSecurityEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledAllowBindingRedirs();
+extern "C" ULONG   FireEtwAllowBindingRedirs(
+);
+extern "C" BOOL  EventEnabledAllowBindingRedirs_V1();
+extern "C" ULONG   FireEtwAllowBindingRedirs_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledAllowBindingRedirsEnd();
+extern "C" ULONG   FireEtwAllowBindingRedirsEnd(
+);
+extern "C" BOOL  EventEnabledAllowBindingRedirsEnd_V1();
+extern "C" ULONG   FireEtwAllowBindingRedirsEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledEEConfigSync();
+extern "C" ULONG   FireEtwEEConfigSync(
+);
+extern "C" BOOL  EventEnabledEEConfigSync_V1();
+extern "C" ULONG   FireEtwEEConfigSync_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledEEConfigSyncEnd();
+extern "C" ULONG   FireEtwEEConfigSyncEnd(
+);
+extern "C" BOOL  EventEnabledEEConfigSyncEnd_V1();
+extern "C" ULONG   FireEtwEEConfigSyncEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledFusionBinding();
+extern "C" ULONG   FireEtwFusionBinding(
+);
+extern "C" BOOL  EventEnabledFusionBinding_V1();
+extern "C" ULONG   FireEtwFusionBinding_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledFusionBindingEnd();
+extern "C" ULONG   FireEtwFusionBindingEnd(
+);
+extern "C" BOOL  EventEnabledFusionBindingEnd_V1();
+extern "C" ULONG   FireEtwFusionBindingEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledLoaderCatchCall();
+extern "C" ULONG   FireEtwLoaderCatchCall(
+);
+extern "C" BOOL  EventEnabledLoaderCatchCall_V1();
+extern "C" ULONG   FireEtwLoaderCatchCall_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledLoaderCatchCallEnd();
+extern "C" ULONG   FireEtwLoaderCatchCallEnd(
+);
+extern "C" BOOL  EventEnabledLoaderCatchCallEnd_V1();
+extern "C" ULONG   FireEtwLoaderCatchCallEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledFusionInit();
+extern "C" ULONG   FireEtwFusionInit(
+);
+extern "C" BOOL  EventEnabledFusionInit_V1();
+extern "C" ULONG   FireEtwFusionInit_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledFusionInitEnd();
+extern "C" ULONG   FireEtwFusionInitEnd(
+);
+extern "C" BOOL  EventEnabledFusionInitEnd_V1();
+extern "C" ULONG   FireEtwFusionInitEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledFusionAppCtx();
+extern "C" ULONG   FireEtwFusionAppCtx(
+);
+extern "C" BOOL  EventEnabledFusionAppCtx_V1();
+extern "C" ULONG   FireEtwFusionAppCtx_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledFusionAppCtxEnd();
+extern "C" ULONG   FireEtwFusionAppCtxEnd(
+);
+extern "C" BOOL  EventEnabledFusionAppCtxEnd_V1();
+extern "C" ULONG   FireEtwFusionAppCtxEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledFusion2EE();
+extern "C" ULONG   FireEtwFusion2EE(
+);
+extern "C" BOOL  EventEnabledFusion2EE_V1();
+extern "C" ULONG   FireEtwFusion2EE_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledFusion2EEEnd();
+extern "C" ULONG   FireEtwFusion2EEEnd(
+);
+extern "C" BOOL  EventEnabledFusion2EEEnd_V1();
+extern "C" ULONG   FireEtwFusion2EEEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledSecurityCatchCall();
+extern "C" ULONG   FireEtwSecurityCatchCall(
+);
+extern "C" BOOL  EventEnabledSecurityCatchCall_V1();
+extern "C" ULONG   FireEtwSecurityCatchCall_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledSecurityCatchCallEnd();
+extern "C" ULONG   FireEtwSecurityCatchCallEnd(
+);
+extern "C" BOOL  EventEnabledSecurityCatchCallEnd_V1();
+extern "C" ULONG   FireEtwSecurityCatchCallEnd_V1(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledCLRStackWalkPrivate();
+extern "C" ULONG   FireEtwCLRStackWalkPrivate(
+                  const unsigned short  ClrInstanceID,
+                  const unsigned char  Reserved1,
+                  const unsigned char  Reserved2,
+                  const unsigned int  FrameCount,
+                  const void** Stack
+);
+extern "C" BOOL  EventEnabledModuleRangeLoadPrivate();
+extern "C" ULONG   FireEtwModuleRangeLoadPrivate(
+                  const unsigned short  ClrInstanceID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned int  RangeBegin,
+                  const unsigned int  RangeSize,
+                  const unsigned char  RangeType,
+                  const unsigned char  IBCType,
+                  const unsigned short  SectionType
+);
+extern "C" BOOL  EventEnabledBindingPolicyPhaseStart();
+extern "C" ULONG   FireEtwBindingPolicyPhaseStart(
+                  const unsigned int  AppDomainID,
+                  const unsigned int  LoadContextID,
+                  const unsigned int  FromLoaderCache,
+                  const unsigned int  DynamicLoad,
+                  PCWSTR  AssemblyCodebase,
+                  PCWSTR  AssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBindingPolicyPhaseEnd();
+extern "C" ULONG   FireEtwBindingPolicyPhaseEnd(
+                  const unsigned int  AppDomainID,
+                  const unsigned int  LoadContextID,
+                  const unsigned int  FromLoaderCache,
+                  const unsigned int  DynamicLoad,
+                  PCWSTR  AssemblyCodebase,
+                  PCWSTR  AssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBindingNgenPhaseStart();
+extern "C" ULONG   FireEtwBindingNgenPhaseStart(
+                  const unsigned int  AppDomainID,
+                  const unsigned int  LoadContextID,
+                  const unsigned int  FromLoaderCache,
+                  const unsigned int  DynamicLoad,
+                  PCWSTR  AssemblyCodebase,
+                  PCWSTR  AssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBindingNgenPhaseEnd();
+extern "C" ULONG   FireEtwBindingNgenPhaseEnd(
+                  const unsigned int  AppDomainID,
+                  const unsigned int  LoadContextID,
+                  const unsigned int  FromLoaderCache,
+                  const unsigned int  DynamicLoad,
+                  PCWSTR  AssemblyCodebase,
+                  PCWSTR  AssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBindingLookupAndProbingPhaseStart();
+extern "C" ULONG   FireEtwBindingLookupAndProbingPhaseStart(
+                  const unsigned int  AppDomainID,
+                  const unsigned int  LoadContextID,
+                  const unsigned int  FromLoaderCache,
+                  const unsigned int  DynamicLoad,
+                  PCWSTR  AssemblyCodebase,
+                  PCWSTR  AssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBindingLookupAndProbingPhaseEnd();
+extern "C" ULONG   FireEtwBindingLookupAndProbingPhaseEnd(
+                  const unsigned int  AppDomainID,
+                  const unsigned int  LoadContextID,
+                  const unsigned int  FromLoaderCache,
+                  const unsigned int  DynamicLoad,
+                  PCWSTR  AssemblyCodebase,
+                  PCWSTR  AssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledLoaderPhaseStart();
+extern "C" ULONG   FireEtwLoaderPhaseStart(
+                  const unsigned int  AppDomainID,
+                  const unsigned int  LoadContextID,
+                  const unsigned int  FromLoaderCache,
+                  const unsigned int  DynamicLoad,
+                  PCWSTR  AssemblyCodebase,
+                  PCWSTR  AssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledLoaderPhaseEnd();
+extern "C" ULONG   FireEtwLoaderPhaseEnd(
+                  const unsigned int  AppDomainID,
+                  const unsigned int  LoadContextID,
+                  const unsigned int  FromLoaderCache,
+                  const unsigned int  DynamicLoad,
+                  PCWSTR  AssemblyCodebase,
+                  PCWSTR  AssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBindingPhaseStart();
+extern "C" ULONG   FireEtwBindingPhaseStart(
+                  const unsigned int  AppDomainID,
+                  const unsigned int  LoadContextID,
+                  const unsigned int  FromLoaderCache,
+                  const unsigned int  DynamicLoad,
+                  PCWSTR  AssemblyCodebase,
+                  PCWSTR  AssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBindingPhaseEnd();
+extern "C" ULONG   FireEtwBindingPhaseEnd(
+                  const unsigned int  AppDomainID,
+                  const unsigned int  LoadContextID,
+                  const unsigned int  FromLoaderCache,
+                  const unsigned int  DynamicLoad,
+                  PCWSTR  AssemblyCodebase,
+                  PCWSTR  AssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBindingDownloadPhaseStart();
+extern "C" ULONG   FireEtwBindingDownloadPhaseStart(
+                  const unsigned int  AppDomainID,
+                  const unsigned int  LoadContextID,
+                  const unsigned int  FromLoaderCache,
+                  const unsigned int  DynamicLoad,
+                  PCWSTR  AssemblyCodebase,
+                  PCWSTR  AssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBindingDownloadPhaseEnd();
+extern "C" ULONG   FireEtwBindingDownloadPhaseEnd(
+                  const unsigned int  AppDomainID,
+                  const unsigned int  LoadContextID,
+                  const unsigned int  FromLoaderCache,
+                  const unsigned int  DynamicLoad,
+                  PCWSTR  AssemblyCodebase,
+                  PCWSTR  AssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledLoaderAssemblyInitPhaseStart();
+extern "C" ULONG   FireEtwLoaderAssemblyInitPhaseStart(
+                  const unsigned int  AppDomainID,
+                  const unsigned int  LoadContextID,
+                  const unsigned int  FromLoaderCache,
+                  const unsigned int  DynamicLoad,
+                  PCWSTR  AssemblyCodebase,
+                  PCWSTR  AssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledLoaderAssemblyInitPhaseEnd();
+extern "C" ULONG   FireEtwLoaderAssemblyInitPhaseEnd(
+                  const unsigned int  AppDomainID,
+                  const unsigned int  LoadContextID,
+                  const unsigned int  FromLoaderCache,
+                  const unsigned int  DynamicLoad,
+                  PCWSTR  AssemblyCodebase,
+                  PCWSTR  AssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledLoaderMappingPhaseStart();
+extern "C" ULONG   FireEtwLoaderMappingPhaseStart(
+                  const unsigned int  AppDomainID,
+                  const unsigned int  LoadContextID,
+                  const unsigned int  FromLoaderCache,
+                  const unsigned int  DynamicLoad,
+                  PCWSTR  AssemblyCodebase,
+                  PCWSTR  AssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledLoaderMappingPhaseEnd();
+extern "C" ULONG   FireEtwLoaderMappingPhaseEnd(
+                  const unsigned int  AppDomainID,
+                  const unsigned int  LoadContextID,
+                  const unsigned int  FromLoaderCache,
+                  const unsigned int  DynamicLoad,
+                  PCWSTR  AssemblyCodebase,
+                  PCWSTR  AssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledLoaderDeliverEventsPhaseStart();
+extern "C" ULONG   FireEtwLoaderDeliverEventsPhaseStart(
+                  const unsigned int  AppDomainID,
+                  const unsigned int  LoadContextID,
+                  const unsigned int  FromLoaderCache,
+                  const unsigned int  DynamicLoad,
+                  PCWSTR  AssemblyCodebase,
+                  PCWSTR  AssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledLoaderDeliverEventsPhaseEnd();
+extern "C" ULONG   FireEtwLoaderDeliverEventsPhaseEnd(
+                  const unsigned int  AppDomainID,
+                  const unsigned int  LoadContextID,
+                  const unsigned int  FromLoaderCache,
+                  const unsigned int  DynamicLoad,
+                  PCWSTR  AssemblyCodebase,
+                  PCWSTR  AssemblyName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledEvidenceGenerated();
+extern "C" ULONG   FireEtwEvidenceGenerated(
+                  const unsigned int  Type,
+                  const unsigned int  AppDomain,
+                  PCWSTR  ILImage,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledModuleTransparencyComputationStart();
+extern "C" ULONG   FireEtwModuleTransparencyComputationStart(
+                  PCWSTR  Module,
+                  const unsigned int  AppDomainID,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledModuleTransparencyComputationEnd();
+extern "C" ULONG   FireEtwModuleTransparencyComputationEnd(
+                  PCWSTR  Module,
+                  const unsigned int  AppDomainID,
+                  const BOOL  IsAllCritical,
+                  const BOOL  IsAllTransparent,
+                  const BOOL  IsTreatAsSafe,
+                  const BOOL  IsOpportunisticallyCritical,
+                  const unsigned int  SecurityRuleSet,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledTypeTransparencyComputationStart();
+extern "C" ULONG   FireEtwTypeTransparencyComputationStart(
+                  PCWSTR  Type,
+                  PCWSTR  Module,
+                  const unsigned int  AppDomainID,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledTypeTransparencyComputationEnd();
+extern "C" ULONG   FireEtwTypeTransparencyComputationEnd(
+                  PCWSTR  Type,
+                  PCWSTR  Module,
+                  const unsigned int  AppDomainID,
+                  const BOOL  IsAllCritical,
+                  const BOOL  IsAllTransparent,
+                  const BOOL  IsCritical,
+                  const BOOL  IsTreatAsSafe,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledMethodTransparencyComputationStart();
+extern "C" ULONG   FireEtwMethodTransparencyComputationStart(
+                  PCWSTR  Method,
+                  PCWSTR  Module,
+                  const unsigned int  AppDomainID,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledMethodTransparencyComputationEnd();
+extern "C" ULONG   FireEtwMethodTransparencyComputationEnd(
+                  PCWSTR  Method,
+                  PCWSTR  Module,
+                  const unsigned int  AppDomainID,
+                  const BOOL  IsCritical,
+                  const BOOL  IsTreatAsSafe,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledFieldTransparencyComputationStart();
+extern "C" ULONG   FireEtwFieldTransparencyComputationStart(
+                  PCWSTR  Field,
+                  PCWSTR  Module,
+                  const unsigned int  AppDomainID,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledFieldTransparencyComputationEnd();
+extern "C" ULONG   FireEtwFieldTransparencyComputationEnd(
+                  PCWSTR  Field,
+                  PCWSTR  Module,
+                  const unsigned int  AppDomainID,
+                  const BOOL  IsCritical,
+                  const BOOL  IsTreatAsSafe,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledTokenTransparencyComputationStart();
+extern "C" ULONG   FireEtwTokenTransparencyComputationStart(
+                  const unsigned int  Token,
+                  PCWSTR  Module,
+                  const unsigned int  AppDomainID,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledTokenTransparencyComputationEnd();
+extern "C" ULONG   FireEtwTokenTransparencyComputationEnd(
+                  const unsigned int  Token,
+                  PCWSTR  Module,
+                  const unsigned int  AppDomainID,
+                  const BOOL  IsCritical,
+                  const BOOL  IsTreatAsSafe,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledNgenBindEvent();
+extern "C" ULONG   FireEtwNgenBindEvent(
+                  const unsigned short  ClrInstanceID,
+                  const unsigned __int64  BindingID,
+                  const unsigned int  ReasonCode,
+                  PCWSTR  AssemblyName
+);
+extern "C" BOOL  EventEnabledFailFast();
+extern "C" ULONG   FireEtwFailFast(
+                  PCWSTR  FailFastUserMessage,
+                  const void*  FailedEIP,
+                  const unsigned int  OSExitCode,
+                  const unsigned int  ClrExitCode,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledPrvFinalizeObject();
+extern "C" ULONG   FireEtwPrvFinalizeObject(
+                  const void*  TypeID,
+                  const void*  ObjectID,
+                  const unsigned short  ClrInstanceID,
+                  PCWSTR  TypeName
+);
+extern "C" BOOL  EventEnabledCCWRefCountChange();
+extern "C" ULONG   FireEtwCCWRefCountChange(
+                  const void*  HandleID,
+                  const void*  ObjectID,
+                  const void*  COMInterfacePointer,
+                  const unsigned int  NewRefCount,
+                  const unsigned __int64  AppDomainID,
+                  LPCSTR  ClassName,
+                  LPCSTR  NameSpace,
+                  PCWSTR  Operation,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledPrvSetGCHandle();
+extern "C" ULONG   FireEtwPrvSetGCHandle(
+                  const void*  HandleID,
+                  const void*  ObjectID,
+                  const unsigned int  Kind,
+                  const unsigned int  Generation,
+                  const unsigned __int64  AppDomainID,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledPrvDestroyGCHandle();
+extern "C" ULONG   FireEtwPrvDestroyGCHandle(
+                  const void*  HandleID,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledFusionMessageEvent();
+extern "C" ULONG   FireEtwFusionMessageEvent(
+                  const unsigned short  ClrInstanceID,
+                  const BOOL  Prepend,
+                  PCWSTR  Message
+);
+extern "C" BOOL  EventEnabledFusionErrorCodeEvent();
+extern "C" ULONG   FireEtwFusionErrorCodeEvent(
+                  const unsigned short  ClrInstanceID,
+                  const unsigned int  Category,
+                  const unsigned int  ErrorCode
+);
+extern "C" BOOL  EventEnabledPinPlugAtGCTime();
+extern "C" ULONG   FireEtwPinPlugAtGCTime(
+                  const void*  PlugStart,
+                  const void*  PlugEnd,
+                  const void*  GapBeforeSize,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledAllocRequest();
+extern "C" ULONG   FireEtwAllocRequest(
+                  const void*  LoaderHeapPtr,
+                  const void*  MemoryAddress,
+                  const unsigned int  RequestSize,
+                  const unsigned int  Unused1,
+                  const unsigned __int64  Unused2,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledMulticoreJit();
+extern "C" ULONG   FireEtwMulticoreJit(
+                  const unsigned short  ClrInstanceID,
+                  PCWSTR  String1,
+                  PCWSTR  String2,
+                  const signed int  Int1,
+                  const signed int  Int2,
+                  const signed int  Int3
+);
+extern "C" BOOL  EventEnabledMulticoreJitMethodCodeReturned();
+extern "C" ULONG   FireEtwMulticoreJitMethodCodeReturned(
+                  const unsigned short  ClrInstanceID,
+                  const unsigned __int64  ModuleID,
+                  const unsigned __int64  MethodID
+);
+extern "C" BOOL  EventEnabledIInspectableRuntimeClassName();
+extern "C" ULONG   FireEtwIInspectableRuntimeClassName(
+                  PCWSTR  TypeName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledWinRTUnbox();
+extern "C" ULONG   FireEtwWinRTUnbox(
+                  PCWSTR  TypeName,
+                  PCWSTR  SecondTypeName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledCreateRCW();
+extern "C" ULONG   FireEtwCreateRCW(
+                  PCWSTR  TypeName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledRCWVariance();
+extern "C" ULONG   FireEtwRCWVariance(
+                  PCWSTR  TypeName,
+                  PCWSTR  InterfaceTypeName,
+                  PCWSTR  VariantInterfaceTypeName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledRCWIEnumerableCasting();
+extern "C" ULONG   FireEtwRCWIEnumerableCasting(
+                  PCWSTR  TypeName,
+                  PCWSTR  SecondTypeName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledCreateCCW();
+extern "C" ULONG   FireEtwCreateCCW(
+                  PCWSTR  TypeName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledCCWVariance();
+extern "C" ULONG   FireEtwCCWVariance(
+                  PCWSTR  TypeName,
+                  PCWSTR  InterfaceTypeName,
+                  PCWSTR  VariantInterfaceTypeName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledObjectVariantMarshallingToNative();
+extern "C" ULONG   FireEtwObjectVariantMarshallingToNative(
+                  PCWSTR  TypeName,
+                  const signed int  Int1,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGetTypeFromGUID();
+extern "C" ULONG   FireEtwGetTypeFromGUID(
+                  PCWSTR  TypeName,
+                  PCWSTR  SecondTypeName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledGetTypeFromProgID();
+extern "C" ULONG   FireEtwGetTypeFromProgID(
+                  PCWSTR  TypeName,
+                  PCWSTR  SecondTypeName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledConvertToCallbackEtw();
+extern "C" ULONG   FireEtwConvertToCallbackEtw(
+                  PCWSTR  TypeName,
+                  PCWSTR  SecondTypeName,
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledBeginCreateManagedReference();
+extern "C" ULONG   FireEtwBeginCreateManagedReference(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledEndCreateManagedReference();
+extern "C" ULONG   FireEtwEndCreateManagedReference(
+                  const unsigned short  ClrInstanceID
+);
+extern "C" BOOL  EventEnabledObjectVariantMarshallingToManaged();
+extern "C" ULONG   FireEtwObjectVariantMarshallingToManaged(
+                  PCWSTR  TypeName,
+                  const signed int  Int1,
+                  const unsigned short  ClrInstanceID
+);
index 937a626..97c592e 100644 (file)
@@ -1,8 +1,15 @@
 //
 // Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information. 
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
 //
 
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/inc/genXplatEtw.pl
+
+******************************************************************/
+
 #define FireEtwGCStart(Count, Reason) 0
 #define FireEtwGCStart_V1(Count, Depth, Reason, Type, ClrInstanceID) 0
 #define FireEtwGCStart_V2(Count, Depth, Reason, Type, ClrInstanceID, ClientSequenceNumber) 0
 #define FireEtwGCFinalizersEnd_V1(Count, ClrInstanceID) 0
 #define FireEtwGCFinalizersBegin() 0
 #define FireEtwGCFinalizersBegin_V1(ClrInstanceID) 0
-#define FireEtwBulkType(Count, ClrInstanceID, Values_Len_, Values) 0
-#define FireEtwGCBulkRootEdge(Index, Count, ClrInstanceID, Values_Len_, Values) 0
-#define FireEtwGCBulkRootConditionalWeakTableElementEdge(Index, Count, ClrInstanceID, Values_Len_, Values) 0
-#define FireEtwGCBulkNode(Index, Count, ClrInstanceID, Values_Len_, Values) 0
-#define FireEtwGCBulkEdge(Index, Count, ClrInstanceID, Values_Len_, Values) 0
+#define FireEtwBulkType(Count, ClrInstanceID, Arg2_Struct_Len_, Arg2_Struct_Pointer_) 0
+#define FireEtwGCBulkRootEdge(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
+#define FireEtwGCBulkRootConditionalWeakTableElementEdge(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
+#define FireEtwGCBulkNode(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
+#define FireEtwGCBulkEdge(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
 #define FireEtwGCSampledObjectAllocationHigh(Address, TypeID, ObjectCountForTypeSample, TotalSizeForTypeSample, ClrInstanceID) 0
-#define FireEtwGCBulkSurvivingObjectRanges(Index, Count, ClrInstanceID, Values_Len_, Values) 0
-#define FireEtwGCBulkMovedObjectRanges(Index, Count, ClrInstanceID, Values_Len_, Values) 0
+#define FireEtwGCBulkSurvivingObjectRanges(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
+#define FireEtwGCBulkMovedObjectRanges(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
 #define FireEtwGCGenerationRange(Generation, RangeStart, RangeUsedLength, RangeReservedLength, ClrInstanceID) 0
 #define FireEtwGCMarkStackRoots(HeapNum, ClrInstanceID) 0
 #define FireEtwGCMarkFinalizeQueueRoots(HeapNum, ClrInstanceID) 0
@@ -53,9 +60,9 @@
 #define FireEtwGCSampledObjectAllocationLow(Address, TypeID, ObjectCountForTypeSample, TotalSizeForTypeSample, ClrInstanceID) 0
 #define FireEtwPinObjectAtGCTime(HandleID, ObjectID, ObjectSize, TypeName, ClrInstanceID) 0
 #define FireEtwGCTriggered(Reason, ClrInstanceID) 0
-#define FireEtwGCBulkRootCCW(Count, ClrInstanceID, Values_Len_, Values) 0
-#define FireEtwGCBulkRCW(Count, ClrInstanceID, Values_Len_, Values) 0
-#define FireEtwGCBulkRootStaticVar(Count, AppDomainID, ClrInstanceID, Values_Len_, Values) 0
+#define FireEtwGCBulkRootCCW(Count, ClrInstanceID, Arg2_Struct_Len_, Arg2_Struct_Pointer_) 0
+#define FireEtwGCBulkRCW(Count, ClrInstanceID, Arg2_Struct_Len_, Arg2_Struct_Pointer_) 0
+#define FireEtwGCBulkRootStaticVar(Count, AppDomainID, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
 #define FireEtwWorkerThreadCreate(WorkerThreadCount, RetiredWorkerThreads) 0
 #define FireEtwWorkerThreadTerminate(WorkerThreadCount, RetiredWorkerThreads) 0
 #define FireEtwWorkerThreadRetire(WorkerThreadCount, RetiredWorkerThreads) 0
 #define FireEtwDecreaseMemoryPressure(BytesFreed, ClrInstanceID) 0
 #define FireEtwGCMarkWithType(HeapNum, ClrInstanceID, Type, Bytes) 0
 #define FireEtwGCJoin_V2(Heap, JoinTime, JoinType, ClrInstanceID, JoinID) 0
-#define FireEtwGCPerHeapHistory_V3(ClrInstanceID, FreeListAllocated, FreeListRejected, EndOfSegAllocated, CondemnedAllocated, PinnedAllocated, PinnedAllocatedAdvance, RunningFreeListEfficiency, CondemnReasons0, CondemnReasons1, CompactMechanisms, ExpandMechanisms, HeapIndex, ExtraGen0Commit, Count, Values_Len_, Values) 0
+#define FireEtwGCPerHeapHistory_V3(ClrInstanceID, FreeListAllocated, FreeListRejected, EndOfSegAllocated, CondemnedAllocated, PinnedAllocated, PinnedAllocatedAdvance, RunningFreeListEfficiency, CondemnReasons0, CondemnReasons1, CompactMechanisms, ExpandMechanisms, HeapIndex, ExtraGen0Commit, Count, Arg15_Struct_Len_, Arg15_Struct_Pointer_) 0
 #define FireEtwGCGlobalHeapHistory_V2(FinalYoungestDesired, NumHeaps, CondemnedGeneration, Gen0ReductionCount, Reason, GlobalMechanisms, ClrInstanceID, PauseMode, MemoryPressure) 0
 #define FireEtwDebugIPCEventStart() 0
 #define FireEtwDebugIPCEventEnd() 0
index bc558cf..1e83639 100644 (file)
@@ -250,5 +250,9 @@ endif(CMAKE_SYSTEM_NAME STREQUAL Darwin)
 
 add_subdirectory(examples)
 
+if(CMAKE_SYSTEM_NAME STREQUAL Linux)
+add_subdirectory(eventprovider)
+endif(CMAKE_SYSTEM_NAME STREQUAL Linux)
+
 # Install the static PAL library for VS
 install (TARGETS coreclrpal DESTINATION lib)
diff --git a/src/pal/src/eventprovider/CMakeLists.txt b/src/pal/src/eventprovider/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d995cde
--- /dev/null
@@ -0,0 +1,22 @@
+cmake_minimum_required(VERSION 2.8.12.2)
+
+project(eventprovider)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)   
+
+add_definitions(-DPAL_STDCPP_COMPAT=1)
+include_directories(${COREPAL_SOURCE_DIR}/inc/rt)
+include_directories(${COREPAL_SOURCE_DIR}/src/eventprovider)
+
+add_library(eventprovider
+    STATIC
+    "lttng/eventprovdotnetruntimestress.cpp"
+    "lttng/eventprovdotnetruntime.cpp"
+    "lttng/eventprovdotnetruntimeprivate.cpp"
+    "lttng/eventprovdotnetruntimerundown.cpp"
+    )
+add_subdirectory(tracepointprovider)
+
+# Install the static PAL library for VS
+install (TARGETS eventprovider DESTINATION lib)
+
diff --git a/src/pal/src/eventprovider/lttng/eventprovdotnetruntime.cpp b/src/pal/src/eventprovider/lttng/eventprovdotnetruntime.cpp
new file mode 100644 (file)
index 0000000..c7883ac
--- /dev/null
@@ -0,0 +1,5791 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
+
+******************************************************************/
+
+
+#define TRACEPOINT_DEFINE
+#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE
+#include "lttng/tpdotnetruntime.h"
+extern "C" BOOL  EventEnabledGCStart(){ return TRUE;}
+extern "C" ULONG  FireEtwGCStart(
+                  const unsigned int Count,
+                  const unsigned int Reason
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCStart()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCStart,
+        Count,
+        Reason
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCStart_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCStart_V1(
+                  const unsigned int Count,
+                  const unsigned int Depth,
+                  const unsigned int Reason,
+                  const unsigned int Type,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCStart_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCStart_V1,
+        Count,
+        Depth,
+        Reason,
+        Type,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCStart_V2(){ return TRUE;}
+extern "C" ULONG  FireEtwGCStart_V2(
+                  const unsigned int Count,
+                  const unsigned int Depth,
+                  const unsigned int Reason,
+                  const unsigned int Type,
+                  const unsigned short ClrInstanceID,
+                  const unsigned __int64 ClientSequenceNumber
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCStart_V2()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCStart_V2,
+        Count,
+        Depth,
+        Reason,
+        Type,
+        ClrInstanceID,
+        ClientSequenceNumber
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwGCEnd(
+                  const unsigned int Count,
+                  const unsigned short Depth
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCEnd,
+        Count,
+        Depth
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCEnd_V1(
+                  const unsigned int Count,
+                  const unsigned int Depth,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCEnd_V1,
+        Count,
+        Depth,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCRestartEEEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwGCRestartEEEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCRestartEEEnd()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCRestartEEEnd
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCRestartEEEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCRestartEEEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCRestartEEEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCRestartEEEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCHeapStats(){ return TRUE;}
+extern "C" ULONG  FireEtwGCHeapStats(
+                  const unsigned __int64 GenerationSize0,
+                  const unsigned __int64 TotalPromotedSize0,
+                  const unsigned __int64 GenerationSize1,
+                  const unsigned __int64 TotalPromotedSize1,
+                  const unsigned __int64 GenerationSize2,
+                  const unsigned __int64 TotalPromotedSize2,
+                  const unsigned __int64 GenerationSize3,
+                  const unsigned __int64 TotalPromotedSize3,
+                  const unsigned __int64 FinalizationPromotedSize,
+                  const unsigned __int64 FinalizationPromotedCount,
+                  const unsigned int PinnedObjectCount,
+                  const unsigned int SinkBlockCount,
+                  const unsigned int GCHandleCount
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCHeapStats()){ return ERROR_SUCCESS;};
+
+                                                    
+     tracepoint(
+        DotNETRuntime,
+        GCHeapStats,
+        GenerationSize0,
+        TotalPromotedSize0,
+        GenerationSize1,
+        TotalPromotedSize1,
+        GenerationSize2,
+        TotalPromotedSize2,
+        GenerationSize3,
+        TotalPromotedSize3,
+        FinalizationPromotedSize,
+        FinalizationPromotedCount
+        );
+
+     tracepoint(
+        DotNETRuntime,
+        GCHeapStats_1,
+        PinnedObjectCount,
+        SinkBlockCount,
+        GCHandleCount
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCHeapStats_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCHeapStats_V1(
+                  const unsigned __int64 GenerationSize0,
+                  const unsigned __int64 TotalPromotedSize0,
+                  const unsigned __int64 GenerationSize1,
+                  const unsigned __int64 TotalPromotedSize1,
+                  const unsigned __int64 GenerationSize2,
+                  const unsigned __int64 TotalPromotedSize2,
+                  const unsigned __int64 GenerationSize3,
+                  const unsigned __int64 TotalPromotedSize3,
+                  const unsigned __int64 FinalizationPromotedSize,
+                  const unsigned __int64 FinalizationPromotedCount,
+                  const unsigned int PinnedObjectCount,
+                  const unsigned int SinkBlockCount,
+                  const unsigned int GCHandleCount,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCHeapStats_V1()){ return ERROR_SUCCESS;};
+
+                                                    
+     tracepoint(
+        DotNETRuntime,
+        GCHeapStats_V1,
+        GenerationSize0,
+        TotalPromotedSize0,
+        GenerationSize1,
+        TotalPromotedSize1,
+        GenerationSize2,
+        TotalPromotedSize2,
+        GenerationSize3,
+        TotalPromotedSize3,
+        FinalizationPromotedSize,
+        FinalizationPromotedCount
+        );
+
+     tracepoint(
+        DotNETRuntime,
+        GCHeapStats_V1_1,
+        PinnedObjectCount,
+        SinkBlockCount,
+        GCHandleCount,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCCreateSegment(){ return TRUE;}
+extern "C" ULONG  FireEtwGCCreateSegment(
+                  const unsigned __int64 Address,
+                  const unsigned __int64 Size,
+                  const unsigned int Type
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCCreateSegment()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCCreateSegment,
+        Address,
+        Size,
+        Type
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCCreateSegment_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCCreateSegment_V1(
+                  const unsigned __int64 Address,
+                  const unsigned __int64 Size,
+                  const unsigned int Type,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCCreateSegment_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCCreateSegment_V1,
+        Address,
+        Size,
+        Type,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCFreeSegment(){ return TRUE;}
+extern "C" ULONG  FireEtwGCFreeSegment(
+                  const unsigned __int64 Address
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCFreeSegment()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCFreeSegment,
+        Address
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCFreeSegment_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCFreeSegment_V1(
+                  const unsigned __int64 Address,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCFreeSegment_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCFreeSegment_V1,
+        Address,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCRestartEEBegin(){ return TRUE;}
+extern "C" ULONG  FireEtwGCRestartEEBegin(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCRestartEEBegin()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCRestartEEBegin
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCRestartEEBegin_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCRestartEEBegin_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCRestartEEBegin_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCRestartEEBegin_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCSuspendEEEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwGCSuspendEEEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCSuspendEEEnd()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCSuspendEEEnd
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCSuspendEEEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCSuspendEEEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCSuspendEEEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCSuspendEEEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCSuspendEEBegin(){ return TRUE;}
+extern "C" ULONG  FireEtwGCSuspendEEBegin(
+                  const unsigned short Reason
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCSuspendEEBegin()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCSuspendEEBegin,
+        Reason
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCSuspendEEBegin_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCSuspendEEBegin_V1(
+                  const unsigned int Reason,
+                  const unsigned int Count,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCSuspendEEBegin_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCSuspendEEBegin_V1,
+        Reason,
+        Count,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCAllocationTick(){ return TRUE;}
+extern "C" ULONG  FireEtwGCAllocationTick(
+                  const unsigned int AllocationAmount,
+                  const unsigned int AllocationKind
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCAllocationTick()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCAllocationTick,
+        AllocationAmount,
+        AllocationKind
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCAllocationTick_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCAllocationTick_V1(
+                  const unsigned int AllocationAmount,
+                  const unsigned int AllocationKind,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCAllocationTick_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCAllocationTick_V1,
+        AllocationAmount,
+        AllocationKind,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCAllocationTick_V2(){ return TRUE;}
+extern "C" ULONG  FireEtwGCAllocationTick_V2(
+                  const unsigned int AllocationAmount,
+                  const unsigned int AllocationKind,
+                  const unsigned short ClrInstanceID,
+                  const unsigned __int64 AllocationAmount64,
+                  const void* TypeID,
+                  PCWSTR TypeName,
+                  const unsigned int HeapIndex
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCAllocationTick_V2()){ return ERROR_SUCCESS;};
+    INT TypeName_path_size = -1;
+    INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1;
+    CHAR* TypeName_full_name=NULL;
+
+    TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(TypeName_full_name != NULL);
+    if(TypeName_full_name == NULL){goto LExit;}
+
+    TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
+    if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCAllocationTick_V2,
+        AllocationAmount,
+        AllocationKind,
+        ClrInstanceID,
+        AllocationAmount64,
+        (const size_t) TypeID,
+        TypeName_full_name,
+        HeapIndex
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (TypeName_full_name != NULL) {free(TypeName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCAllocationTick_V3(){ return TRUE;}
+extern "C" ULONG  FireEtwGCAllocationTick_V3(
+                  const unsigned int AllocationAmount,
+                  const unsigned int AllocationKind,
+                  const unsigned short ClrInstanceID,
+                  const unsigned __int64 AllocationAmount64,
+                  const void* TypeID,
+                  PCWSTR TypeName,
+                  const unsigned int HeapIndex,
+                  const void* Address
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCAllocationTick_V3()){ return ERROR_SUCCESS;};
+    INT TypeName_path_size = -1;
+    INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1;
+    CHAR* TypeName_full_name=NULL;
+
+    TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(TypeName_full_name != NULL);
+    if(TypeName_full_name == NULL){goto LExit;}
+
+    TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
+    if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCAllocationTick_V3,
+        AllocationAmount,
+        AllocationKind,
+        ClrInstanceID,
+        AllocationAmount64,
+        (const size_t) TypeID,
+        TypeName_full_name,
+        HeapIndex,
+        (const size_t) Address
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (TypeName_full_name != NULL) {free(TypeName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCCreateConcurrentThread(){ return TRUE;}
+extern "C" ULONG  FireEtwGCCreateConcurrentThread(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCCreateConcurrentThread()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCCreateConcurrentThread
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCCreateConcurrentThread_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCCreateConcurrentThread_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCCreateConcurrentThread_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCCreateConcurrentThread_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCTerminateConcurrentThread(){ return TRUE;}
+extern "C" ULONG  FireEtwGCTerminateConcurrentThread(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCTerminateConcurrentThread()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCTerminateConcurrentThread
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCTerminateConcurrentThread_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCTerminateConcurrentThread_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCTerminateConcurrentThread_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCTerminateConcurrentThread_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCFinalizersEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwGCFinalizersEnd(
+                  const unsigned int Count
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCFinalizersEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCFinalizersEnd,
+        Count
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCFinalizersEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCFinalizersEnd_V1(
+                  const unsigned int Count,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCFinalizersEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCFinalizersEnd_V1,
+        Count,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCFinalizersBegin(){ return TRUE;}
+extern "C" ULONG  FireEtwGCFinalizersBegin(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCFinalizersBegin()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCFinalizersBegin
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCFinalizersBegin_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCFinalizersBegin_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCFinalizersBegin_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCFinalizersBegin_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBulkType(){ return TRUE;}
+extern "C" ULONG  FireEtwBulkType(
+                  const unsigned int Count,
+                  const unsigned short ClrInstanceID,
+                  const ULONG Arg2_Struct_Len_,
+                  const void* Arg2_Struct_Pointer_
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBulkType()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        BulkType,
+        Count,
+        ClrInstanceID,
+        Arg2_Struct_Len_,
+        (const int*) Arg2_Struct_Pointer_
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCBulkRootEdge(){ return TRUE;}
+extern "C" ULONG  FireEtwGCBulkRootEdge(
+                  const unsigned int Index,
+                  const unsigned int Count,
+                  const unsigned short ClrInstanceID,
+                  const ULONG Arg3_Struct_Len_,
+                  const void* Arg3_Struct_Pointer_
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCBulkRootEdge()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCBulkRootEdge,
+        Index,
+        Count,
+        ClrInstanceID,
+        Arg3_Struct_Len_,
+        (const int*) Arg3_Struct_Pointer_
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCBulkRootConditionalWeakTableElementEdge(){ return TRUE;}
+extern "C" ULONG  FireEtwGCBulkRootConditionalWeakTableElementEdge(
+                  const unsigned int Index,
+                  const unsigned int Count,
+                  const unsigned short ClrInstanceID,
+                  const ULONG Arg3_Struct_Len_,
+                  const void* Arg3_Struct_Pointer_
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCBulkRootConditionalWeakTableElementEdge()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCBulkRootConditionalWeakTableElementEdge,
+        Index,
+        Count,
+        ClrInstanceID,
+        Arg3_Struct_Len_,
+        (const int*) Arg3_Struct_Pointer_
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCBulkNode(){ return TRUE;}
+extern "C" ULONG  FireEtwGCBulkNode(
+                  const unsigned int Index,
+                  const unsigned int Count,
+                  const unsigned short ClrInstanceID,
+                  const ULONG Arg3_Struct_Len_,
+                  const void* Arg3_Struct_Pointer_
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCBulkNode()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCBulkNode,
+        Index,
+        Count,
+        ClrInstanceID,
+        Arg3_Struct_Len_,
+        (const int*) Arg3_Struct_Pointer_
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCBulkEdge(){ return TRUE;}
+extern "C" ULONG  FireEtwGCBulkEdge(
+                  const unsigned int Index,
+                  const unsigned int Count,
+                  const unsigned short ClrInstanceID,
+                  const ULONG Arg3_Struct_Len_,
+                  const void* Arg3_Struct_Pointer_
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCBulkEdge()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCBulkEdge,
+        Index,
+        Count,
+        ClrInstanceID,
+        Arg3_Struct_Len_,
+        (const int*) Arg3_Struct_Pointer_
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCSampledObjectAllocationHigh(){ return TRUE;}
+extern "C" ULONG  FireEtwGCSampledObjectAllocationHigh(
+                  const void* Address,
+                  const void* TypeID,
+                  const unsigned int ObjectCountForTypeSample,
+                  const unsigned __int64 TotalSizeForTypeSample,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCSampledObjectAllocationHigh()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCSampledObjectAllocationHigh,
+        (const size_t) Address,
+        (const size_t) TypeID,
+        ObjectCountForTypeSample,
+        TotalSizeForTypeSample,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCBulkSurvivingObjectRanges(){ return TRUE;}
+extern "C" ULONG  FireEtwGCBulkSurvivingObjectRanges(
+                  const unsigned int Index,
+                  const unsigned int Count,
+                  const unsigned short ClrInstanceID,
+                  const ULONG Arg3_Struct_Len_,
+                  const void* Arg3_Struct_Pointer_
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCBulkSurvivingObjectRanges()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCBulkSurvivingObjectRanges,
+        Index,
+        Count,
+        ClrInstanceID,
+        Arg3_Struct_Len_,
+        (const int*) Arg3_Struct_Pointer_
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCBulkMovedObjectRanges(){ return TRUE;}
+extern "C" ULONG  FireEtwGCBulkMovedObjectRanges(
+                  const unsigned int Index,
+                  const unsigned int Count,
+                  const unsigned short ClrInstanceID,
+                  const ULONG Arg3_Struct_Len_,
+                  const void* Arg3_Struct_Pointer_
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCBulkMovedObjectRanges()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCBulkMovedObjectRanges,
+        Index,
+        Count,
+        ClrInstanceID,
+        Arg3_Struct_Len_,
+        (const int*) Arg3_Struct_Pointer_
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCGenerationRange(){ return TRUE;}
+extern "C" ULONG  FireEtwGCGenerationRange(
+                  const unsigned char Generation,
+                  const void* RangeStart,
+                  const unsigned __int64 RangeUsedLength,
+                  const unsigned __int64 RangeReservedLength,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCGenerationRange()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCGenerationRange,
+        Generation,
+        (const size_t) RangeStart,
+        RangeUsedLength,
+        RangeReservedLength,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCMarkStackRoots(){ return TRUE;}
+extern "C" ULONG  FireEtwGCMarkStackRoots(
+                  const unsigned int HeapNum,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCMarkStackRoots()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCMarkStackRoots,
+        HeapNum,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCMarkFinalizeQueueRoots(){ return TRUE;}
+extern "C" ULONG  FireEtwGCMarkFinalizeQueueRoots(
+                  const unsigned int HeapNum,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCMarkFinalizeQueueRoots()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCMarkFinalizeQueueRoots,
+        HeapNum,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCMarkHandles(){ return TRUE;}
+extern "C" ULONG  FireEtwGCMarkHandles(
+                  const unsigned int HeapNum,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCMarkHandles()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCMarkHandles,
+        HeapNum,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCMarkOlderGenerationRoots(){ return TRUE;}
+extern "C" ULONG  FireEtwGCMarkOlderGenerationRoots(
+                  const unsigned int HeapNum,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCMarkOlderGenerationRoots()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCMarkOlderGenerationRoots,
+        HeapNum,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFinalizeObject(){ return TRUE;}
+extern "C" ULONG  FireEtwFinalizeObject(
+                  const void* TypeID,
+                  const void* ObjectID,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFinalizeObject()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        FinalizeObject,
+        (const size_t) TypeID,
+        (const size_t) ObjectID,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledSetGCHandle(){ return TRUE;}
+extern "C" ULONG  FireEtwSetGCHandle(
+                  const void* HandleID,
+                  const void* ObjectID,
+                  const unsigned int Kind,
+                  const unsigned int Generation,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledSetGCHandle()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        SetGCHandle,
+        (const size_t) HandleID,
+        (const size_t) ObjectID,
+        Kind,
+        Generation,
+        AppDomainID,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDestroyGCHandle(){ return TRUE;}
+extern "C" ULONG  FireEtwDestroyGCHandle(
+                  const void* HandleID,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDestroyGCHandle()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        DestroyGCHandle,
+        (const size_t) HandleID,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCSampledObjectAllocationLow(){ return TRUE;}
+extern "C" ULONG  FireEtwGCSampledObjectAllocationLow(
+                  const void* Address,
+                  const void* TypeID,
+                  const unsigned int ObjectCountForTypeSample,
+                  const unsigned __int64 TotalSizeForTypeSample,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCSampledObjectAllocationLow()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCSampledObjectAllocationLow,
+        (const size_t) Address,
+        (const size_t) TypeID,
+        ObjectCountForTypeSample,
+        TotalSizeForTypeSample,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledPinObjectAtGCTime(){ return TRUE;}
+extern "C" ULONG  FireEtwPinObjectAtGCTime(
+                  const void* HandleID,
+                  const void* ObjectID,
+                  const unsigned __int64 ObjectSize,
+                  PCWSTR TypeName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledPinObjectAtGCTime()){ return ERROR_SUCCESS;};
+    INT TypeName_path_size = -1;
+    INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1;
+    CHAR* TypeName_full_name=NULL;
+
+    TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(TypeName_full_name != NULL);
+    if(TypeName_full_name == NULL){goto LExit;}
+
+    TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
+    if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        PinObjectAtGCTime,
+        (const size_t) HandleID,
+        (const size_t) ObjectID,
+        ObjectSize,
+        TypeName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (TypeName_full_name != NULL) {free(TypeName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCTriggered(){ return TRUE;}
+extern "C" ULONG  FireEtwGCTriggered(
+                  const unsigned int Reason,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCTriggered()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCTriggered,
+        Reason,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCBulkRootCCW(){ return TRUE;}
+extern "C" ULONG  FireEtwGCBulkRootCCW(
+                  const unsigned int Count,
+                  const unsigned short ClrInstanceID,
+                  const ULONG Arg2_Struct_Len_,
+                  const void* Arg2_Struct_Pointer_
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCBulkRootCCW()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCBulkRootCCW,
+        Count,
+        ClrInstanceID,
+        Arg2_Struct_Len_,
+        (const int*) Arg2_Struct_Pointer_
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCBulkRCW(){ return TRUE;}
+extern "C" ULONG  FireEtwGCBulkRCW(
+                  const unsigned int Count,
+                  const unsigned short ClrInstanceID,
+                  const ULONG Arg2_Struct_Len_,
+                  const void* Arg2_Struct_Pointer_
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCBulkRCW()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCBulkRCW,
+        Count,
+        ClrInstanceID,
+        Arg2_Struct_Len_,
+        (const int*) Arg2_Struct_Pointer_
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCBulkRootStaticVar(){ return TRUE;}
+extern "C" ULONG  FireEtwGCBulkRootStaticVar(
+                  const unsigned int Count,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned short ClrInstanceID,
+                  const ULONG Arg3_Struct_Len_,
+                  const void* Arg3_Struct_Pointer_
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCBulkRootStaticVar()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCBulkRootStaticVar,
+        Count,
+        AppDomainID,
+        ClrInstanceID,
+        Arg3_Struct_Len_,
+        (const int*) Arg3_Struct_Pointer_
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledWorkerThreadCreate(){ return TRUE;}
+extern "C" ULONG  FireEtwWorkerThreadCreate(
+                  const unsigned int WorkerThreadCount,
+                  const unsigned int RetiredWorkerThreads
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledWorkerThreadCreate()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        WorkerThreadCreate,
+        WorkerThreadCount,
+        RetiredWorkerThreads
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledWorkerThreadTerminate(){ return TRUE;}
+extern "C" ULONG  FireEtwWorkerThreadTerminate(
+                  const unsigned int WorkerThreadCount,
+                  const unsigned int RetiredWorkerThreads
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledWorkerThreadTerminate()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        WorkerThreadTerminate,
+        WorkerThreadCount,
+        RetiredWorkerThreads
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledWorkerThreadRetire(){ return TRUE;}
+extern "C" ULONG  FireEtwWorkerThreadRetire(
+                  const unsigned int WorkerThreadCount,
+                  const unsigned int RetiredWorkerThreads
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledWorkerThreadRetire()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        WorkerThreadRetire,
+        WorkerThreadCount,
+        RetiredWorkerThreads
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledWorkerThreadUnretire(){ return TRUE;}
+extern "C" ULONG  FireEtwWorkerThreadUnretire(
+                  const unsigned int WorkerThreadCount,
+                  const unsigned int RetiredWorkerThreads
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledWorkerThreadUnretire()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        WorkerThreadUnretire,
+        WorkerThreadCount,
+        RetiredWorkerThreads
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledIOThreadCreate(){ return TRUE;}
+extern "C" ULONG  FireEtwIOThreadCreate(
+                  const unsigned int IOThreadCount,
+                  const unsigned int RetiredIOThreads
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledIOThreadCreate()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        IOThreadCreate,
+        IOThreadCount,
+        RetiredIOThreads
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledIOThreadCreate_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwIOThreadCreate_V1(
+                  const unsigned int IOThreadCount,
+                  const unsigned int RetiredIOThreads,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledIOThreadCreate_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        IOThreadCreate_V1,
+        IOThreadCount,
+        RetiredIOThreads,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledIOThreadTerminate(){ return TRUE;}
+extern "C" ULONG  FireEtwIOThreadTerminate(
+                  const unsigned int IOThreadCount,
+                  const unsigned int RetiredIOThreads
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledIOThreadTerminate()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        IOThreadTerminate,
+        IOThreadCount,
+        RetiredIOThreads
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledIOThreadTerminate_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwIOThreadTerminate_V1(
+                  const unsigned int IOThreadCount,
+                  const unsigned int RetiredIOThreads,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledIOThreadTerminate_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        IOThreadTerminate_V1,
+        IOThreadCount,
+        RetiredIOThreads,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledIOThreadRetire(){ return TRUE;}
+extern "C" ULONG  FireEtwIOThreadRetire(
+                  const unsigned int IOThreadCount,
+                  const unsigned int RetiredIOThreads
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledIOThreadRetire()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        IOThreadRetire,
+        IOThreadCount,
+        RetiredIOThreads
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledIOThreadRetire_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwIOThreadRetire_V1(
+                  const unsigned int IOThreadCount,
+                  const unsigned int RetiredIOThreads,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledIOThreadRetire_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        IOThreadRetire_V1,
+        IOThreadCount,
+        RetiredIOThreads,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledIOThreadUnretire(){ return TRUE;}
+extern "C" ULONG  FireEtwIOThreadUnretire(
+                  const unsigned int IOThreadCount,
+                  const unsigned int RetiredIOThreads
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledIOThreadUnretire()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        IOThreadUnretire,
+        IOThreadCount,
+        RetiredIOThreads
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledIOThreadUnretire_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwIOThreadUnretire_V1(
+                  const unsigned int IOThreadCount,
+                  const unsigned int RetiredIOThreads,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledIOThreadUnretire_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        IOThreadUnretire_V1,
+        IOThreadCount,
+        RetiredIOThreads,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadpoolSuspensionSuspendThread(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadpoolSuspensionSuspendThread(
+                  const unsigned int ClrThreadID,
+                  const unsigned int CpuUtilization
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadpoolSuspensionSuspendThread()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ThreadpoolSuspensionSuspendThread,
+        ClrThreadID,
+        CpuUtilization
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadpoolSuspensionResumeThread(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadpoolSuspensionResumeThread(
+                  const unsigned int ClrThreadID,
+                  const unsigned int CpuUtilization
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadpoolSuspensionResumeThread()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ThreadpoolSuspensionResumeThread,
+        ClrThreadID,
+        CpuUtilization
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadPoolWorkerThreadStart(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadPoolWorkerThreadStart(
+                  const unsigned int ActiveWorkerThreadCount,
+                  const unsigned int RetiredWorkerThreadCount,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadPoolWorkerThreadStart()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ThreadPoolWorkerThreadStart,
+        ActiveWorkerThreadCount,
+        RetiredWorkerThreadCount,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadPoolWorkerThreadStop(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadPoolWorkerThreadStop(
+                  const unsigned int ActiveWorkerThreadCount,
+                  const unsigned int RetiredWorkerThreadCount,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadPoolWorkerThreadStop()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ThreadPoolWorkerThreadStop,
+        ActiveWorkerThreadCount,
+        RetiredWorkerThreadCount,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadPoolWorkerThreadRetirementStart(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadPoolWorkerThreadRetirementStart(
+                  const unsigned int ActiveWorkerThreadCount,
+                  const unsigned int RetiredWorkerThreadCount,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadPoolWorkerThreadRetirementStart()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ThreadPoolWorkerThreadRetirementStart,
+        ActiveWorkerThreadCount,
+        RetiredWorkerThreadCount,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadPoolWorkerThreadRetirementStop(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadPoolWorkerThreadRetirementStop(
+                  const unsigned int ActiveWorkerThreadCount,
+                  const unsigned int RetiredWorkerThreadCount,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadPoolWorkerThreadRetirementStop()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ThreadPoolWorkerThreadRetirementStop,
+        ActiveWorkerThreadCount,
+        RetiredWorkerThreadCount,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadPoolWorkerThreadAdjustmentSample(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadPoolWorkerThreadAdjustmentSample(
+                  const double Throughput,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadPoolWorkerThreadAdjustmentSample()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ThreadPoolWorkerThreadAdjustmentSample,
+        Throughput,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadPoolWorkerThreadAdjustmentAdjustment(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadPoolWorkerThreadAdjustmentAdjustment(
+                  const double AverageThroughput,
+                  const unsigned int NewWorkerThreadCount,
+                  const unsigned int Reason,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadPoolWorkerThreadAdjustmentAdjustment()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ThreadPoolWorkerThreadAdjustmentAdjustment,
+        AverageThroughput,
+        NewWorkerThreadCount,
+        Reason,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadPoolWorkerThreadAdjustmentStats(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadPoolWorkerThreadAdjustmentStats(
+                  const double Duration,
+                  const double Throughput,
+                  const double ThreadWave,
+                  const double ThroughputWave,
+                  const double ThroughputErrorEstimate,
+                  const double AverageThroughputErrorEstimate,
+                  const double ThroughputRatio,
+                  const double Confidence,
+                  const double NewControlSetting,
+                  const unsigned short NewThreadWaveMagnitude,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadPoolWorkerThreadAdjustmentStats()){ return ERROR_SUCCESS;};
+
+                                                    
+     tracepoint(
+        DotNETRuntime,
+        ThreadPoolWorkerThreadAdjustmentStats,
+        Duration,
+        Throughput,
+        ThreadWave,
+        ThroughputWave,
+        ThroughputErrorEstimate,
+        AverageThroughputErrorEstimate,
+        ThroughputRatio,
+        Confidence,
+        NewControlSetting,
+        NewThreadWaveMagnitude
+        );
+
+     tracepoint(
+        DotNETRuntime,
+        ThreadPoolWorkerThreadAdjustmentStats_1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadPoolWorkerThreadWait(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadPoolWorkerThreadWait(
+                  const unsigned int ActiveWorkerThreadCount,
+                  const unsigned int RetiredWorkerThreadCount,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadPoolWorkerThreadWait()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ThreadPoolWorkerThreadWait,
+        ActiveWorkerThreadCount,
+        RetiredWorkerThreadCount,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadPoolWorkingThreadCount(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadPoolWorkingThreadCount(
+                  const unsigned int Count,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadPoolWorkingThreadCount()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ThreadPoolWorkingThreadCount,
+        Count,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadPoolEnqueue(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadPoolEnqueue(
+                  const void* WorkID,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadPoolEnqueue()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ThreadPoolEnqueue,
+        (const size_t) WorkID,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadPoolDequeue(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadPoolDequeue(
+                  const void* WorkID,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadPoolDequeue()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ThreadPoolDequeue,
+        (const size_t) WorkID,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadPoolIOEnqueue(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadPoolIOEnqueue(
+                  const void* NativeOverlapped,
+                  const void* Overlapped,
+                  const BOOL MultiDequeues,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadPoolIOEnqueue()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ThreadPoolIOEnqueue,
+        (const size_t) NativeOverlapped,
+        (const size_t) Overlapped,
+        MultiDequeues,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadPoolIODequeue(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadPoolIODequeue(
+                  const void* NativeOverlapped,
+                  const void* Overlapped,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadPoolIODequeue()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ThreadPoolIODequeue,
+        (const size_t) NativeOverlapped,
+        (const size_t) Overlapped,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadPoolIOPack(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadPoolIOPack(
+                  const void* NativeOverlapped,
+                  const void* Overlapped,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadPoolIOPack()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ThreadPoolIOPack,
+        (const size_t) NativeOverlapped,
+        (const size_t) Overlapped,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadCreating(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadCreating(
+                  const void* ID,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadCreating()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ThreadCreating,
+        (const size_t) ID,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadRunning(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadRunning(
+                  const void* ID,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadRunning()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ThreadRunning,
+        (const size_t) ID,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledExceptionThrown(){ return TRUE;}
+extern "C" ULONG  FireEtwExceptionThrown(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledExceptionThrown()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntime,
+        ExceptionThrown
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledExceptionThrown_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwExceptionThrown_V1(
+                  PCWSTR ExceptionType,
+                  PCWSTR ExceptionMessage,
+                  const void* ExceptionEIP,
+                  const unsigned int ExceptionHRESULT,
+                  const unsigned short ExceptionFlags,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledExceptionThrown_V1()){ return ERROR_SUCCESS;};
+    INT ExceptionType_path_size = -1;
+    INT ExceptionType_full_name_path_size = PAL_wcslen(ExceptionType) + 1;
+    CHAR* ExceptionType_full_name=NULL;
+    INT ExceptionMessage_path_size = -1;
+    INT ExceptionMessage_full_name_path_size = PAL_wcslen(ExceptionMessage) + 1;
+    CHAR* ExceptionMessage_full_name=NULL;
+
+    ExceptionType_full_name = (CHAR*)malloc(ExceptionType_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ExceptionType_full_name != NULL);
+    if(ExceptionType_full_name == NULL){goto LExit;}
+
+    ExceptionType_path_size = WideCharToMultiByte( CP_ACP, 0, ExceptionType, -1, ExceptionType_full_name, ExceptionType_full_name_path_size, NULL, NULL );
+    _ASSERTE(ExceptionType_path_size == ExceptionType_full_name_path_size );
+    if( ExceptionType_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ExceptionMessage_full_name = (CHAR*)malloc(ExceptionMessage_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ExceptionMessage_full_name != NULL);
+    if(ExceptionMessage_full_name == NULL){goto LExit;}
+
+    ExceptionMessage_path_size = WideCharToMultiByte( CP_ACP, 0, ExceptionMessage, -1, ExceptionMessage_full_name, ExceptionMessage_full_name_path_size, NULL, NULL );
+    _ASSERTE(ExceptionMessage_path_size == ExceptionMessage_full_name_path_size );
+    if( ExceptionMessage_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        ExceptionThrown_V1,
+        ExceptionType_full_name,
+        ExceptionMessage_full_name,
+        (const size_t) ExceptionEIP,
+        ExceptionHRESULT,
+        ExceptionFlags,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ExceptionMessage_full_name != NULL) {free(ExceptionMessage_full_name);}
+        if (ExceptionType_full_name != NULL) {free(ExceptionType_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledExceptionCatchStart(){ return TRUE;}
+extern "C" ULONG  FireEtwExceptionCatchStart(
+                  const unsigned __int64 EntryEIP,
+                  const unsigned __int64 MethodID,
+                  PCWSTR MethodName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledExceptionCatchStart()){ return ERROR_SUCCESS;};
+    INT MethodName_path_size = -1;
+    INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1;
+    CHAR* MethodName_full_name=NULL;
+
+    MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodName_full_name != NULL);
+    if(MethodName_full_name == NULL){goto LExit;}
+
+    MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
+    if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        ExceptionCatchStart,
+        EntryEIP,
+        MethodID,
+        MethodName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (MethodName_full_name != NULL) {free(MethodName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledExceptionCatchStop(){ return TRUE;}
+extern "C" ULONG  FireEtwExceptionCatchStop(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledExceptionCatchStop()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntime,
+        ExceptionCatchStop
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledExceptionFinallyStart(){ return TRUE;}
+extern "C" ULONG  FireEtwExceptionFinallyStart(
+                  const unsigned __int64 EntryEIP,
+                  const unsigned __int64 MethodID,
+                  PCWSTR MethodName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledExceptionFinallyStart()){ return ERROR_SUCCESS;};
+    INT MethodName_path_size = -1;
+    INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1;
+    CHAR* MethodName_full_name=NULL;
+
+    MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodName_full_name != NULL);
+    if(MethodName_full_name == NULL){goto LExit;}
+
+    MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
+    if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        ExceptionFinallyStart,
+        EntryEIP,
+        MethodID,
+        MethodName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (MethodName_full_name != NULL) {free(MethodName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledExceptionFinallyStop(){ return TRUE;}
+extern "C" ULONG  FireEtwExceptionFinallyStop(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledExceptionFinallyStop()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntime,
+        ExceptionFinallyStop
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledExceptionFilterStart(){ return TRUE;}
+extern "C" ULONG  FireEtwExceptionFilterStart(
+                  const unsigned __int64 EntryEIP,
+                  const unsigned __int64 MethodID,
+                  PCWSTR MethodName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledExceptionFilterStart()){ return ERROR_SUCCESS;};
+    INT MethodName_path_size = -1;
+    INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1;
+    CHAR* MethodName_full_name=NULL;
+
+    MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodName_full_name != NULL);
+    if(MethodName_full_name == NULL){goto LExit;}
+
+    MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
+    if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        ExceptionFilterStart,
+        EntryEIP,
+        MethodID,
+        MethodName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (MethodName_full_name != NULL) {free(MethodName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledExceptionFilterStop(){ return TRUE;}
+extern "C" ULONG  FireEtwExceptionFilterStop(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledExceptionFilterStop()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntime,
+        ExceptionFilterStop
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledExceptionThrownStop(){ return TRUE;}
+extern "C" ULONG  FireEtwExceptionThrownStop(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledExceptionThrownStop()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntime,
+        ExceptionThrownStop
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledContention(){ return TRUE;}
+extern "C" ULONG  FireEtwContention(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledContention()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntime,
+        Contention
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledContentionStart_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwContentionStart_V1(
+                  const unsigned char ContentionFlags,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledContentionStart_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ContentionStart_V1,
+        ContentionFlags,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledContentionStop(){ return TRUE;}
+extern "C" ULONG  FireEtwContentionStop(
+                  const unsigned char ContentionFlags,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledContentionStop()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ContentionStop,
+        ContentionFlags,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledCLRStackWalk(){ return TRUE;}
+extern "C" ULONG  FireEtwCLRStackWalk(
+                  const unsigned short ClrInstanceID,
+                  const unsigned char Reserved1,
+                  const unsigned char Reserved2,
+                  const unsigned int FrameCount,
+                  const void** Stack
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledCLRStackWalk()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        CLRStackWalk,
+        ClrInstanceID,
+        Reserved1,
+        Reserved2,
+        FrameCount,
+        (const size_t*) Stack
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAppDomainMemAllocated(){ return TRUE;}
+extern "C" ULONG  FireEtwAppDomainMemAllocated(
+                  const unsigned __int64 AppDomainID,
+                  const unsigned __int64 Allocated,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAppDomainMemAllocated()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        AppDomainMemAllocated,
+        AppDomainID,
+        Allocated,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAppDomainMemSurvived(){ return TRUE;}
+extern "C" ULONG  FireEtwAppDomainMemSurvived(
+                  const unsigned __int64 AppDomainID,
+                  const unsigned __int64 Survived,
+                  const unsigned __int64 ProcessSurvived,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAppDomainMemSurvived()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        AppDomainMemSurvived,
+        AppDomainID,
+        Survived,
+        ProcessSurvived,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadCreated(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadCreated(
+                  const unsigned __int64 ManagedThreadID,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned int Flags,
+                  const unsigned int ManagedThreadIndex,
+                  const unsigned int OSThreadID,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadCreated()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ThreadCreated,
+        ManagedThreadID,
+        AppDomainID,
+        Flags,
+        ManagedThreadIndex,
+        OSThreadID,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadTerminated(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadTerminated(
+                  const unsigned __int64 ManagedThreadID,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadTerminated()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ThreadTerminated,
+        ManagedThreadID,
+        AppDomainID,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadDomainEnter(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadDomainEnter(
+                  const unsigned __int64 ManagedThreadID,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadDomainEnter()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ThreadDomainEnter,
+        ManagedThreadID,
+        AppDomainID,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledILStubGenerated(){ return TRUE;}
+extern "C" ULONG  FireEtwILStubGenerated(
+                  const unsigned short ClrInstanceID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 StubMethodID,
+                  const unsigned int StubFlags,
+                  const unsigned int ManagedInteropMethodToken,
+                  PCWSTR ManagedInteropMethodNamespace,
+                  PCWSTR ManagedInteropMethodName,
+                  PCWSTR ManagedInteropMethodSignature,
+                  PCWSTR NativeMethodSignature,
+                  PCWSTR StubMethodSignature,
+                  PCWSTR StubMethodILCode
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledILStubGenerated()){ return ERROR_SUCCESS;};
+    INT ManagedInteropMethodNamespace_path_size = -1;
+    INT ManagedInteropMethodNamespace_full_name_path_size = PAL_wcslen(ManagedInteropMethodNamespace) + 1;
+    CHAR* ManagedInteropMethodNamespace_full_name=NULL;
+    INT ManagedInteropMethodName_path_size = -1;
+    INT ManagedInteropMethodName_full_name_path_size = PAL_wcslen(ManagedInteropMethodName) + 1;
+    CHAR* ManagedInteropMethodName_full_name=NULL;
+    INT ManagedInteropMethodSignature_path_size = -1;
+    INT ManagedInteropMethodSignature_full_name_path_size = PAL_wcslen(ManagedInteropMethodSignature) + 1;
+    CHAR* ManagedInteropMethodSignature_full_name=NULL;
+    INT NativeMethodSignature_path_size = -1;
+    INT NativeMethodSignature_full_name_path_size = PAL_wcslen(NativeMethodSignature) + 1;
+    CHAR* NativeMethodSignature_full_name=NULL;
+    INT StubMethodSignature_path_size = -1;
+    INT StubMethodSignature_full_name_path_size = PAL_wcslen(StubMethodSignature) + 1;
+    CHAR* StubMethodSignature_full_name=NULL;
+    INT StubMethodILCode_path_size = -1;
+    INT StubMethodILCode_full_name_path_size = PAL_wcslen(StubMethodILCode) + 1;
+    CHAR* StubMethodILCode_full_name=NULL;
+
+    ManagedInteropMethodNamespace_full_name = (CHAR*)malloc(ManagedInteropMethodNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ManagedInteropMethodNamespace_full_name != NULL);
+    if(ManagedInteropMethodNamespace_full_name == NULL){goto LExit;}
+
+    ManagedInteropMethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodNamespace, -1, ManagedInteropMethodNamespace_full_name, ManagedInteropMethodNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(ManagedInteropMethodNamespace_path_size == ManagedInteropMethodNamespace_full_name_path_size );
+    if( ManagedInteropMethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ManagedInteropMethodName_full_name = (CHAR*)malloc(ManagedInteropMethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ManagedInteropMethodName_full_name != NULL);
+    if(ManagedInteropMethodName_full_name == NULL){goto LExit;}
+
+    ManagedInteropMethodName_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodName, -1, ManagedInteropMethodName_full_name, ManagedInteropMethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(ManagedInteropMethodName_path_size == ManagedInteropMethodName_full_name_path_size );
+    if( ManagedInteropMethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ManagedInteropMethodSignature_full_name = (CHAR*)malloc(ManagedInteropMethodSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ManagedInteropMethodSignature_full_name != NULL);
+    if(ManagedInteropMethodSignature_full_name == NULL){goto LExit;}
+
+    ManagedInteropMethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodSignature, -1, ManagedInteropMethodSignature_full_name, ManagedInteropMethodSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(ManagedInteropMethodSignature_path_size == ManagedInteropMethodSignature_full_name_path_size );
+    if( ManagedInteropMethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    NativeMethodSignature_full_name = (CHAR*)malloc(NativeMethodSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(NativeMethodSignature_full_name != NULL);
+    if(NativeMethodSignature_full_name == NULL){goto LExit;}
+
+    NativeMethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, NativeMethodSignature, -1, NativeMethodSignature_full_name, NativeMethodSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(NativeMethodSignature_path_size == NativeMethodSignature_full_name_path_size );
+    if( NativeMethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    StubMethodSignature_full_name = (CHAR*)malloc(StubMethodSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(StubMethodSignature_full_name != NULL);
+    if(StubMethodSignature_full_name == NULL){goto LExit;}
+
+    StubMethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, StubMethodSignature, -1, StubMethodSignature_full_name, StubMethodSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(StubMethodSignature_path_size == StubMethodSignature_full_name_path_size );
+    if( StubMethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    StubMethodILCode_full_name = (CHAR*)malloc(StubMethodILCode_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(StubMethodILCode_full_name != NULL);
+    if(StubMethodILCode_full_name == NULL){goto LExit;}
+
+    StubMethodILCode_path_size = WideCharToMultiByte( CP_ACP, 0, StubMethodILCode, -1, StubMethodILCode_full_name, StubMethodILCode_full_name_path_size, NULL, NULL );
+    _ASSERTE(StubMethodILCode_path_size == StubMethodILCode_full_name_path_size );
+    if( StubMethodILCode_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                                    
+     tracepoint(
+        DotNETRuntime,
+        ILStubGenerated,
+        ClrInstanceID,
+        ModuleID,
+        StubMethodID,
+        StubFlags,
+        ManagedInteropMethodToken,
+        ManagedInteropMethodNamespace_full_name,
+        ManagedInteropMethodName_full_name,
+        ManagedInteropMethodSignature_full_name,
+        NativeMethodSignature_full_name,
+        StubMethodSignature_full_name
+        );
+
+     tracepoint(
+        DotNETRuntime,
+        ILStubGenerated_1,
+        StubMethodILCode_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (StubMethodILCode_full_name != NULL) {free(StubMethodILCode_full_name);}
+        if (StubMethodSignature_full_name != NULL) {free(StubMethodSignature_full_name);}
+        if (NativeMethodSignature_full_name != NULL) {free(NativeMethodSignature_full_name);}
+        if (ManagedInteropMethodSignature_full_name != NULL) {free(ManagedInteropMethodSignature_full_name);}
+        if (ManagedInteropMethodName_full_name != NULL) {free(ManagedInteropMethodName_full_name);}
+        if (ManagedInteropMethodNamespace_full_name != NULL) {free(ManagedInteropMethodNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledILStubCacheHit(){ return TRUE;}
+extern "C" ULONG  FireEtwILStubCacheHit(
+                  const unsigned short ClrInstanceID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 StubMethodID,
+                  const unsigned int ManagedInteropMethodToken,
+                  PCWSTR ManagedInteropMethodNamespace,
+                  PCWSTR ManagedInteropMethodName,
+                  PCWSTR ManagedInteropMethodSignature
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledILStubCacheHit()){ return ERROR_SUCCESS;};
+    INT ManagedInteropMethodNamespace_path_size = -1;
+    INT ManagedInteropMethodNamespace_full_name_path_size = PAL_wcslen(ManagedInteropMethodNamespace) + 1;
+    CHAR* ManagedInteropMethodNamespace_full_name=NULL;
+    INT ManagedInteropMethodName_path_size = -1;
+    INT ManagedInteropMethodName_full_name_path_size = PAL_wcslen(ManagedInteropMethodName) + 1;
+    CHAR* ManagedInteropMethodName_full_name=NULL;
+    INT ManagedInteropMethodSignature_path_size = -1;
+    INT ManagedInteropMethodSignature_full_name_path_size = PAL_wcslen(ManagedInteropMethodSignature) + 1;
+    CHAR* ManagedInteropMethodSignature_full_name=NULL;
+
+    ManagedInteropMethodNamespace_full_name = (CHAR*)malloc(ManagedInteropMethodNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ManagedInteropMethodNamespace_full_name != NULL);
+    if(ManagedInteropMethodNamespace_full_name == NULL){goto LExit;}
+
+    ManagedInteropMethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodNamespace, -1, ManagedInteropMethodNamespace_full_name, ManagedInteropMethodNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(ManagedInteropMethodNamespace_path_size == ManagedInteropMethodNamespace_full_name_path_size );
+    if( ManagedInteropMethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ManagedInteropMethodName_full_name = (CHAR*)malloc(ManagedInteropMethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ManagedInteropMethodName_full_name != NULL);
+    if(ManagedInteropMethodName_full_name == NULL){goto LExit;}
+
+    ManagedInteropMethodName_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodName, -1, ManagedInteropMethodName_full_name, ManagedInteropMethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(ManagedInteropMethodName_path_size == ManagedInteropMethodName_full_name_path_size );
+    if( ManagedInteropMethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ManagedInteropMethodSignature_full_name = (CHAR*)malloc(ManagedInteropMethodSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ManagedInteropMethodSignature_full_name != NULL);
+    if(ManagedInteropMethodSignature_full_name == NULL){goto LExit;}
+
+    ManagedInteropMethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedInteropMethodSignature, -1, ManagedInteropMethodSignature_full_name, ManagedInteropMethodSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(ManagedInteropMethodSignature_path_size == ManagedInteropMethodSignature_full_name_path_size );
+    if( ManagedInteropMethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        ILStubCacheHit,
+        ClrInstanceID,
+        ModuleID,
+        StubMethodID,
+        ManagedInteropMethodToken,
+        ManagedInteropMethodNamespace_full_name,
+        ManagedInteropMethodName_full_name,
+        ManagedInteropMethodSignature_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ManagedInteropMethodSignature_full_name != NULL) {free(ManagedInteropMethodSignature_full_name);}
+        if (ManagedInteropMethodName_full_name != NULL) {free(ManagedInteropMethodName_full_name);}
+        if (ManagedInteropMethodNamespace_full_name != NULL) {free(ManagedInteropMethodNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDCStartCompleteV2(){ return TRUE;}
+extern "C" ULONG  FireEtwDCStartCompleteV2(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDCStartCompleteV2()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntime,
+        DCStartCompleteV2
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDCEndCompleteV2(){ return TRUE;}
+extern "C" ULONG  FireEtwDCEndCompleteV2(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDCEndCompleteV2()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntime,
+        DCEndCompleteV2
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodDCStartV2(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodDCStartV2(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodDCStartV2()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        MethodDCStartV2,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodDCEndV2(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodDCEndV2(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodDCEndV2()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        MethodDCEndV2,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodDCStartVerboseV2(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodDCStartVerboseV2(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  PCWSTR MethodNamespace,
+                  PCWSTR MethodName,
+                  PCWSTR MethodSignature
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodDCStartVerboseV2()){ return ERROR_SUCCESS;};
+    INT MethodNamespace_path_size = -1;
+    INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1;
+    CHAR* MethodNamespace_full_name=NULL;
+    INT MethodName_path_size = -1;
+    INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1;
+    CHAR* MethodName_full_name=NULL;
+    INT MethodSignature_path_size = -1;
+    INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1;
+    CHAR* MethodSignature_full_name=NULL;
+
+    MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodNamespace_full_name != NULL);
+    if(MethodNamespace_full_name == NULL){goto LExit;}
+
+    MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
+    if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodName_full_name != NULL);
+    if(MethodName_full_name == NULL){goto LExit;}
+
+    MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
+    if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodSignature_full_name != NULL);
+    if(MethodSignature_full_name == NULL){goto LExit;}
+
+    MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
+    if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        MethodDCStartVerboseV2,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        MethodNamespace_full_name,
+        MethodName_full_name,
+        MethodSignature_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
+        if (MethodName_full_name != NULL) {free(MethodName_full_name);}
+        if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodDCEndVerboseV2(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodDCEndVerboseV2(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  PCWSTR MethodNamespace,
+                  PCWSTR MethodName,
+                  PCWSTR MethodSignature
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodDCEndVerboseV2()){ return ERROR_SUCCESS;};
+    INT MethodNamespace_path_size = -1;
+    INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1;
+    CHAR* MethodNamespace_full_name=NULL;
+    INT MethodName_path_size = -1;
+    INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1;
+    CHAR* MethodName_full_name=NULL;
+    INT MethodSignature_path_size = -1;
+    INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1;
+    CHAR* MethodSignature_full_name=NULL;
+
+    MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodNamespace_full_name != NULL);
+    if(MethodNamespace_full_name == NULL){goto LExit;}
+
+    MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
+    if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodName_full_name != NULL);
+    if(MethodName_full_name == NULL){goto LExit;}
+
+    MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
+    if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodSignature_full_name != NULL);
+    if(MethodSignature_full_name == NULL){goto LExit;}
+
+    MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
+    if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        MethodDCEndVerboseV2,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        MethodNamespace_full_name,
+        MethodName_full_name,
+        MethodSignature_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
+        if (MethodName_full_name != NULL) {free(MethodName_full_name);}
+        if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodLoad(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodLoad(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodLoad()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        MethodLoad,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodLoad_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodLoad_V1(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodLoad_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        MethodLoad_V1,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodLoad_V2(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodLoad_V2(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  const unsigned short ClrInstanceID,
+                  const unsigned __int64 ReJITID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodLoad_V2()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        MethodLoad_V2,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        ClrInstanceID,
+        ReJITID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodUnload(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodUnload(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodUnload()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        MethodUnload,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodUnload_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodUnload_V1(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodUnload_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        MethodUnload_V1,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodUnload_V2(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodUnload_V2(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  const unsigned short ClrInstanceID,
+                  const unsigned __int64 ReJITID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodUnload_V2()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        MethodUnload_V2,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        ClrInstanceID,
+        ReJITID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodLoadVerbose(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodLoadVerbose(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  PCWSTR MethodNamespace,
+                  PCWSTR MethodName,
+                  PCWSTR MethodSignature
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodLoadVerbose()){ return ERROR_SUCCESS;};
+    INT MethodNamespace_path_size = -1;
+    INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1;
+    CHAR* MethodNamespace_full_name=NULL;
+    INT MethodName_path_size = -1;
+    INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1;
+    CHAR* MethodName_full_name=NULL;
+    INT MethodSignature_path_size = -1;
+    INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1;
+    CHAR* MethodSignature_full_name=NULL;
+
+    MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodNamespace_full_name != NULL);
+    if(MethodNamespace_full_name == NULL){goto LExit;}
+
+    MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
+    if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodName_full_name != NULL);
+    if(MethodName_full_name == NULL){goto LExit;}
+
+    MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
+    if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodSignature_full_name != NULL);
+    if(MethodSignature_full_name == NULL){goto LExit;}
+
+    MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
+    if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        MethodLoadVerbose,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        MethodNamespace_full_name,
+        MethodName_full_name,
+        MethodSignature_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
+        if (MethodName_full_name != NULL) {free(MethodName_full_name);}
+        if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodLoadVerbose_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodLoadVerbose_V1(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  PCWSTR MethodNamespace,
+                  PCWSTR MethodName,
+                  PCWSTR MethodSignature,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodLoadVerbose_V1()){ return ERROR_SUCCESS;};
+    INT MethodNamespace_path_size = -1;
+    INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1;
+    CHAR* MethodNamespace_full_name=NULL;
+    INT MethodName_path_size = -1;
+    INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1;
+    CHAR* MethodName_full_name=NULL;
+    INT MethodSignature_path_size = -1;
+    INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1;
+    CHAR* MethodSignature_full_name=NULL;
+
+    MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodNamespace_full_name != NULL);
+    if(MethodNamespace_full_name == NULL){goto LExit;}
+
+    MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
+    if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodName_full_name != NULL);
+    if(MethodName_full_name == NULL){goto LExit;}
+
+    MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
+    if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodSignature_full_name != NULL);
+    if(MethodSignature_full_name == NULL){goto LExit;}
+
+    MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
+    if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        MethodLoadVerbose_V1,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        MethodNamespace_full_name,
+        MethodName_full_name,
+        MethodSignature_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
+        if (MethodName_full_name != NULL) {free(MethodName_full_name);}
+        if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodLoadVerbose_V2(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodLoadVerbose_V2(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  PCWSTR MethodNamespace,
+                  PCWSTR MethodName,
+                  PCWSTR MethodSignature,
+                  const unsigned short ClrInstanceID,
+                  const unsigned __int64 ReJITID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodLoadVerbose_V2()){ return ERROR_SUCCESS;};
+    INT MethodNamespace_path_size = -1;
+    INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1;
+    CHAR* MethodNamespace_full_name=NULL;
+    INT MethodName_path_size = -1;
+    INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1;
+    CHAR* MethodName_full_name=NULL;
+    INT MethodSignature_path_size = -1;
+    INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1;
+    CHAR* MethodSignature_full_name=NULL;
+
+    MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodNamespace_full_name != NULL);
+    if(MethodNamespace_full_name == NULL){goto LExit;}
+
+    MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
+    if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodName_full_name != NULL);
+    if(MethodName_full_name == NULL){goto LExit;}
+
+    MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
+    if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodSignature_full_name != NULL);
+    if(MethodSignature_full_name == NULL){goto LExit;}
+
+    MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
+    if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                                    
+     tracepoint(
+        DotNETRuntime,
+        MethodLoadVerbose_V2,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        MethodNamespace_full_name,
+        MethodName_full_name,
+        MethodSignature_full_name,
+        ClrInstanceID
+        );
+
+     tracepoint(
+        DotNETRuntime,
+        MethodLoadVerbose_V2_1,
+        ReJITID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
+        if (MethodName_full_name != NULL) {free(MethodName_full_name);}
+        if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodUnloadVerbose(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodUnloadVerbose(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  PCWSTR MethodNamespace,
+                  PCWSTR MethodName,
+                  PCWSTR MethodSignature
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodUnloadVerbose()){ return ERROR_SUCCESS;};
+    INT MethodNamespace_path_size = -1;
+    INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1;
+    CHAR* MethodNamespace_full_name=NULL;
+    INT MethodName_path_size = -1;
+    INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1;
+    CHAR* MethodName_full_name=NULL;
+    INT MethodSignature_path_size = -1;
+    INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1;
+    CHAR* MethodSignature_full_name=NULL;
+
+    MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodNamespace_full_name != NULL);
+    if(MethodNamespace_full_name == NULL){goto LExit;}
+
+    MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
+    if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodName_full_name != NULL);
+    if(MethodName_full_name == NULL){goto LExit;}
+
+    MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
+    if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodSignature_full_name != NULL);
+    if(MethodSignature_full_name == NULL){goto LExit;}
+
+    MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
+    if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        MethodUnloadVerbose,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        MethodNamespace_full_name,
+        MethodName_full_name,
+        MethodSignature_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
+        if (MethodName_full_name != NULL) {free(MethodName_full_name);}
+        if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodUnloadVerbose_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodUnloadVerbose_V1(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  PCWSTR MethodNamespace,
+                  PCWSTR MethodName,
+                  PCWSTR MethodSignature,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodUnloadVerbose_V1()){ return ERROR_SUCCESS;};
+    INT MethodNamespace_path_size = -1;
+    INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1;
+    CHAR* MethodNamespace_full_name=NULL;
+    INT MethodName_path_size = -1;
+    INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1;
+    CHAR* MethodName_full_name=NULL;
+    INT MethodSignature_path_size = -1;
+    INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1;
+    CHAR* MethodSignature_full_name=NULL;
+
+    MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodNamespace_full_name != NULL);
+    if(MethodNamespace_full_name == NULL){goto LExit;}
+
+    MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
+    if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodName_full_name != NULL);
+    if(MethodName_full_name == NULL){goto LExit;}
+
+    MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
+    if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodSignature_full_name != NULL);
+    if(MethodSignature_full_name == NULL){goto LExit;}
+
+    MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
+    if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        MethodUnloadVerbose_V1,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        MethodNamespace_full_name,
+        MethodName_full_name,
+        MethodSignature_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
+        if (MethodName_full_name != NULL) {free(MethodName_full_name);}
+        if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodUnloadVerbose_V2(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodUnloadVerbose_V2(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  PCWSTR MethodNamespace,
+                  PCWSTR MethodName,
+                  PCWSTR MethodSignature,
+                  const unsigned short ClrInstanceID,
+                  const unsigned __int64 ReJITID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodUnloadVerbose_V2()){ return ERROR_SUCCESS;};
+    INT MethodNamespace_path_size = -1;
+    INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1;
+    CHAR* MethodNamespace_full_name=NULL;
+    INT MethodName_path_size = -1;
+    INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1;
+    CHAR* MethodName_full_name=NULL;
+    INT MethodSignature_path_size = -1;
+    INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1;
+    CHAR* MethodSignature_full_name=NULL;
+
+    MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodNamespace_full_name != NULL);
+    if(MethodNamespace_full_name == NULL){goto LExit;}
+
+    MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
+    if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodName_full_name != NULL);
+    if(MethodName_full_name == NULL){goto LExit;}
+
+    MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
+    if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodSignature_full_name != NULL);
+    if(MethodSignature_full_name == NULL){goto LExit;}
+
+    MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
+    if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                                    
+     tracepoint(
+        DotNETRuntime,
+        MethodUnloadVerbose_V2,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        MethodNamespace_full_name,
+        MethodName_full_name,
+        MethodSignature_full_name,
+        ClrInstanceID
+        );
+
+     tracepoint(
+        DotNETRuntime,
+        MethodUnloadVerbose_V2_1,
+        ReJITID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
+        if (MethodName_full_name != NULL) {free(MethodName_full_name);}
+        if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodJittingStarted(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodJittingStarted(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodILSize,
+                  PCWSTR MethodNamespace,
+                  PCWSTR MethodName,
+                  PCWSTR MethodSignature
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodJittingStarted()){ return ERROR_SUCCESS;};
+    INT MethodNamespace_path_size = -1;
+    INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1;
+    CHAR* MethodNamespace_full_name=NULL;
+    INT MethodName_path_size = -1;
+    INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1;
+    CHAR* MethodName_full_name=NULL;
+    INT MethodSignature_path_size = -1;
+    INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1;
+    CHAR* MethodSignature_full_name=NULL;
+
+    MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodNamespace_full_name != NULL);
+    if(MethodNamespace_full_name == NULL){goto LExit;}
+
+    MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
+    if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodName_full_name != NULL);
+    if(MethodName_full_name == NULL){goto LExit;}
+
+    MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
+    if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodSignature_full_name != NULL);
+    if(MethodSignature_full_name == NULL){goto LExit;}
+
+    MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
+    if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        MethodJittingStarted,
+        MethodID,
+        ModuleID,
+        MethodToken,
+        MethodILSize,
+        MethodNamespace_full_name,
+        MethodName_full_name,
+        MethodSignature_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
+        if (MethodName_full_name != NULL) {free(MethodName_full_name);}
+        if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodJittingStarted_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodJittingStarted_V1(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodILSize,
+                  PCWSTR MethodNamespace,
+                  PCWSTR MethodName,
+                  PCWSTR MethodSignature,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodJittingStarted_V1()){ return ERROR_SUCCESS;};
+    INT MethodNamespace_path_size = -1;
+    INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1;
+    CHAR* MethodNamespace_full_name=NULL;
+    INT MethodName_path_size = -1;
+    INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1;
+    CHAR* MethodName_full_name=NULL;
+    INT MethodSignature_path_size = -1;
+    INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1;
+    CHAR* MethodSignature_full_name=NULL;
+
+    MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodNamespace_full_name != NULL);
+    if(MethodNamespace_full_name == NULL){goto LExit;}
+
+    MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
+    if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodName_full_name != NULL);
+    if(MethodName_full_name == NULL){goto LExit;}
+
+    MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
+    if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodSignature_full_name != NULL);
+    if(MethodSignature_full_name == NULL){goto LExit;}
+
+    MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
+    if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        MethodJittingStarted_V1,
+        MethodID,
+        ModuleID,
+        MethodToken,
+        MethodILSize,
+        MethodNamespace_full_name,
+        MethodName_full_name,
+        MethodSignature_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
+        if (MethodName_full_name != NULL) {free(MethodName_full_name);}
+        if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodJitInliningSucceeded(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodJitInliningSucceeded(
+                  PCWSTR MethodBeingCompiledNamespace,
+                  PCWSTR MethodBeingCompiledName,
+                  PCWSTR MethodBeingCompiledNameSignature,
+                  PCWSTR InlinerNamespace,
+                  PCWSTR InlinerName,
+                  PCWSTR InlinerNameSignature,
+                  PCWSTR InlineeNamespace,
+                  PCWSTR InlineeName,
+                  PCWSTR InlineeNameSignature,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodJitInliningSucceeded()){ return ERROR_SUCCESS;};
+    INT MethodBeingCompiledNamespace_path_size = -1;
+    INT MethodBeingCompiledNamespace_full_name_path_size = PAL_wcslen(MethodBeingCompiledNamespace) + 1;
+    CHAR* MethodBeingCompiledNamespace_full_name=NULL;
+    INT MethodBeingCompiledName_path_size = -1;
+    INT MethodBeingCompiledName_full_name_path_size = PAL_wcslen(MethodBeingCompiledName) + 1;
+    CHAR* MethodBeingCompiledName_full_name=NULL;
+    INT MethodBeingCompiledNameSignature_path_size = -1;
+    INT MethodBeingCompiledNameSignature_full_name_path_size = PAL_wcslen(MethodBeingCompiledNameSignature) + 1;
+    CHAR* MethodBeingCompiledNameSignature_full_name=NULL;
+    INT InlinerNamespace_path_size = -1;
+    INT InlinerNamespace_full_name_path_size = PAL_wcslen(InlinerNamespace) + 1;
+    CHAR* InlinerNamespace_full_name=NULL;
+    INT InlinerName_path_size = -1;
+    INT InlinerName_full_name_path_size = PAL_wcslen(InlinerName) + 1;
+    CHAR* InlinerName_full_name=NULL;
+    INT InlinerNameSignature_path_size = -1;
+    INT InlinerNameSignature_full_name_path_size = PAL_wcslen(InlinerNameSignature) + 1;
+    CHAR* InlinerNameSignature_full_name=NULL;
+    INT InlineeNamespace_path_size = -1;
+    INT InlineeNamespace_full_name_path_size = PAL_wcslen(InlineeNamespace) + 1;
+    CHAR* InlineeNamespace_full_name=NULL;
+    INT InlineeName_path_size = -1;
+    INT InlineeName_full_name_path_size = PAL_wcslen(InlineeName) + 1;
+    CHAR* InlineeName_full_name=NULL;
+    INT InlineeNameSignature_path_size = -1;
+    INT InlineeNameSignature_full_name_path_size = PAL_wcslen(InlineeNameSignature) + 1;
+    CHAR* InlineeNameSignature_full_name=NULL;
+
+    MethodBeingCompiledNamespace_full_name = (CHAR*)malloc(MethodBeingCompiledNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodBeingCompiledNamespace_full_name != NULL);
+    if(MethodBeingCompiledNamespace_full_name == NULL){goto LExit;}
+
+    MethodBeingCompiledNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNamespace, -1, MethodBeingCompiledNamespace_full_name, MethodBeingCompiledNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodBeingCompiledNamespace_path_size == MethodBeingCompiledNamespace_full_name_path_size );
+    if( MethodBeingCompiledNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodBeingCompiledName_full_name = (CHAR*)malloc(MethodBeingCompiledName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodBeingCompiledName_full_name != NULL);
+    if(MethodBeingCompiledName_full_name == NULL){goto LExit;}
+
+    MethodBeingCompiledName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledName, -1, MethodBeingCompiledName_full_name, MethodBeingCompiledName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodBeingCompiledName_path_size == MethodBeingCompiledName_full_name_path_size );
+    if( MethodBeingCompiledName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodBeingCompiledNameSignature_full_name = (CHAR*)malloc(MethodBeingCompiledNameSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodBeingCompiledNameSignature_full_name != NULL);
+    if(MethodBeingCompiledNameSignature_full_name == NULL){goto LExit;}
+
+    MethodBeingCompiledNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNameSignature, -1, MethodBeingCompiledNameSignature_full_name, MethodBeingCompiledNameSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodBeingCompiledNameSignature_path_size == MethodBeingCompiledNameSignature_full_name_path_size );
+    if( MethodBeingCompiledNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    InlinerNamespace_full_name = (CHAR*)malloc(InlinerNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(InlinerNamespace_full_name != NULL);
+    if(InlinerNamespace_full_name == NULL){goto LExit;}
+
+    InlinerNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerNamespace, -1, InlinerNamespace_full_name, InlinerNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(InlinerNamespace_path_size == InlinerNamespace_full_name_path_size );
+    if( InlinerNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    InlinerName_full_name = (CHAR*)malloc(InlinerName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(InlinerName_full_name != NULL);
+    if(InlinerName_full_name == NULL){goto LExit;}
+
+    InlinerName_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerName, -1, InlinerName_full_name, InlinerName_full_name_path_size, NULL, NULL );
+    _ASSERTE(InlinerName_path_size == InlinerName_full_name_path_size );
+    if( InlinerName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    InlinerNameSignature_full_name = (CHAR*)malloc(InlinerNameSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(InlinerNameSignature_full_name != NULL);
+    if(InlinerNameSignature_full_name == NULL){goto LExit;}
+
+    InlinerNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerNameSignature, -1, InlinerNameSignature_full_name, InlinerNameSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(InlinerNameSignature_path_size == InlinerNameSignature_full_name_path_size );
+    if( InlinerNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    InlineeNamespace_full_name = (CHAR*)malloc(InlineeNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(InlineeNamespace_full_name != NULL);
+    if(InlineeNamespace_full_name == NULL){goto LExit;}
+
+    InlineeNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeNamespace, -1, InlineeNamespace_full_name, InlineeNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(InlineeNamespace_path_size == InlineeNamespace_full_name_path_size );
+    if( InlineeNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    InlineeName_full_name = (CHAR*)malloc(InlineeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(InlineeName_full_name != NULL);
+    if(InlineeName_full_name == NULL){goto LExit;}
+
+    InlineeName_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeName, -1, InlineeName_full_name, InlineeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(InlineeName_path_size == InlineeName_full_name_path_size );
+    if( InlineeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    InlineeNameSignature_full_name = (CHAR*)malloc(InlineeNameSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(InlineeNameSignature_full_name != NULL);
+    if(InlineeNameSignature_full_name == NULL){goto LExit;}
+
+    InlineeNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeNameSignature, -1, InlineeNameSignature_full_name, InlineeNameSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(InlineeNameSignature_path_size == InlineeNameSignature_full_name_path_size );
+    if( InlineeNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        MethodJitInliningSucceeded,
+        MethodBeingCompiledNamespace_full_name,
+        MethodBeingCompiledName_full_name,
+        MethodBeingCompiledNameSignature_full_name,
+        InlinerNamespace_full_name,
+        InlinerName_full_name,
+        InlinerNameSignature_full_name,
+        InlineeNamespace_full_name,
+        InlineeName_full_name,
+        InlineeNameSignature_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (InlineeNameSignature_full_name != NULL) {free(InlineeNameSignature_full_name);}
+        if (InlineeName_full_name != NULL) {free(InlineeName_full_name);}
+        if (InlineeNamespace_full_name != NULL) {free(InlineeNamespace_full_name);}
+        if (InlinerNameSignature_full_name != NULL) {free(InlinerNameSignature_full_name);}
+        if (InlinerName_full_name != NULL) {free(InlinerName_full_name);}
+        if (InlinerNamespace_full_name != NULL) {free(InlinerNamespace_full_name);}
+        if (MethodBeingCompiledNameSignature_full_name != NULL) {free(MethodBeingCompiledNameSignature_full_name);}
+        if (MethodBeingCompiledName_full_name != NULL) {free(MethodBeingCompiledName_full_name);}
+        if (MethodBeingCompiledNamespace_full_name != NULL) {free(MethodBeingCompiledNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodJitInliningFailed(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodJitInliningFailed(
+                  PCWSTR MethodBeingCompiledNamespace,
+                  PCWSTR MethodBeingCompiledName,
+                  PCWSTR MethodBeingCompiledNameSignature,
+                  PCWSTR InlinerNamespace,
+                  PCWSTR InlinerName,
+                  PCWSTR InlinerNameSignature,
+                  PCWSTR InlineeNamespace,
+                  PCWSTR InlineeName,
+                  PCWSTR InlineeNameSignature,
+                  const BOOL FailAlways,
+                  LPCSTR FailReason,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodJitInliningFailed()){ return ERROR_SUCCESS;};
+    INT MethodBeingCompiledNamespace_path_size = -1;
+    INT MethodBeingCompiledNamespace_full_name_path_size = PAL_wcslen(MethodBeingCompiledNamespace) + 1;
+    CHAR* MethodBeingCompiledNamespace_full_name=NULL;
+    INT MethodBeingCompiledName_path_size = -1;
+    INT MethodBeingCompiledName_full_name_path_size = PAL_wcslen(MethodBeingCompiledName) + 1;
+    CHAR* MethodBeingCompiledName_full_name=NULL;
+    INT MethodBeingCompiledNameSignature_path_size = -1;
+    INT MethodBeingCompiledNameSignature_full_name_path_size = PAL_wcslen(MethodBeingCompiledNameSignature) + 1;
+    CHAR* MethodBeingCompiledNameSignature_full_name=NULL;
+    INT InlinerNamespace_path_size = -1;
+    INT InlinerNamespace_full_name_path_size = PAL_wcslen(InlinerNamespace) + 1;
+    CHAR* InlinerNamespace_full_name=NULL;
+    INT InlinerName_path_size = -1;
+    INT InlinerName_full_name_path_size = PAL_wcslen(InlinerName) + 1;
+    CHAR* InlinerName_full_name=NULL;
+    INT InlinerNameSignature_path_size = -1;
+    INT InlinerNameSignature_full_name_path_size = PAL_wcslen(InlinerNameSignature) + 1;
+    CHAR* InlinerNameSignature_full_name=NULL;
+    INT InlineeNamespace_path_size = -1;
+    INT InlineeNamespace_full_name_path_size = PAL_wcslen(InlineeNamespace) + 1;
+    CHAR* InlineeNamespace_full_name=NULL;
+    INT InlineeName_path_size = -1;
+    INT InlineeName_full_name_path_size = PAL_wcslen(InlineeName) + 1;
+    CHAR* InlineeName_full_name=NULL;
+    INT InlineeNameSignature_path_size = -1;
+    INT InlineeNameSignature_full_name_path_size = PAL_wcslen(InlineeNameSignature) + 1;
+    CHAR* InlineeNameSignature_full_name=NULL;
+
+    MethodBeingCompiledNamespace_full_name = (CHAR*)malloc(MethodBeingCompiledNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodBeingCompiledNamespace_full_name != NULL);
+    if(MethodBeingCompiledNamespace_full_name == NULL){goto LExit;}
+
+    MethodBeingCompiledNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNamespace, -1, MethodBeingCompiledNamespace_full_name, MethodBeingCompiledNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodBeingCompiledNamespace_path_size == MethodBeingCompiledNamespace_full_name_path_size );
+    if( MethodBeingCompiledNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodBeingCompiledName_full_name = (CHAR*)malloc(MethodBeingCompiledName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodBeingCompiledName_full_name != NULL);
+    if(MethodBeingCompiledName_full_name == NULL){goto LExit;}
+
+    MethodBeingCompiledName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledName, -1, MethodBeingCompiledName_full_name, MethodBeingCompiledName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodBeingCompiledName_path_size == MethodBeingCompiledName_full_name_path_size );
+    if( MethodBeingCompiledName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodBeingCompiledNameSignature_full_name = (CHAR*)malloc(MethodBeingCompiledNameSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodBeingCompiledNameSignature_full_name != NULL);
+    if(MethodBeingCompiledNameSignature_full_name == NULL){goto LExit;}
+
+    MethodBeingCompiledNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNameSignature, -1, MethodBeingCompiledNameSignature_full_name, MethodBeingCompiledNameSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodBeingCompiledNameSignature_path_size == MethodBeingCompiledNameSignature_full_name_path_size );
+    if( MethodBeingCompiledNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    InlinerNamespace_full_name = (CHAR*)malloc(InlinerNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(InlinerNamespace_full_name != NULL);
+    if(InlinerNamespace_full_name == NULL){goto LExit;}
+
+    InlinerNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerNamespace, -1, InlinerNamespace_full_name, InlinerNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(InlinerNamespace_path_size == InlinerNamespace_full_name_path_size );
+    if( InlinerNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    InlinerName_full_name = (CHAR*)malloc(InlinerName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(InlinerName_full_name != NULL);
+    if(InlinerName_full_name == NULL){goto LExit;}
+
+    InlinerName_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerName, -1, InlinerName_full_name, InlinerName_full_name_path_size, NULL, NULL );
+    _ASSERTE(InlinerName_path_size == InlinerName_full_name_path_size );
+    if( InlinerName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    InlinerNameSignature_full_name = (CHAR*)malloc(InlinerNameSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(InlinerNameSignature_full_name != NULL);
+    if(InlinerNameSignature_full_name == NULL){goto LExit;}
+
+    InlinerNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, InlinerNameSignature, -1, InlinerNameSignature_full_name, InlinerNameSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(InlinerNameSignature_path_size == InlinerNameSignature_full_name_path_size );
+    if( InlinerNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    InlineeNamespace_full_name = (CHAR*)malloc(InlineeNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(InlineeNamespace_full_name != NULL);
+    if(InlineeNamespace_full_name == NULL){goto LExit;}
+
+    InlineeNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeNamespace, -1, InlineeNamespace_full_name, InlineeNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(InlineeNamespace_path_size == InlineeNamespace_full_name_path_size );
+    if( InlineeNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    InlineeName_full_name = (CHAR*)malloc(InlineeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(InlineeName_full_name != NULL);
+    if(InlineeName_full_name == NULL){goto LExit;}
+
+    InlineeName_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeName, -1, InlineeName_full_name, InlineeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(InlineeName_path_size == InlineeName_full_name_path_size );
+    if( InlineeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    InlineeNameSignature_full_name = (CHAR*)malloc(InlineeNameSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(InlineeNameSignature_full_name != NULL);
+    if(InlineeNameSignature_full_name == NULL){goto LExit;}
+
+    InlineeNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, InlineeNameSignature, -1, InlineeNameSignature_full_name, InlineeNameSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(InlineeNameSignature_path_size == InlineeNameSignature_full_name_path_size );
+    if( InlineeNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                                    
+     tracepoint(
+        DotNETRuntime,
+        MethodJitInliningFailed,
+        MethodBeingCompiledNamespace_full_name,
+        MethodBeingCompiledName_full_name,
+        MethodBeingCompiledNameSignature_full_name,
+        InlinerNamespace_full_name,
+        InlinerName_full_name,
+        InlinerNameSignature_full_name,
+        InlineeNamespace_full_name,
+        InlineeName_full_name,
+        InlineeNameSignature_full_name,
+        FailAlways
+        );
+
+     tracepoint(
+        DotNETRuntime,
+        MethodJitInliningFailed_1,
+        FailReason,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (InlineeNameSignature_full_name != NULL) {free(InlineeNameSignature_full_name);}
+        if (InlineeName_full_name != NULL) {free(InlineeName_full_name);}
+        if (InlineeNamespace_full_name != NULL) {free(InlineeNamespace_full_name);}
+        if (InlinerNameSignature_full_name != NULL) {free(InlinerNameSignature_full_name);}
+        if (InlinerName_full_name != NULL) {free(InlinerName_full_name);}
+        if (InlinerNamespace_full_name != NULL) {free(InlinerNamespace_full_name);}
+        if (MethodBeingCompiledNameSignature_full_name != NULL) {free(MethodBeingCompiledNameSignature_full_name);}
+        if (MethodBeingCompiledName_full_name != NULL) {free(MethodBeingCompiledName_full_name);}
+        if (MethodBeingCompiledNamespace_full_name != NULL) {free(MethodBeingCompiledNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodJitTailCallSucceeded(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodJitTailCallSucceeded(
+                  PCWSTR MethodBeingCompiledNamespace,
+                  PCWSTR MethodBeingCompiledName,
+                  PCWSTR MethodBeingCompiledNameSignature,
+                  PCWSTR CallerNamespace,
+                  PCWSTR CallerName,
+                  PCWSTR CallerNameSignature,
+                  PCWSTR CalleeNamespace,
+                  PCWSTR CalleeName,
+                  PCWSTR CalleeNameSignature,
+                  const BOOL TailPrefix,
+                  const unsigned int TailCallType,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodJitTailCallSucceeded()){ return ERROR_SUCCESS;};
+    INT MethodBeingCompiledNamespace_path_size = -1;
+    INT MethodBeingCompiledNamespace_full_name_path_size = PAL_wcslen(MethodBeingCompiledNamespace) + 1;
+    CHAR* MethodBeingCompiledNamespace_full_name=NULL;
+    INT MethodBeingCompiledName_path_size = -1;
+    INT MethodBeingCompiledName_full_name_path_size = PAL_wcslen(MethodBeingCompiledName) + 1;
+    CHAR* MethodBeingCompiledName_full_name=NULL;
+    INT MethodBeingCompiledNameSignature_path_size = -1;
+    INT MethodBeingCompiledNameSignature_full_name_path_size = PAL_wcslen(MethodBeingCompiledNameSignature) + 1;
+    CHAR* MethodBeingCompiledNameSignature_full_name=NULL;
+    INT CallerNamespace_path_size = -1;
+    INT CallerNamespace_full_name_path_size = PAL_wcslen(CallerNamespace) + 1;
+    CHAR* CallerNamespace_full_name=NULL;
+    INT CallerName_path_size = -1;
+    INT CallerName_full_name_path_size = PAL_wcslen(CallerName) + 1;
+    CHAR* CallerName_full_name=NULL;
+    INT CallerNameSignature_path_size = -1;
+    INT CallerNameSignature_full_name_path_size = PAL_wcslen(CallerNameSignature) + 1;
+    CHAR* CallerNameSignature_full_name=NULL;
+    INT CalleeNamespace_path_size = -1;
+    INT CalleeNamespace_full_name_path_size = PAL_wcslen(CalleeNamespace) + 1;
+    CHAR* CalleeNamespace_full_name=NULL;
+    INT CalleeName_path_size = -1;
+    INT CalleeName_full_name_path_size = PAL_wcslen(CalleeName) + 1;
+    CHAR* CalleeName_full_name=NULL;
+    INT CalleeNameSignature_path_size = -1;
+    INT CalleeNameSignature_full_name_path_size = PAL_wcslen(CalleeNameSignature) + 1;
+    CHAR* CalleeNameSignature_full_name=NULL;
+
+    MethodBeingCompiledNamespace_full_name = (CHAR*)malloc(MethodBeingCompiledNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodBeingCompiledNamespace_full_name != NULL);
+    if(MethodBeingCompiledNamespace_full_name == NULL){goto LExit;}
+
+    MethodBeingCompiledNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNamespace, -1, MethodBeingCompiledNamespace_full_name, MethodBeingCompiledNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodBeingCompiledNamespace_path_size == MethodBeingCompiledNamespace_full_name_path_size );
+    if( MethodBeingCompiledNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodBeingCompiledName_full_name = (CHAR*)malloc(MethodBeingCompiledName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodBeingCompiledName_full_name != NULL);
+    if(MethodBeingCompiledName_full_name == NULL){goto LExit;}
+
+    MethodBeingCompiledName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledName, -1, MethodBeingCompiledName_full_name, MethodBeingCompiledName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodBeingCompiledName_path_size == MethodBeingCompiledName_full_name_path_size );
+    if( MethodBeingCompiledName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodBeingCompiledNameSignature_full_name = (CHAR*)malloc(MethodBeingCompiledNameSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodBeingCompiledNameSignature_full_name != NULL);
+    if(MethodBeingCompiledNameSignature_full_name == NULL){goto LExit;}
+
+    MethodBeingCompiledNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNameSignature, -1, MethodBeingCompiledNameSignature_full_name, MethodBeingCompiledNameSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodBeingCompiledNameSignature_path_size == MethodBeingCompiledNameSignature_full_name_path_size );
+    if( MethodBeingCompiledNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    CallerNamespace_full_name = (CHAR*)malloc(CallerNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(CallerNamespace_full_name != NULL);
+    if(CallerNamespace_full_name == NULL){goto LExit;}
+
+    CallerNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, CallerNamespace, -1, CallerNamespace_full_name, CallerNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(CallerNamespace_path_size == CallerNamespace_full_name_path_size );
+    if( CallerNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    CallerName_full_name = (CHAR*)malloc(CallerName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(CallerName_full_name != NULL);
+    if(CallerName_full_name == NULL){goto LExit;}
+
+    CallerName_path_size = WideCharToMultiByte( CP_ACP, 0, CallerName, -1, CallerName_full_name, CallerName_full_name_path_size, NULL, NULL );
+    _ASSERTE(CallerName_path_size == CallerName_full_name_path_size );
+    if( CallerName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    CallerNameSignature_full_name = (CHAR*)malloc(CallerNameSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(CallerNameSignature_full_name != NULL);
+    if(CallerNameSignature_full_name == NULL){goto LExit;}
+
+    CallerNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, CallerNameSignature, -1, CallerNameSignature_full_name, CallerNameSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(CallerNameSignature_path_size == CallerNameSignature_full_name_path_size );
+    if( CallerNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    CalleeNamespace_full_name = (CHAR*)malloc(CalleeNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(CalleeNamespace_full_name != NULL);
+    if(CalleeNamespace_full_name == NULL){goto LExit;}
+
+    CalleeNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeNamespace, -1, CalleeNamespace_full_name, CalleeNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(CalleeNamespace_path_size == CalleeNamespace_full_name_path_size );
+    if( CalleeNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    CalleeName_full_name = (CHAR*)malloc(CalleeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(CalleeName_full_name != NULL);
+    if(CalleeName_full_name == NULL){goto LExit;}
+
+    CalleeName_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeName, -1, CalleeName_full_name, CalleeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(CalleeName_path_size == CalleeName_full_name_path_size );
+    if( CalleeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    CalleeNameSignature_full_name = (CHAR*)malloc(CalleeNameSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(CalleeNameSignature_full_name != NULL);
+    if(CalleeNameSignature_full_name == NULL){goto LExit;}
+
+    CalleeNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeNameSignature, -1, CalleeNameSignature_full_name, CalleeNameSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(CalleeNameSignature_path_size == CalleeNameSignature_full_name_path_size );
+    if( CalleeNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                                    
+     tracepoint(
+        DotNETRuntime,
+        MethodJitTailCallSucceeded,
+        MethodBeingCompiledNamespace_full_name,
+        MethodBeingCompiledName_full_name,
+        MethodBeingCompiledNameSignature_full_name,
+        CallerNamespace_full_name,
+        CallerName_full_name,
+        CallerNameSignature_full_name,
+        CalleeNamespace_full_name,
+        CalleeName_full_name,
+        CalleeNameSignature_full_name,
+        TailPrefix
+        );
+
+     tracepoint(
+        DotNETRuntime,
+        MethodJitTailCallSucceeded_1,
+        TailCallType,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (CalleeNameSignature_full_name != NULL) {free(CalleeNameSignature_full_name);}
+        if (CalleeName_full_name != NULL) {free(CalleeName_full_name);}
+        if (CalleeNamespace_full_name != NULL) {free(CalleeNamespace_full_name);}
+        if (CallerNameSignature_full_name != NULL) {free(CallerNameSignature_full_name);}
+        if (CallerName_full_name != NULL) {free(CallerName_full_name);}
+        if (CallerNamespace_full_name != NULL) {free(CallerNamespace_full_name);}
+        if (MethodBeingCompiledNameSignature_full_name != NULL) {free(MethodBeingCompiledNameSignature_full_name);}
+        if (MethodBeingCompiledName_full_name != NULL) {free(MethodBeingCompiledName_full_name);}
+        if (MethodBeingCompiledNamespace_full_name != NULL) {free(MethodBeingCompiledNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodJitTailCallFailed(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodJitTailCallFailed(
+                  PCWSTR MethodBeingCompiledNamespace,
+                  PCWSTR MethodBeingCompiledName,
+                  PCWSTR MethodBeingCompiledNameSignature,
+                  PCWSTR CallerNamespace,
+                  PCWSTR CallerName,
+                  PCWSTR CallerNameSignature,
+                  PCWSTR CalleeNamespace,
+                  PCWSTR CalleeName,
+                  PCWSTR CalleeNameSignature,
+                  const BOOL TailPrefix,
+                  LPCSTR FailReason,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodJitTailCallFailed()){ return ERROR_SUCCESS;};
+    INT MethodBeingCompiledNamespace_path_size = -1;
+    INT MethodBeingCompiledNamespace_full_name_path_size = PAL_wcslen(MethodBeingCompiledNamespace) + 1;
+    CHAR* MethodBeingCompiledNamespace_full_name=NULL;
+    INT MethodBeingCompiledName_path_size = -1;
+    INT MethodBeingCompiledName_full_name_path_size = PAL_wcslen(MethodBeingCompiledName) + 1;
+    CHAR* MethodBeingCompiledName_full_name=NULL;
+    INT MethodBeingCompiledNameSignature_path_size = -1;
+    INT MethodBeingCompiledNameSignature_full_name_path_size = PAL_wcslen(MethodBeingCompiledNameSignature) + 1;
+    CHAR* MethodBeingCompiledNameSignature_full_name=NULL;
+    INT CallerNamespace_path_size = -1;
+    INT CallerNamespace_full_name_path_size = PAL_wcslen(CallerNamespace) + 1;
+    CHAR* CallerNamespace_full_name=NULL;
+    INT CallerName_path_size = -1;
+    INT CallerName_full_name_path_size = PAL_wcslen(CallerName) + 1;
+    CHAR* CallerName_full_name=NULL;
+    INT CallerNameSignature_path_size = -1;
+    INT CallerNameSignature_full_name_path_size = PAL_wcslen(CallerNameSignature) + 1;
+    CHAR* CallerNameSignature_full_name=NULL;
+    INT CalleeNamespace_path_size = -1;
+    INT CalleeNamespace_full_name_path_size = PAL_wcslen(CalleeNamespace) + 1;
+    CHAR* CalleeNamespace_full_name=NULL;
+    INT CalleeName_path_size = -1;
+    INT CalleeName_full_name_path_size = PAL_wcslen(CalleeName) + 1;
+    CHAR* CalleeName_full_name=NULL;
+    INT CalleeNameSignature_path_size = -1;
+    INT CalleeNameSignature_full_name_path_size = PAL_wcslen(CalleeNameSignature) + 1;
+    CHAR* CalleeNameSignature_full_name=NULL;
+
+    MethodBeingCompiledNamespace_full_name = (CHAR*)malloc(MethodBeingCompiledNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodBeingCompiledNamespace_full_name != NULL);
+    if(MethodBeingCompiledNamespace_full_name == NULL){goto LExit;}
+
+    MethodBeingCompiledNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNamespace, -1, MethodBeingCompiledNamespace_full_name, MethodBeingCompiledNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodBeingCompiledNamespace_path_size == MethodBeingCompiledNamespace_full_name_path_size );
+    if( MethodBeingCompiledNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodBeingCompiledName_full_name = (CHAR*)malloc(MethodBeingCompiledName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodBeingCompiledName_full_name != NULL);
+    if(MethodBeingCompiledName_full_name == NULL){goto LExit;}
+
+    MethodBeingCompiledName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledName, -1, MethodBeingCompiledName_full_name, MethodBeingCompiledName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodBeingCompiledName_path_size == MethodBeingCompiledName_full_name_path_size );
+    if( MethodBeingCompiledName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodBeingCompiledNameSignature_full_name = (CHAR*)malloc(MethodBeingCompiledNameSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodBeingCompiledNameSignature_full_name != NULL);
+    if(MethodBeingCompiledNameSignature_full_name == NULL){goto LExit;}
+
+    MethodBeingCompiledNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodBeingCompiledNameSignature, -1, MethodBeingCompiledNameSignature_full_name, MethodBeingCompiledNameSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodBeingCompiledNameSignature_path_size == MethodBeingCompiledNameSignature_full_name_path_size );
+    if( MethodBeingCompiledNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    CallerNamespace_full_name = (CHAR*)malloc(CallerNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(CallerNamespace_full_name != NULL);
+    if(CallerNamespace_full_name == NULL){goto LExit;}
+
+    CallerNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, CallerNamespace, -1, CallerNamespace_full_name, CallerNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(CallerNamespace_path_size == CallerNamespace_full_name_path_size );
+    if( CallerNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    CallerName_full_name = (CHAR*)malloc(CallerName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(CallerName_full_name != NULL);
+    if(CallerName_full_name == NULL){goto LExit;}
+
+    CallerName_path_size = WideCharToMultiByte( CP_ACP, 0, CallerName, -1, CallerName_full_name, CallerName_full_name_path_size, NULL, NULL );
+    _ASSERTE(CallerName_path_size == CallerName_full_name_path_size );
+    if( CallerName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    CallerNameSignature_full_name = (CHAR*)malloc(CallerNameSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(CallerNameSignature_full_name != NULL);
+    if(CallerNameSignature_full_name == NULL){goto LExit;}
+
+    CallerNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, CallerNameSignature, -1, CallerNameSignature_full_name, CallerNameSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(CallerNameSignature_path_size == CallerNameSignature_full_name_path_size );
+    if( CallerNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    CalleeNamespace_full_name = (CHAR*)malloc(CalleeNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(CalleeNamespace_full_name != NULL);
+    if(CalleeNamespace_full_name == NULL){goto LExit;}
+
+    CalleeNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeNamespace, -1, CalleeNamespace_full_name, CalleeNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(CalleeNamespace_path_size == CalleeNamespace_full_name_path_size );
+    if( CalleeNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    CalleeName_full_name = (CHAR*)malloc(CalleeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(CalleeName_full_name != NULL);
+    if(CalleeName_full_name == NULL){goto LExit;}
+
+    CalleeName_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeName, -1, CalleeName_full_name, CalleeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(CalleeName_path_size == CalleeName_full_name_path_size );
+    if( CalleeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    CalleeNameSignature_full_name = (CHAR*)malloc(CalleeNameSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(CalleeNameSignature_full_name != NULL);
+    if(CalleeNameSignature_full_name == NULL){goto LExit;}
+
+    CalleeNameSignature_path_size = WideCharToMultiByte( CP_ACP, 0, CalleeNameSignature, -1, CalleeNameSignature_full_name, CalleeNameSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(CalleeNameSignature_path_size == CalleeNameSignature_full_name_path_size );
+    if( CalleeNameSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                                    
+     tracepoint(
+        DotNETRuntime,
+        MethodJitTailCallFailed,
+        MethodBeingCompiledNamespace_full_name,
+        MethodBeingCompiledName_full_name,
+        MethodBeingCompiledNameSignature_full_name,
+        CallerNamespace_full_name,
+        CallerName_full_name,
+        CallerNameSignature_full_name,
+        CalleeNamespace_full_name,
+        CalleeName_full_name,
+        CalleeNameSignature_full_name,
+        TailPrefix
+        );
+
+     tracepoint(
+        DotNETRuntime,
+        MethodJitTailCallFailed_1,
+        FailReason,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (CalleeNameSignature_full_name != NULL) {free(CalleeNameSignature_full_name);}
+        if (CalleeName_full_name != NULL) {free(CalleeName_full_name);}
+        if (CalleeNamespace_full_name != NULL) {free(CalleeNamespace_full_name);}
+        if (CallerNameSignature_full_name != NULL) {free(CallerNameSignature_full_name);}
+        if (CallerName_full_name != NULL) {free(CallerName_full_name);}
+        if (CallerNamespace_full_name != NULL) {free(CallerNamespace_full_name);}
+        if (MethodBeingCompiledNameSignature_full_name != NULL) {free(MethodBeingCompiledNameSignature_full_name);}
+        if (MethodBeingCompiledName_full_name != NULL) {free(MethodBeingCompiledName_full_name);}
+        if (MethodBeingCompiledNamespace_full_name != NULL) {free(MethodBeingCompiledNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodILToNativeMap(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodILToNativeMap(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ReJITID,
+                  const unsigned char MethodExtent,
+                  const unsigned short CountOfMapEntries,
+                  const unsigned int* ILOffsets,
+                  const unsigned int* NativeOffsets,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodILToNativeMap()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        MethodILToNativeMap,
+        MethodID,
+        ReJITID,
+        MethodExtent,
+        CountOfMapEntries,
+        (const unsigned int*) ILOffsets,
+        (const unsigned int*) NativeOffsets,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledModuleDCStartV2(){ return TRUE;}
+extern "C" ULONG  FireEtwModuleDCStartV2(
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 AssemblyID,
+                  const unsigned int ModuleFlags,
+                  const unsigned int Reserved1,
+                  PCWSTR ModuleILPath,
+                  PCWSTR ModuleNativePath
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledModuleDCStartV2()){ return ERROR_SUCCESS;};
+    INT ModuleILPath_path_size = -1;
+    INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1;
+    CHAR* ModuleILPath_full_name=NULL;
+    INT ModuleNativePath_path_size = -1;
+    INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1;
+    CHAR* ModuleNativePath_full_name=NULL;
+
+    ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleILPath_full_name != NULL);
+    if(ModuleILPath_full_name == NULL){goto LExit;}
+
+    ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
+    if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleNativePath_full_name != NULL);
+    if(ModuleNativePath_full_name == NULL){goto LExit;}
+
+    ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
+    if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        ModuleDCStartV2,
+        ModuleID,
+        AssemblyID,
+        ModuleFlags,
+        Reserved1,
+        ModuleILPath_full_name,
+        ModuleNativePath_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
+        if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledModuleDCEndV2(){ return TRUE;}
+extern "C" ULONG  FireEtwModuleDCEndV2(
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 AssemblyID,
+                  const unsigned int ModuleFlags,
+                  const unsigned int Reserved1,
+                  PCWSTR ModuleILPath,
+                  PCWSTR ModuleNativePath
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledModuleDCEndV2()){ return ERROR_SUCCESS;};
+    INT ModuleILPath_path_size = -1;
+    INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1;
+    CHAR* ModuleILPath_full_name=NULL;
+    INT ModuleNativePath_path_size = -1;
+    INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1;
+    CHAR* ModuleNativePath_full_name=NULL;
+
+    ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleILPath_full_name != NULL);
+    if(ModuleILPath_full_name == NULL){goto LExit;}
+
+    ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
+    if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleNativePath_full_name != NULL);
+    if(ModuleNativePath_full_name == NULL){goto LExit;}
+
+    ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
+    if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        ModuleDCEndV2,
+        ModuleID,
+        AssemblyID,
+        ModuleFlags,
+        Reserved1,
+        ModuleILPath_full_name,
+        ModuleNativePath_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
+        if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDomainModuleLoad(){ return TRUE;}
+extern "C" ULONG  FireEtwDomainModuleLoad(
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 AssemblyID,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned int ModuleFlags,
+                  const unsigned int Reserved1,
+                  PCWSTR ModuleILPath,
+                  PCWSTR ModuleNativePath
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDomainModuleLoad()){ return ERROR_SUCCESS;};
+    INT ModuleILPath_path_size = -1;
+    INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1;
+    CHAR* ModuleILPath_full_name=NULL;
+    INT ModuleNativePath_path_size = -1;
+    INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1;
+    CHAR* ModuleNativePath_full_name=NULL;
+
+    ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleILPath_full_name != NULL);
+    if(ModuleILPath_full_name == NULL){goto LExit;}
+
+    ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
+    if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleNativePath_full_name != NULL);
+    if(ModuleNativePath_full_name == NULL){goto LExit;}
+
+    ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
+    if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        DomainModuleLoad,
+        ModuleID,
+        AssemblyID,
+        AppDomainID,
+        ModuleFlags,
+        Reserved1,
+        ModuleILPath_full_name,
+        ModuleNativePath_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
+        if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDomainModuleLoad_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwDomainModuleLoad_V1(
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 AssemblyID,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned int ModuleFlags,
+                  const unsigned int Reserved1,
+                  PCWSTR ModuleILPath,
+                  PCWSTR ModuleNativePath,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDomainModuleLoad_V1()){ return ERROR_SUCCESS;};
+    INT ModuleILPath_path_size = -1;
+    INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1;
+    CHAR* ModuleILPath_full_name=NULL;
+    INT ModuleNativePath_path_size = -1;
+    INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1;
+    CHAR* ModuleNativePath_full_name=NULL;
+
+    ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleILPath_full_name != NULL);
+    if(ModuleILPath_full_name == NULL){goto LExit;}
+
+    ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
+    if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleNativePath_full_name != NULL);
+    if(ModuleNativePath_full_name == NULL){goto LExit;}
+
+    ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
+    if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        DomainModuleLoad_V1,
+        ModuleID,
+        AssemblyID,
+        AppDomainID,
+        ModuleFlags,
+        Reserved1,
+        ModuleILPath_full_name,
+        ModuleNativePath_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
+        if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledModuleLoad(){ return TRUE;}
+extern "C" ULONG  FireEtwModuleLoad(
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 AssemblyID,
+                  const unsigned int ModuleFlags,
+                  const unsigned int Reserved1,
+                  PCWSTR ModuleILPath,
+                  PCWSTR ModuleNativePath
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledModuleLoad()){ return ERROR_SUCCESS;};
+    INT ModuleILPath_path_size = -1;
+    INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1;
+    CHAR* ModuleILPath_full_name=NULL;
+    INT ModuleNativePath_path_size = -1;
+    INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1;
+    CHAR* ModuleNativePath_full_name=NULL;
+
+    ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleILPath_full_name != NULL);
+    if(ModuleILPath_full_name == NULL){goto LExit;}
+
+    ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
+    if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleNativePath_full_name != NULL);
+    if(ModuleNativePath_full_name == NULL){goto LExit;}
+
+    ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
+    if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        ModuleLoad,
+        ModuleID,
+        AssemblyID,
+        ModuleFlags,
+        Reserved1,
+        ModuleILPath_full_name,
+        ModuleNativePath_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
+        if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledModuleLoad_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwModuleLoad_V1(
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 AssemblyID,
+                  const unsigned int ModuleFlags,
+                  const unsigned int Reserved1,
+                  PCWSTR ModuleILPath,
+                  PCWSTR ModuleNativePath,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledModuleLoad_V1()){ return ERROR_SUCCESS;};
+    INT ModuleILPath_path_size = -1;
+    INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1;
+    CHAR* ModuleILPath_full_name=NULL;
+    INT ModuleNativePath_path_size = -1;
+    INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1;
+    CHAR* ModuleNativePath_full_name=NULL;
+
+    ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleILPath_full_name != NULL);
+    if(ModuleILPath_full_name == NULL){goto LExit;}
+
+    ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
+    if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleNativePath_full_name != NULL);
+    if(ModuleNativePath_full_name == NULL){goto LExit;}
+
+    ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
+    if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        ModuleLoad_V1,
+        ModuleID,
+        AssemblyID,
+        ModuleFlags,
+        Reserved1,
+        ModuleILPath_full_name,
+        ModuleNativePath_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
+        if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledModuleLoad_V2(){ return TRUE;}
+extern "C" ULONG  FireEtwModuleLoad_V2(
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 AssemblyID,
+                  const unsigned int ModuleFlags,
+                  const unsigned int Reserved1,
+                  PCWSTR ModuleILPath,
+                  PCWSTR ModuleNativePath,
+                  const unsigned short ClrInstanceID,
+                  const GUID* ManagedPdbSignature,
+                  const unsigned int ManagedPdbAge,
+                  PCWSTR ManagedPdbBuildPath,
+                  const GUID* NativePdbSignature,
+                  const unsigned int NativePdbAge,
+                  PCWSTR NativePdbBuildPath
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledModuleLoad_V2()){ return ERROR_SUCCESS;};
+    INT ModuleILPath_path_size = -1;
+    INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1;
+    CHAR* ModuleILPath_full_name=NULL;
+    INT ModuleNativePath_path_size = -1;
+    INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1;
+    CHAR* ModuleNativePath_full_name=NULL;
+    INT ManagedPdbBuildPath_path_size = -1;
+    INT ManagedPdbBuildPath_full_name_path_size = PAL_wcslen(ManagedPdbBuildPath) + 1;
+    CHAR* ManagedPdbBuildPath_full_name=NULL;
+    INT NativePdbBuildPath_path_size = -1;
+    INT NativePdbBuildPath_full_name_path_size = PAL_wcslen(NativePdbBuildPath) + 1;
+    CHAR* NativePdbBuildPath_full_name=NULL;
+
+    ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleILPath_full_name != NULL);
+    if(ModuleILPath_full_name == NULL){goto LExit;}
+
+    ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
+    if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleNativePath_full_name != NULL);
+    if(ModuleNativePath_full_name == NULL){goto LExit;}
+
+    ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
+    if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ManagedPdbBuildPath_full_name = (CHAR*)malloc(ManagedPdbBuildPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ManagedPdbBuildPath_full_name != NULL);
+    if(ManagedPdbBuildPath_full_name == NULL){goto LExit;}
+
+    ManagedPdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedPdbBuildPath, -1, ManagedPdbBuildPath_full_name, ManagedPdbBuildPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ManagedPdbBuildPath_path_size == ManagedPdbBuildPath_full_name_path_size );
+    if( ManagedPdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    NativePdbBuildPath_full_name = (CHAR*)malloc(NativePdbBuildPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(NativePdbBuildPath_full_name != NULL);
+    if(NativePdbBuildPath_full_name == NULL){goto LExit;}
+
+    NativePdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, NativePdbBuildPath, -1, NativePdbBuildPath_full_name, NativePdbBuildPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(NativePdbBuildPath_path_size == NativePdbBuildPath_full_name_path_size );
+    if( NativePdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                                    
+     tracepoint(
+        DotNETRuntime,
+        ModuleLoad_V2,
+        ModuleID,
+        AssemblyID,
+        ModuleFlags,
+        Reserved1,
+        ModuleILPath_full_name,
+        ModuleNativePath_full_name,
+        ClrInstanceID,
+        (const int*) ManagedPdbSignature,
+        ManagedPdbAge,
+        ManagedPdbBuildPath_full_name
+        );
+
+     tracepoint(
+        DotNETRuntime,
+        ModuleLoad_V2_1,
+        (const int*) NativePdbSignature,
+        NativePdbAge,
+        NativePdbBuildPath_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (NativePdbBuildPath_full_name != NULL) {free(NativePdbBuildPath_full_name);}
+        if (ManagedPdbBuildPath_full_name != NULL) {free(ManagedPdbBuildPath_full_name);}
+        if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
+        if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledModuleUnload(){ return TRUE;}
+extern "C" ULONG  FireEtwModuleUnload(
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 AssemblyID,
+                  const unsigned int ModuleFlags,
+                  const unsigned int Reserved1,
+                  PCWSTR ModuleILPath,
+                  PCWSTR ModuleNativePath
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledModuleUnload()){ return ERROR_SUCCESS;};
+    INT ModuleILPath_path_size = -1;
+    INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1;
+    CHAR* ModuleILPath_full_name=NULL;
+    INT ModuleNativePath_path_size = -1;
+    INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1;
+    CHAR* ModuleNativePath_full_name=NULL;
+
+    ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleILPath_full_name != NULL);
+    if(ModuleILPath_full_name == NULL){goto LExit;}
+
+    ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
+    if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleNativePath_full_name != NULL);
+    if(ModuleNativePath_full_name == NULL){goto LExit;}
+
+    ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
+    if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        ModuleUnload,
+        ModuleID,
+        AssemblyID,
+        ModuleFlags,
+        Reserved1,
+        ModuleILPath_full_name,
+        ModuleNativePath_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
+        if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledModuleUnload_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwModuleUnload_V1(
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 AssemblyID,
+                  const unsigned int ModuleFlags,
+                  const unsigned int Reserved1,
+                  PCWSTR ModuleILPath,
+                  PCWSTR ModuleNativePath,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledModuleUnload_V1()){ return ERROR_SUCCESS;};
+    INT ModuleILPath_path_size = -1;
+    INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1;
+    CHAR* ModuleILPath_full_name=NULL;
+    INT ModuleNativePath_path_size = -1;
+    INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1;
+    CHAR* ModuleNativePath_full_name=NULL;
+
+    ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleILPath_full_name != NULL);
+    if(ModuleILPath_full_name == NULL){goto LExit;}
+
+    ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
+    if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleNativePath_full_name != NULL);
+    if(ModuleNativePath_full_name == NULL){goto LExit;}
+
+    ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
+    if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        ModuleUnload_V1,
+        ModuleID,
+        AssemblyID,
+        ModuleFlags,
+        Reserved1,
+        ModuleILPath_full_name,
+        ModuleNativePath_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
+        if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledModuleUnload_V2(){ return TRUE;}
+extern "C" ULONG  FireEtwModuleUnload_V2(
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 AssemblyID,
+                  const unsigned int ModuleFlags,
+                  const unsigned int Reserved1,
+                  PCWSTR ModuleILPath,
+                  PCWSTR ModuleNativePath,
+                  const unsigned short ClrInstanceID,
+                  const GUID* ManagedPdbSignature,
+                  const unsigned int ManagedPdbAge,
+                  PCWSTR ManagedPdbBuildPath,
+                  const GUID* NativePdbSignature,
+                  const unsigned int NativePdbAge,
+                  PCWSTR NativePdbBuildPath
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledModuleUnload_V2()){ return ERROR_SUCCESS;};
+    INT ModuleILPath_path_size = -1;
+    INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1;
+    CHAR* ModuleILPath_full_name=NULL;
+    INT ModuleNativePath_path_size = -1;
+    INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1;
+    CHAR* ModuleNativePath_full_name=NULL;
+    INT ManagedPdbBuildPath_path_size = -1;
+    INT ManagedPdbBuildPath_full_name_path_size = PAL_wcslen(ManagedPdbBuildPath) + 1;
+    CHAR* ManagedPdbBuildPath_full_name=NULL;
+    INT NativePdbBuildPath_path_size = -1;
+    INT NativePdbBuildPath_full_name_path_size = PAL_wcslen(NativePdbBuildPath) + 1;
+    CHAR* NativePdbBuildPath_full_name=NULL;
+
+    ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleILPath_full_name != NULL);
+    if(ModuleILPath_full_name == NULL){goto LExit;}
+
+    ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
+    if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleNativePath_full_name != NULL);
+    if(ModuleNativePath_full_name == NULL){goto LExit;}
+
+    ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
+    if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ManagedPdbBuildPath_full_name = (CHAR*)malloc(ManagedPdbBuildPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ManagedPdbBuildPath_full_name != NULL);
+    if(ManagedPdbBuildPath_full_name == NULL){goto LExit;}
+
+    ManagedPdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedPdbBuildPath, -1, ManagedPdbBuildPath_full_name, ManagedPdbBuildPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ManagedPdbBuildPath_path_size == ManagedPdbBuildPath_full_name_path_size );
+    if( ManagedPdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    NativePdbBuildPath_full_name = (CHAR*)malloc(NativePdbBuildPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(NativePdbBuildPath_full_name != NULL);
+    if(NativePdbBuildPath_full_name == NULL){goto LExit;}
+
+    NativePdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, NativePdbBuildPath, -1, NativePdbBuildPath_full_name, NativePdbBuildPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(NativePdbBuildPath_path_size == NativePdbBuildPath_full_name_path_size );
+    if( NativePdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                                    
+     tracepoint(
+        DotNETRuntime,
+        ModuleUnload_V2,
+        ModuleID,
+        AssemblyID,
+        ModuleFlags,
+        Reserved1,
+        ModuleILPath_full_name,
+        ModuleNativePath_full_name,
+        ClrInstanceID,
+        (const int*) ManagedPdbSignature,
+        ManagedPdbAge,
+        ManagedPdbBuildPath_full_name
+        );
+
+     tracepoint(
+        DotNETRuntime,
+        ModuleUnload_V2_1,
+        (const int*) NativePdbSignature,
+        NativePdbAge,
+        NativePdbBuildPath_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (NativePdbBuildPath_full_name != NULL) {free(NativePdbBuildPath_full_name);}
+        if (ManagedPdbBuildPath_full_name != NULL) {free(ManagedPdbBuildPath_full_name);}
+        if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
+        if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAssemblyLoad(){ return TRUE;}
+extern "C" ULONG  FireEtwAssemblyLoad(
+                  const unsigned __int64 AssemblyID,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned int AssemblyFlags,
+                  PCWSTR FullyQualifiedAssemblyName
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAssemblyLoad()){ return ERROR_SUCCESS;};
+    INT FullyQualifiedAssemblyName_path_size = -1;
+    INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1;
+    CHAR* FullyQualifiedAssemblyName_full_name=NULL;
+
+    FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
+    if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
+
+    FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
+    if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        AssemblyLoad,
+        AssemblyID,
+        AppDomainID,
+        AssemblyFlags,
+        FullyQualifiedAssemblyName_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAssemblyLoad_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwAssemblyLoad_V1(
+                  const unsigned __int64 AssemblyID,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned __int64 BindingID,
+                  const unsigned int AssemblyFlags,
+                  PCWSTR FullyQualifiedAssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAssemblyLoad_V1()){ return ERROR_SUCCESS;};
+    INT FullyQualifiedAssemblyName_path_size = -1;
+    INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1;
+    CHAR* FullyQualifiedAssemblyName_full_name=NULL;
+
+    FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
+    if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
+
+    FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
+    if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        AssemblyLoad_V1,
+        AssemblyID,
+        AppDomainID,
+        BindingID,
+        AssemblyFlags,
+        FullyQualifiedAssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAssemblyUnload(){ return TRUE;}
+extern "C" ULONG  FireEtwAssemblyUnload(
+                  const unsigned __int64 AssemblyID,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned int AssemblyFlags,
+                  PCWSTR FullyQualifiedAssemblyName
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAssemblyUnload()){ return ERROR_SUCCESS;};
+    INT FullyQualifiedAssemblyName_path_size = -1;
+    INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1;
+    CHAR* FullyQualifiedAssemblyName_full_name=NULL;
+
+    FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
+    if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
+
+    FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
+    if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        AssemblyUnload,
+        AssemblyID,
+        AppDomainID,
+        AssemblyFlags,
+        FullyQualifiedAssemblyName_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAssemblyUnload_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwAssemblyUnload_V1(
+                  const unsigned __int64 AssemblyID,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned __int64 BindingID,
+                  const unsigned int AssemblyFlags,
+                  PCWSTR FullyQualifiedAssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAssemblyUnload_V1()){ return ERROR_SUCCESS;};
+    INT FullyQualifiedAssemblyName_path_size = -1;
+    INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1;
+    CHAR* FullyQualifiedAssemblyName_full_name=NULL;
+
+    FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
+    if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
+
+    FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
+    if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        AssemblyUnload_V1,
+        AssemblyID,
+        AppDomainID,
+        BindingID,
+        AssemblyFlags,
+        FullyQualifiedAssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAppDomainLoad(){ return TRUE;}
+extern "C" ULONG  FireEtwAppDomainLoad(
+                  const unsigned __int64 AppDomainID,
+                  const unsigned int AppDomainFlags,
+                  PCWSTR AppDomainName
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAppDomainLoad()){ return ERROR_SUCCESS;};
+    INT AppDomainName_path_size = -1;
+    INT AppDomainName_full_name_path_size = PAL_wcslen(AppDomainName) + 1;
+    CHAR* AppDomainName_full_name=NULL;
+
+    AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AppDomainName_full_name != NULL);
+    if(AppDomainName_full_name == NULL){goto LExit;}
+
+    AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size );
+    if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        AppDomainLoad,
+        AppDomainID,
+        AppDomainFlags,
+        AppDomainName_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAppDomainLoad_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwAppDomainLoad_V1(
+                  const unsigned __int64 AppDomainID,
+                  const unsigned int AppDomainFlags,
+                  PCWSTR AppDomainName,
+                  const unsigned int AppDomainIndex,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAppDomainLoad_V1()){ return ERROR_SUCCESS;};
+    INT AppDomainName_path_size = -1;
+    INT AppDomainName_full_name_path_size = PAL_wcslen(AppDomainName) + 1;
+    CHAR* AppDomainName_full_name=NULL;
+
+    AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AppDomainName_full_name != NULL);
+    if(AppDomainName_full_name == NULL){goto LExit;}
+
+    AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size );
+    if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        AppDomainLoad_V1,
+        AppDomainID,
+        AppDomainFlags,
+        AppDomainName_full_name,
+        AppDomainIndex,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAppDomainUnload(){ return TRUE;}
+extern "C" ULONG  FireEtwAppDomainUnload(
+                  const unsigned __int64 AppDomainID,
+                  const unsigned int AppDomainFlags,
+                  PCWSTR AppDomainName
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAppDomainUnload()){ return ERROR_SUCCESS;};
+    INT AppDomainName_path_size = -1;
+    INT AppDomainName_full_name_path_size = PAL_wcslen(AppDomainName) + 1;
+    CHAR* AppDomainName_full_name=NULL;
+
+    AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AppDomainName_full_name != NULL);
+    if(AppDomainName_full_name == NULL){goto LExit;}
+
+    AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size );
+    if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        AppDomainUnload,
+        AppDomainID,
+        AppDomainFlags,
+        AppDomainName_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAppDomainUnload_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwAppDomainUnload_V1(
+                  const unsigned __int64 AppDomainID,
+                  const unsigned int AppDomainFlags,
+                  PCWSTR AppDomainName,
+                  const unsigned int AppDomainIndex,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAppDomainUnload_V1()){ return ERROR_SUCCESS;};
+    INT AppDomainName_path_size = -1;
+    INT AppDomainName_full_name_path_size = PAL_wcslen(AppDomainName) + 1;
+    CHAR* AppDomainName_full_name=NULL;
+
+    AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AppDomainName_full_name != NULL);
+    if(AppDomainName_full_name == NULL){goto LExit;}
+
+    AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size );
+    if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        AppDomainUnload_V1,
+        AppDomainID,
+        AppDomainFlags,
+        AppDomainName_full_name,
+        AppDomainIndex,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledModuleRangeLoad(){ return TRUE;}
+extern "C" ULONG  FireEtwModuleRangeLoad(
+                  const unsigned short ClrInstanceID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned int RangeBegin,
+                  const unsigned int RangeSize,
+                  const unsigned char RangeType
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledModuleRangeLoad()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        ModuleRangeLoad,
+        ClrInstanceID,
+        ModuleID,
+        RangeBegin,
+        RangeSize,
+        RangeType
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledStrongNameVerificationStart(){ return TRUE;}
+extern "C" ULONG  FireEtwStrongNameVerificationStart(
+                  const unsigned int VerificationFlags,
+                  const unsigned int ErrorCode,
+                  PCWSTR FullyQualifiedAssemblyName
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledStrongNameVerificationStart()){ return ERROR_SUCCESS;};
+    INT FullyQualifiedAssemblyName_path_size = -1;
+    INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1;
+    CHAR* FullyQualifiedAssemblyName_full_name=NULL;
+
+    FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
+    if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
+
+    FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
+    if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        StrongNameVerificationStart,
+        VerificationFlags,
+        ErrorCode,
+        FullyQualifiedAssemblyName_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledStrongNameVerificationStart_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwStrongNameVerificationStart_V1(
+                  const unsigned int VerificationFlags,
+                  const unsigned int ErrorCode,
+                  PCWSTR FullyQualifiedAssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledStrongNameVerificationStart_V1()){ return ERROR_SUCCESS;};
+    INT FullyQualifiedAssemblyName_path_size = -1;
+    INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1;
+    CHAR* FullyQualifiedAssemblyName_full_name=NULL;
+
+    FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
+    if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
+
+    FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
+    if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        StrongNameVerificationStart_V1,
+        VerificationFlags,
+        ErrorCode,
+        FullyQualifiedAssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledStrongNameVerificationStop(){ return TRUE;}
+extern "C" ULONG  FireEtwStrongNameVerificationStop(
+                  const unsigned int VerificationFlags,
+                  const unsigned int ErrorCode,
+                  PCWSTR FullyQualifiedAssemblyName
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledStrongNameVerificationStop()){ return ERROR_SUCCESS;};
+    INT FullyQualifiedAssemblyName_path_size = -1;
+    INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1;
+    CHAR* FullyQualifiedAssemblyName_full_name=NULL;
+
+    FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
+    if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
+
+    FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
+    if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        StrongNameVerificationStop,
+        VerificationFlags,
+        ErrorCode,
+        FullyQualifiedAssemblyName_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledStrongNameVerificationStop_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwStrongNameVerificationStop_V1(
+                  const unsigned int VerificationFlags,
+                  const unsigned int ErrorCode,
+                  PCWSTR FullyQualifiedAssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledStrongNameVerificationStop_V1()){ return ERROR_SUCCESS;};
+    INT FullyQualifiedAssemblyName_path_size = -1;
+    INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1;
+    CHAR* FullyQualifiedAssemblyName_full_name=NULL;
+
+    FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
+    if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
+
+    FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
+    if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        StrongNameVerificationStop_V1,
+        VerificationFlags,
+        ErrorCode,
+        FullyQualifiedAssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAuthenticodeVerificationStart(){ return TRUE;}
+extern "C" ULONG  FireEtwAuthenticodeVerificationStart(
+                  const unsigned int VerificationFlags,
+                  const unsigned int ErrorCode,
+                  PCWSTR ModulePath
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAuthenticodeVerificationStart()){ return ERROR_SUCCESS;};
+    INT ModulePath_path_size = -1;
+    INT ModulePath_full_name_path_size = PAL_wcslen(ModulePath) + 1;
+    CHAR* ModulePath_full_name=NULL;
+
+    ModulePath_full_name = (CHAR*)malloc(ModulePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModulePath_full_name != NULL);
+    if(ModulePath_full_name == NULL){goto LExit;}
+
+    ModulePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModulePath, -1, ModulePath_full_name, ModulePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModulePath_path_size == ModulePath_full_name_path_size );
+    if( ModulePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        AuthenticodeVerificationStart,
+        VerificationFlags,
+        ErrorCode,
+        ModulePath_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ModulePath_full_name != NULL) {free(ModulePath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAuthenticodeVerificationStart_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwAuthenticodeVerificationStart_V1(
+                  const unsigned int VerificationFlags,
+                  const unsigned int ErrorCode,
+                  PCWSTR ModulePath,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAuthenticodeVerificationStart_V1()){ return ERROR_SUCCESS;};
+    INT ModulePath_path_size = -1;
+    INT ModulePath_full_name_path_size = PAL_wcslen(ModulePath) + 1;
+    CHAR* ModulePath_full_name=NULL;
+
+    ModulePath_full_name = (CHAR*)malloc(ModulePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModulePath_full_name != NULL);
+    if(ModulePath_full_name == NULL){goto LExit;}
+
+    ModulePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModulePath, -1, ModulePath_full_name, ModulePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModulePath_path_size == ModulePath_full_name_path_size );
+    if( ModulePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        AuthenticodeVerificationStart_V1,
+        VerificationFlags,
+        ErrorCode,
+        ModulePath_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ModulePath_full_name != NULL) {free(ModulePath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAuthenticodeVerificationStop(){ return TRUE;}
+extern "C" ULONG  FireEtwAuthenticodeVerificationStop(
+                  const unsigned int VerificationFlags,
+                  const unsigned int ErrorCode,
+                  PCWSTR ModulePath
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAuthenticodeVerificationStop()){ return ERROR_SUCCESS;};
+    INT ModulePath_path_size = -1;
+    INT ModulePath_full_name_path_size = PAL_wcslen(ModulePath) + 1;
+    CHAR* ModulePath_full_name=NULL;
+
+    ModulePath_full_name = (CHAR*)malloc(ModulePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModulePath_full_name != NULL);
+    if(ModulePath_full_name == NULL){goto LExit;}
+
+    ModulePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModulePath, -1, ModulePath_full_name, ModulePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModulePath_path_size == ModulePath_full_name_path_size );
+    if( ModulePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        AuthenticodeVerificationStop,
+        VerificationFlags,
+        ErrorCode,
+        ModulePath_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ModulePath_full_name != NULL) {free(ModulePath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAuthenticodeVerificationStop_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwAuthenticodeVerificationStop_V1(
+                  const unsigned int VerificationFlags,
+                  const unsigned int ErrorCode,
+                  PCWSTR ModulePath,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAuthenticodeVerificationStop_V1()){ return ERROR_SUCCESS;};
+    INT ModulePath_path_size = -1;
+    INT ModulePath_full_name_path_size = PAL_wcslen(ModulePath) + 1;
+    CHAR* ModulePath_full_name=NULL;
+
+    ModulePath_full_name = (CHAR*)malloc(ModulePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModulePath_full_name != NULL);
+    if(ModulePath_full_name == NULL){goto LExit;}
+
+    ModulePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModulePath, -1, ModulePath_full_name, ModulePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModulePath_path_size == ModulePath_full_name_path_size );
+    if( ModulePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntime,
+        AuthenticodeVerificationStop_V1,
+        VerificationFlags,
+        ErrorCode,
+        ModulePath_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ModulePath_full_name != NULL) {free(ModulePath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledRuntimeInformationStart(){ return TRUE;}
+extern "C" ULONG  FireEtwRuntimeInformationStart(
+                  const unsigned short ClrInstanceID,
+                  const unsigned short Sku,
+                  const unsigned short BclMajorVersion,
+                  const unsigned short BclMinorVersion,
+                  const unsigned short BclBuildNumber,
+                  const unsigned short BclQfeNumber,
+                  const unsigned short VMMajorVersion,
+                  const unsigned short VMMinorVersion,
+                  const unsigned short VMBuildNumber,
+                  const unsigned short VMQfeNumber,
+                  const unsigned int StartupFlags,
+                  const unsigned char StartupMode,
+                  PCWSTR CommandLine,
+                  const GUID* ComObjectGuid,
+                  PCWSTR RuntimeDllPath
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledRuntimeInformationStart()){ return ERROR_SUCCESS;};
+    INT CommandLine_path_size = -1;
+    INT CommandLine_full_name_path_size = PAL_wcslen(CommandLine) + 1;
+    CHAR* CommandLine_full_name=NULL;
+    INT RuntimeDllPath_path_size = -1;
+    INT RuntimeDllPath_full_name_path_size = PAL_wcslen(RuntimeDllPath) + 1;
+    CHAR* RuntimeDllPath_full_name=NULL;
+
+    CommandLine_full_name = (CHAR*)malloc(CommandLine_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(CommandLine_full_name != NULL);
+    if(CommandLine_full_name == NULL){goto LExit;}
+
+    CommandLine_path_size = WideCharToMultiByte( CP_ACP, 0, CommandLine, -1, CommandLine_full_name, CommandLine_full_name_path_size, NULL, NULL );
+    _ASSERTE(CommandLine_path_size == CommandLine_full_name_path_size );
+    if( CommandLine_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    RuntimeDllPath_full_name = (CHAR*)malloc(RuntimeDllPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(RuntimeDllPath_full_name != NULL);
+    if(RuntimeDllPath_full_name == NULL){goto LExit;}
+
+    RuntimeDllPath_path_size = WideCharToMultiByte( CP_ACP, 0, RuntimeDllPath, -1, RuntimeDllPath_full_name, RuntimeDllPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(RuntimeDllPath_path_size == RuntimeDllPath_full_name_path_size );
+    if( RuntimeDllPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                                    
+     tracepoint(
+        DotNETRuntime,
+        RuntimeInformationStart,
+        ClrInstanceID,
+        Sku,
+        BclMajorVersion,
+        BclMinorVersion,
+        BclBuildNumber,
+        BclQfeNumber,
+        VMMajorVersion,
+        VMMinorVersion,
+        VMBuildNumber,
+        VMQfeNumber
+        );
+
+     tracepoint(
+        DotNETRuntime,
+        RuntimeInformationStart_1,
+        StartupFlags,
+        StartupMode,
+        CommandLine_full_name,
+        (const int*) ComObjectGuid,
+        RuntimeDllPath_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (RuntimeDllPath_full_name != NULL) {free(RuntimeDllPath_full_name);}
+        if (CommandLine_full_name != NULL) {free(CommandLine_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledIncreaseMemoryPressure(){ return TRUE;}
+extern "C" ULONG  FireEtwIncreaseMemoryPressure(
+                  const unsigned __int64 BytesAllocated,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledIncreaseMemoryPressure()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        IncreaseMemoryPressure,
+        BytesAllocated,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDecreaseMemoryPressure(){ return TRUE;}
+extern "C" ULONG  FireEtwDecreaseMemoryPressure(
+                  const unsigned __int64 BytesFreed,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDecreaseMemoryPressure()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        DecreaseMemoryPressure,
+        BytesFreed,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCMarkWithType(){ return TRUE;}
+extern "C" ULONG  FireEtwGCMarkWithType(
+                  const unsigned int HeapNum,
+                  const unsigned short ClrInstanceID,
+                  const unsigned int Type,
+                  const unsigned __int64 Bytes
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCMarkWithType()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCMarkWithType,
+        HeapNum,
+        ClrInstanceID,
+        Type,
+        Bytes
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCJoin_V2(){ return TRUE;}
+extern "C" ULONG  FireEtwGCJoin_V2(
+                  const unsigned int Heap,
+                  const unsigned int JoinTime,
+                  const unsigned int JoinType,
+                  const unsigned short ClrInstanceID,
+                  const unsigned int JoinID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCJoin_V2()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCJoin_V2,
+        Heap,
+        JoinTime,
+        JoinType,
+        ClrInstanceID,
+        JoinID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCPerHeapHistory_V3(){ return TRUE;}
+extern "C" ULONG  FireEtwGCPerHeapHistory_V3(
+                  const unsigned short ClrInstanceID,
+                  const void* FreeListAllocated,
+                  const void* FreeListRejected,
+                  const void* EndOfSegAllocated,
+                  const void* CondemnedAllocated,
+                  const void* PinnedAllocated,
+                  const void* PinnedAllocatedAdvance,
+                  const unsigned int RunningFreeListEfficiency,
+                  const unsigned int CondemnReasons0,
+                  const unsigned int CondemnReasons1,
+                  const unsigned int CompactMechanisms,
+                  const unsigned int ExpandMechanisms,
+                  const unsigned int HeapIndex,
+                  const void* ExtraGen0Commit,
+                  const unsigned int Count,
+                  const ULONG Arg15_Struct_Len_,
+                  const void* Arg15_Struct_Pointer_
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCPerHeapHistory_V3()){ return ERROR_SUCCESS;};
+
+                                                    
+     tracepoint(
+        DotNETRuntime,
+        GCPerHeapHistory_V3,
+        ClrInstanceID,
+        (const size_t) FreeListAllocated,
+        (const size_t) FreeListRejected,
+        (const size_t) EndOfSegAllocated,
+        (const size_t) CondemnedAllocated,
+        (const size_t) PinnedAllocated,
+        (const size_t) PinnedAllocatedAdvance,
+        RunningFreeListEfficiency,
+        CondemnReasons0,
+        CondemnReasons1
+        );
+
+     tracepoint(
+        DotNETRuntime,
+        GCPerHeapHistory_V3_1,
+        CompactMechanisms,
+        ExpandMechanisms,
+        HeapIndex,
+        (const size_t) ExtraGen0Commit,
+        Count,
+        Arg15_Struct_Len_,
+        (const int*) Arg15_Struct_Pointer_
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCGlobalHeapHistory_V2(){ return TRUE;}
+extern "C" ULONG  FireEtwGCGlobalHeapHistory_V2(
+                  const unsigned __int64 FinalYoungestDesired,
+                  const signed int NumHeaps,
+                  const unsigned int CondemnedGeneration,
+                  const unsigned int Gen0ReductionCount,
+                  const unsigned int Reason,
+                  const unsigned int GlobalMechanisms,
+                  const unsigned short ClrInstanceID,
+                  const unsigned int PauseMode,
+                  const unsigned int MemoryPressure
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCGlobalHeapHistory_V2()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        GCGlobalHeapHistory_V2,
+        FinalYoungestDesired,
+        NumHeaps,
+        CondemnedGeneration,
+        Gen0ReductionCount,
+        Reason,
+        GlobalMechanisms,
+        ClrInstanceID,
+        PauseMode,
+        MemoryPressure
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDebugIPCEventStart(){ return TRUE;}
+extern "C" ULONG  FireEtwDebugIPCEventStart(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDebugIPCEventStart()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntime,
+        DebugIPCEventStart
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDebugIPCEventEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwDebugIPCEventEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDebugIPCEventEnd()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntime,
+        DebugIPCEventEnd
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDebugExceptionProcessingStart(){ return TRUE;}
+extern "C" ULONG  FireEtwDebugExceptionProcessingStart(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDebugExceptionProcessingStart()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntime,
+        DebugExceptionProcessingStart
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDebugExceptionProcessingEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwDebugExceptionProcessingEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDebugExceptionProcessingEnd()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntime,
+        DebugExceptionProcessingEnd
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledCodeSymbols(){ return TRUE;}
+extern "C" ULONG  FireEtwCodeSymbols(
+                  const unsigned __int64 ModuleId,
+                  const unsigned short TotalChunks,
+                  const unsigned short ChunkNumber,
+                  const unsigned int ChunkLength,
+                  const BYTE* Chunk,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledCodeSymbols()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntime,
+        CodeSymbols,
+        ModuleId,
+        TotalChunks,
+        ChunkNumber,
+        ChunkLength,
+        (const BYTE*) Chunk,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
diff --git a/src/pal/src/eventprovider/lttng/eventprovdotnetruntimeprivate.cpp b/src/pal/src/eventprovider/lttng/eventprovdotnetruntimeprivate.cpp
new file mode 100644 (file)
index 0000000..0b24579
--- /dev/null
@@ -0,0 +1,4851 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
+
+******************************************************************/
+
+
+#define TRACEPOINT_DEFINE
+#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE
+#include "lttng/tpdotnetruntimeprivate.h"
+extern "C" BOOL  EventEnabledGCDecision(){ return TRUE;}
+extern "C" ULONG  FireEtwGCDecision(
+                  const BOOL DoCompact
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCDecision()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        GCDecision,
+        DoCompact
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCDecision_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCDecision_V1(
+                  const BOOL DoCompact,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCDecision_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        GCDecision_V1,
+        DoCompact,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCSettings(){ return TRUE;}
+extern "C" ULONG  FireEtwGCSettings(
+                  const unsigned __int64 SegmentSize,
+                  const unsigned __int64 LargeObjectSegmentSize,
+                  const BOOL ServerGC
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCSettings()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        GCSettings,
+        SegmentSize,
+        LargeObjectSegmentSize,
+        ServerGC
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCSettings_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCSettings_V1(
+                  const unsigned __int64 SegmentSize,
+                  const unsigned __int64 LargeObjectSegmentSize,
+                  const BOOL ServerGC,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCSettings_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        GCSettings_V1,
+        SegmentSize,
+        LargeObjectSegmentSize,
+        ServerGC,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCOptimized(){ return TRUE;}
+extern "C" ULONG  FireEtwGCOptimized(
+                  const unsigned __int64 DesiredAllocation,
+                  const unsigned __int64 NewAllocation,
+                  const unsigned int GenerationNumber
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCOptimized()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        GCOptimized,
+        DesiredAllocation,
+        NewAllocation,
+        GenerationNumber
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCOptimized_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCOptimized_V1(
+                  const unsigned __int64 DesiredAllocation,
+                  const unsigned __int64 NewAllocation,
+                  const unsigned int GenerationNumber,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCOptimized_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        GCOptimized_V1,
+        DesiredAllocation,
+        NewAllocation,
+        GenerationNumber,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCPerHeapHistory(){ return TRUE;}
+extern "C" ULONG  FireEtwGCPerHeapHistory(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCPerHeapHistory()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        GCPerHeapHistory
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCPerHeapHistory_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCPerHeapHistory_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCPerHeapHistory_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        GCPerHeapHistory_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCGlobalHeapHistory(){ return TRUE;}
+extern "C" ULONG  FireEtwGCGlobalHeapHistory(
+                  const unsigned __int64 FinalYoungestDesired,
+                  const signed int NumHeaps,
+                  const unsigned int CondemnedGeneration,
+                  const unsigned int Gen0ReductionCount,
+                  const unsigned int Reason,
+                  const unsigned int GlobalMechanisms
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCGlobalHeapHistory()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        GCGlobalHeapHistory,
+        FinalYoungestDesired,
+        NumHeaps,
+        CondemnedGeneration,
+        Gen0ReductionCount,
+        Reason,
+        GlobalMechanisms
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCGlobalHeapHistory_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCGlobalHeapHistory_V1(
+                  const unsigned __int64 FinalYoungestDesired,
+                  const signed int NumHeaps,
+                  const unsigned int CondemnedGeneration,
+                  const unsigned int Gen0ReductionCount,
+                  const unsigned int Reason,
+                  const unsigned int GlobalMechanisms,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCGlobalHeapHistory_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        GCGlobalHeapHistory_V1,
+        FinalYoungestDesired,
+        NumHeaps,
+        CondemnedGeneration,
+        Gen0ReductionCount,
+        Reason,
+        GlobalMechanisms,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCJoin(){ return TRUE;}
+extern "C" ULONG  FireEtwGCJoin(
+                  const unsigned int Heap,
+                  const unsigned int JoinTime,
+                  const unsigned int JoinType
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCJoin()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        GCJoin,
+        Heap,
+        JoinTime,
+        JoinType
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCJoin_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCJoin_V1(
+                  const unsigned int Heap,
+                  const unsigned int JoinTime,
+                  const unsigned int JoinType,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCJoin_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        GCJoin_V1,
+        Heap,
+        JoinTime,
+        JoinType,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledPrvGCMarkStackRoots(){ return TRUE;}
+extern "C" ULONG  FireEtwPrvGCMarkStackRoots(
+                  const unsigned int HeapNum
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledPrvGCMarkStackRoots()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        PrvGCMarkStackRoots,
+        HeapNum
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledPrvGCMarkStackRoots_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwPrvGCMarkStackRoots_V1(
+                  const unsigned int HeapNum,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledPrvGCMarkStackRoots_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        PrvGCMarkStackRoots_V1,
+        HeapNum,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledPrvGCMarkFinalizeQueueRoots(){ return TRUE;}
+extern "C" ULONG  FireEtwPrvGCMarkFinalizeQueueRoots(
+                  const unsigned int HeapNum
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledPrvGCMarkFinalizeQueueRoots()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        PrvGCMarkFinalizeQueueRoots,
+        HeapNum
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledPrvGCMarkFinalizeQueueRoots_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwPrvGCMarkFinalizeQueueRoots_V1(
+                  const unsigned int HeapNum,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledPrvGCMarkFinalizeQueueRoots_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        PrvGCMarkFinalizeQueueRoots_V1,
+        HeapNum,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledPrvGCMarkHandles(){ return TRUE;}
+extern "C" ULONG  FireEtwPrvGCMarkHandles(
+                  const unsigned int HeapNum
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledPrvGCMarkHandles()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        PrvGCMarkHandles,
+        HeapNum
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledPrvGCMarkHandles_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwPrvGCMarkHandles_V1(
+                  const unsigned int HeapNum,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledPrvGCMarkHandles_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        PrvGCMarkHandles_V1,
+        HeapNum,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledPrvGCMarkCards(){ return TRUE;}
+extern "C" ULONG  FireEtwPrvGCMarkCards(
+                  const unsigned int HeapNum
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledPrvGCMarkCards()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        PrvGCMarkCards,
+        HeapNum
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledPrvGCMarkCards_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwPrvGCMarkCards_V1(
+                  const unsigned int HeapNum,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledPrvGCMarkCards_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        PrvGCMarkCards_V1,
+        HeapNum,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBGCBegin(){ return TRUE;}
+extern "C" ULONG  FireEtwBGCBegin(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBGCBegin()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BGCBegin,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBGC1stNonConEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwBGC1stNonConEnd(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBGC1stNonConEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BGC1stNonConEnd,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBGC1stConEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwBGC1stConEnd(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBGC1stConEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BGC1stConEnd,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBGC2ndNonConBegin(){ return TRUE;}
+extern "C" ULONG  FireEtwBGC2ndNonConBegin(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBGC2ndNonConBegin()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BGC2ndNonConBegin,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBGC2ndNonConEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwBGC2ndNonConEnd(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBGC2ndNonConEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BGC2ndNonConEnd,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBGC2ndConBegin(){ return TRUE;}
+extern "C" ULONG  FireEtwBGC2ndConBegin(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBGC2ndConBegin()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BGC2ndConBegin,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBGC2ndConEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwBGC2ndConEnd(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBGC2ndConEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BGC2ndConEnd,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBGCPlanEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwBGCPlanEnd(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBGCPlanEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BGCPlanEnd,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBGCSweepEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwBGCSweepEnd(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBGCSweepEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BGCSweepEnd,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBGCDrainMark(){ return TRUE;}
+extern "C" ULONG  FireEtwBGCDrainMark(
+                  const unsigned __int64 Objects,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBGCDrainMark()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BGCDrainMark,
+        Objects,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBGCRevisit(){ return TRUE;}
+extern "C" ULONG  FireEtwBGCRevisit(
+                  const unsigned __int64 Pages,
+                  const unsigned __int64 Objects,
+                  const unsigned int IsLarge,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBGCRevisit()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BGCRevisit,
+        Pages,
+        Objects,
+        IsLarge,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBGCOverflow(){ return TRUE;}
+extern "C" ULONG  FireEtwBGCOverflow(
+                  const unsigned __int64 Min,
+                  const unsigned __int64 Max,
+                  const unsigned __int64 Objects,
+                  const unsigned int IsLarge,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBGCOverflow()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BGCOverflow,
+        Min,
+        Max,
+        Objects,
+        IsLarge,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBGCAllocWaitBegin(){ return TRUE;}
+extern "C" ULONG  FireEtwBGCAllocWaitBegin(
+                  const unsigned int Reason,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBGCAllocWaitBegin()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BGCAllocWaitBegin,
+        Reason,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBGCAllocWaitEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwBGCAllocWaitEnd(
+                  const unsigned int Reason,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBGCAllocWaitEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BGCAllocWaitEnd,
+        Reason,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCFullNotify(){ return TRUE;}
+extern "C" ULONG  FireEtwGCFullNotify(
+                  const unsigned int GenNumber,
+                  const unsigned int IsAlloc
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCFullNotify()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        GCFullNotify,
+        GenNumber,
+        IsAlloc
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGCFullNotify_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGCFullNotify_V1(
+                  const unsigned int GenNumber,
+                  const unsigned int IsAlloc,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGCFullNotify_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        GCFullNotify_V1,
+        GenNumber,
+        IsAlloc,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledEEStartupStart(){ return TRUE;}
+extern "C" ULONG  FireEtwEEStartupStart(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledEEStartupStart()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        EEStartupStart
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledEEStartupStart_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwEEStartupStart_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledEEStartupStart_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        EEStartupStart_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledEEStartupEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwEEStartupEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledEEStartupEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        EEStartupEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledEEStartupEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwEEStartupEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledEEStartupEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        EEStartupEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledEEConfigSetup(){ return TRUE;}
+extern "C" ULONG  FireEtwEEConfigSetup(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledEEConfigSetup()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        EEConfigSetup
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledEEConfigSetup_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwEEConfigSetup_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledEEConfigSetup_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        EEConfigSetup_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledEEConfigSetupEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwEEConfigSetupEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledEEConfigSetupEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        EEConfigSetupEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledEEConfigSetupEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwEEConfigSetupEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledEEConfigSetupEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        EEConfigSetupEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledLdSysBases(){ return TRUE;}
+extern "C" ULONG  FireEtwLdSysBases(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledLdSysBases()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        LdSysBases
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledLdSysBases_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwLdSysBases_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledLdSysBases_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        LdSysBases_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledLdSysBasesEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwLdSysBasesEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledLdSysBasesEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        LdSysBasesEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledLdSysBasesEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwLdSysBasesEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledLdSysBasesEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        LdSysBasesEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledExecExe(){ return TRUE;}
+extern "C" ULONG  FireEtwExecExe(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledExecExe()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ExecExe
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledExecExe_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwExecExe_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledExecExe_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ExecExe_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledExecExeEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwExecExeEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledExecExeEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ExecExeEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledExecExeEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwExecExeEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledExecExeEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ExecExeEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMain(){ return TRUE;}
+extern "C" ULONG  FireEtwMain(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMain()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        Main
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMain_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwMain_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMain_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        Main_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMainEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwMainEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMainEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        MainEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMainEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwMainEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMainEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        MainEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledApplyPolicyStart(){ return TRUE;}
+extern "C" ULONG  FireEtwApplyPolicyStart(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledApplyPolicyStart()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ApplyPolicyStart
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledApplyPolicyStart_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwApplyPolicyStart_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledApplyPolicyStart_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ApplyPolicyStart_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledApplyPolicyEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwApplyPolicyEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledApplyPolicyEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ApplyPolicyEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledApplyPolicyEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwApplyPolicyEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledApplyPolicyEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ApplyPolicyEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledLdLibShFolder(){ return TRUE;}
+extern "C" ULONG  FireEtwLdLibShFolder(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledLdLibShFolder()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        LdLibShFolder
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledLdLibShFolder_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwLdLibShFolder_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledLdLibShFolder_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        LdLibShFolder_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledLdLibShFolderEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwLdLibShFolderEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledLdLibShFolderEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        LdLibShFolderEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledLdLibShFolderEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwLdLibShFolderEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledLdLibShFolderEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        LdLibShFolderEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledPrestubWorker(){ return TRUE;}
+extern "C" ULONG  FireEtwPrestubWorker(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledPrestubWorker()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        PrestubWorker
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledPrestubWorker_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwPrestubWorker_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledPrestubWorker_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        PrestubWorker_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledPrestubWorkerEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwPrestubWorkerEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledPrestubWorkerEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        PrestubWorkerEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledPrestubWorkerEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwPrestubWorkerEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledPrestubWorkerEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        PrestubWorkerEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGetInstallationStart(){ return TRUE;}
+extern "C" ULONG  FireEtwGetInstallationStart(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGetInstallationStart()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        GetInstallationStart
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGetInstallationStart_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGetInstallationStart_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGetInstallationStart_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        GetInstallationStart_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGetInstallationEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwGetInstallationEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGetInstallationEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        GetInstallationEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGetInstallationEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwGetInstallationEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGetInstallationEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        GetInstallationEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledOpenHModule(){ return TRUE;}
+extern "C" ULONG  FireEtwOpenHModule(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledOpenHModule()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        OpenHModule
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledOpenHModule_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwOpenHModule_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledOpenHModule_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        OpenHModule_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledOpenHModuleEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwOpenHModuleEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledOpenHModuleEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        OpenHModuleEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledOpenHModuleEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwOpenHModuleEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledOpenHModuleEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        OpenHModuleEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledExplicitBindStart(){ return TRUE;}
+extern "C" ULONG  FireEtwExplicitBindStart(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledExplicitBindStart()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ExplicitBindStart
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledExplicitBindStart_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwExplicitBindStart_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledExplicitBindStart_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ExplicitBindStart_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledExplicitBindEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwExplicitBindEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledExplicitBindEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ExplicitBindEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledExplicitBindEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwExplicitBindEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledExplicitBindEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ExplicitBindEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledParseXml(){ return TRUE;}
+extern "C" ULONG  FireEtwParseXml(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledParseXml()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ParseXml
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledParseXml_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwParseXml_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledParseXml_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ParseXml_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledParseXmlEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwParseXmlEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledParseXmlEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ParseXmlEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledParseXmlEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwParseXmlEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledParseXmlEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ParseXmlEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledInitDefaultDomain(){ return TRUE;}
+extern "C" ULONG  FireEtwInitDefaultDomain(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledInitDefaultDomain()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        InitDefaultDomain
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledInitDefaultDomain_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwInitDefaultDomain_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledInitDefaultDomain_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        InitDefaultDomain_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledInitDefaultDomainEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwInitDefaultDomainEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledInitDefaultDomainEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        InitDefaultDomainEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledInitDefaultDomainEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwInitDefaultDomainEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledInitDefaultDomainEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        InitDefaultDomainEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledInitSecurity(){ return TRUE;}
+extern "C" ULONG  FireEtwInitSecurity(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledInitSecurity()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        InitSecurity
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledInitSecurity_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwInitSecurity_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledInitSecurity_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        InitSecurity_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledInitSecurityEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwInitSecurityEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledInitSecurityEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        InitSecurityEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledInitSecurityEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwInitSecurityEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledInitSecurityEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        InitSecurityEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAllowBindingRedirs(){ return TRUE;}
+extern "C" ULONG  FireEtwAllowBindingRedirs(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAllowBindingRedirs()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        AllowBindingRedirs
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAllowBindingRedirs_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwAllowBindingRedirs_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAllowBindingRedirs_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        AllowBindingRedirs_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAllowBindingRedirsEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwAllowBindingRedirsEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAllowBindingRedirsEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        AllowBindingRedirsEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAllowBindingRedirsEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwAllowBindingRedirsEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAllowBindingRedirsEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        AllowBindingRedirsEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledEEConfigSync(){ return TRUE;}
+extern "C" ULONG  FireEtwEEConfigSync(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledEEConfigSync()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        EEConfigSync
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledEEConfigSync_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwEEConfigSync_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledEEConfigSync_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        EEConfigSync_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledEEConfigSyncEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwEEConfigSyncEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledEEConfigSyncEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        EEConfigSyncEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledEEConfigSyncEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwEEConfigSyncEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledEEConfigSyncEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        EEConfigSyncEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFusionBinding(){ return TRUE;}
+extern "C" ULONG  FireEtwFusionBinding(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFusionBinding()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        FusionBinding
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFusionBinding_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwFusionBinding_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFusionBinding_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        FusionBinding_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFusionBindingEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwFusionBindingEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFusionBindingEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        FusionBindingEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFusionBindingEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwFusionBindingEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFusionBindingEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        FusionBindingEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledLoaderCatchCall(){ return TRUE;}
+extern "C" ULONG  FireEtwLoaderCatchCall(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledLoaderCatchCall()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        LoaderCatchCall
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledLoaderCatchCall_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwLoaderCatchCall_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledLoaderCatchCall_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        LoaderCatchCall_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledLoaderCatchCallEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwLoaderCatchCallEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledLoaderCatchCallEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        LoaderCatchCallEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledLoaderCatchCallEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwLoaderCatchCallEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledLoaderCatchCallEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        LoaderCatchCallEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFusionInit(){ return TRUE;}
+extern "C" ULONG  FireEtwFusionInit(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFusionInit()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        FusionInit
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFusionInit_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwFusionInit_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFusionInit_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        FusionInit_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFusionInitEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwFusionInitEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFusionInitEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        FusionInitEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFusionInitEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwFusionInitEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFusionInitEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        FusionInitEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFusionAppCtx(){ return TRUE;}
+extern "C" ULONG  FireEtwFusionAppCtx(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFusionAppCtx()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        FusionAppCtx
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFusionAppCtx_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwFusionAppCtx_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFusionAppCtx_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        FusionAppCtx_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFusionAppCtxEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwFusionAppCtxEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFusionAppCtxEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        FusionAppCtxEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFusionAppCtxEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwFusionAppCtxEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFusionAppCtxEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        FusionAppCtxEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFusion2EE(){ return TRUE;}
+extern "C" ULONG  FireEtwFusion2EE(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFusion2EE()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        Fusion2EE
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFusion2EE_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwFusion2EE_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFusion2EE_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        Fusion2EE_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFusion2EEEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwFusion2EEEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFusion2EEEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        Fusion2EEEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFusion2EEEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwFusion2EEEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFusion2EEEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        Fusion2EEEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledSecurityCatchCall(){ return TRUE;}
+extern "C" ULONG  FireEtwSecurityCatchCall(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledSecurityCatchCall()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        SecurityCatchCall
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledSecurityCatchCall_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwSecurityCatchCall_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledSecurityCatchCall_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        SecurityCatchCall_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledSecurityCatchCallEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwSecurityCatchCallEnd(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledSecurityCatchCallEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        SecurityCatchCallEnd
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledSecurityCatchCallEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwSecurityCatchCallEnd_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledSecurityCatchCallEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        SecurityCatchCallEnd_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledCLRStackWalkPrivate(){ return TRUE;}
+extern "C" ULONG  FireEtwCLRStackWalkPrivate(
+                  const unsigned short ClrInstanceID,
+                  const unsigned char Reserved1,
+                  const unsigned char Reserved2,
+                  const unsigned int FrameCount,
+                  const void** Stack
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledCLRStackWalkPrivate()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        CLRStackWalkPrivate,
+        ClrInstanceID,
+        Reserved1,
+        Reserved2,
+        FrameCount,
+        (const size_t*) Stack
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledModuleRangeLoadPrivate(){ return TRUE;}
+extern "C" ULONG  FireEtwModuleRangeLoadPrivate(
+                  const unsigned short ClrInstanceID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned int RangeBegin,
+                  const unsigned int RangeSize,
+                  const unsigned char RangeType,
+                  const unsigned char IBCType,
+                  const unsigned short SectionType
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledModuleRangeLoadPrivate()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ModuleRangeLoadPrivate,
+        ClrInstanceID,
+        ModuleID,
+        RangeBegin,
+        RangeSize,
+        RangeType,
+        IBCType,
+        SectionType
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBindingPolicyPhaseStart(){ return TRUE;}
+extern "C" ULONG  FireEtwBindingPolicyPhaseStart(
+                  const unsigned int AppDomainID,
+                  const unsigned int LoadContextID,
+                  const unsigned int FromLoaderCache,
+                  const unsigned int DynamicLoad,
+                  PCWSTR AssemblyCodebase,
+                  PCWSTR AssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBindingPolicyPhaseStart()){ return ERROR_SUCCESS;};
+    INT AssemblyCodebase_path_size = -1;
+    INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1;
+    CHAR* AssemblyCodebase_full_name=NULL;
+    INT AssemblyName_path_size = -1;
+    INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1;
+    CHAR* AssemblyName_full_name=NULL;
+
+    AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyCodebase_full_name != NULL);
+    if(AssemblyCodebase_full_name == NULL){goto LExit;}
+
+    AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
+    if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyName_full_name != NULL);
+    if(AssemblyName_full_name == NULL){goto LExit;}
+
+    AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
+    if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BindingPolicyPhaseStart,
+        AppDomainID,
+        LoadContextID,
+        FromLoaderCache,
+        DynamicLoad,
+        AssemblyCodebase_full_name,
+        AssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
+        if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBindingPolicyPhaseEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwBindingPolicyPhaseEnd(
+                  const unsigned int AppDomainID,
+                  const unsigned int LoadContextID,
+                  const unsigned int FromLoaderCache,
+                  const unsigned int DynamicLoad,
+                  PCWSTR AssemblyCodebase,
+                  PCWSTR AssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBindingPolicyPhaseEnd()){ return ERROR_SUCCESS;};
+    INT AssemblyCodebase_path_size = -1;
+    INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1;
+    CHAR* AssemblyCodebase_full_name=NULL;
+    INT AssemblyName_path_size = -1;
+    INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1;
+    CHAR* AssemblyName_full_name=NULL;
+
+    AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyCodebase_full_name != NULL);
+    if(AssemblyCodebase_full_name == NULL){goto LExit;}
+
+    AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
+    if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyName_full_name != NULL);
+    if(AssemblyName_full_name == NULL){goto LExit;}
+
+    AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
+    if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BindingPolicyPhaseEnd,
+        AppDomainID,
+        LoadContextID,
+        FromLoaderCache,
+        DynamicLoad,
+        AssemblyCodebase_full_name,
+        AssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
+        if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBindingNgenPhaseStart(){ return TRUE;}
+extern "C" ULONG  FireEtwBindingNgenPhaseStart(
+                  const unsigned int AppDomainID,
+                  const unsigned int LoadContextID,
+                  const unsigned int FromLoaderCache,
+                  const unsigned int DynamicLoad,
+                  PCWSTR AssemblyCodebase,
+                  PCWSTR AssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBindingNgenPhaseStart()){ return ERROR_SUCCESS;};
+    INT AssemblyCodebase_path_size = -1;
+    INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1;
+    CHAR* AssemblyCodebase_full_name=NULL;
+    INT AssemblyName_path_size = -1;
+    INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1;
+    CHAR* AssemblyName_full_name=NULL;
+
+    AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyCodebase_full_name != NULL);
+    if(AssemblyCodebase_full_name == NULL){goto LExit;}
+
+    AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
+    if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyName_full_name != NULL);
+    if(AssemblyName_full_name == NULL){goto LExit;}
+
+    AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
+    if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BindingNgenPhaseStart,
+        AppDomainID,
+        LoadContextID,
+        FromLoaderCache,
+        DynamicLoad,
+        AssemblyCodebase_full_name,
+        AssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
+        if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBindingNgenPhaseEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwBindingNgenPhaseEnd(
+                  const unsigned int AppDomainID,
+                  const unsigned int LoadContextID,
+                  const unsigned int FromLoaderCache,
+                  const unsigned int DynamicLoad,
+                  PCWSTR AssemblyCodebase,
+                  PCWSTR AssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBindingNgenPhaseEnd()){ return ERROR_SUCCESS;};
+    INT AssemblyCodebase_path_size = -1;
+    INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1;
+    CHAR* AssemblyCodebase_full_name=NULL;
+    INT AssemblyName_path_size = -1;
+    INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1;
+    CHAR* AssemblyName_full_name=NULL;
+
+    AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyCodebase_full_name != NULL);
+    if(AssemblyCodebase_full_name == NULL){goto LExit;}
+
+    AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
+    if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyName_full_name != NULL);
+    if(AssemblyName_full_name == NULL){goto LExit;}
+
+    AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
+    if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BindingNgenPhaseEnd,
+        AppDomainID,
+        LoadContextID,
+        FromLoaderCache,
+        DynamicLoad,
+        AssemblyCodebase_full_name,
+        AssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
+        if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBindingLookupAndProbingPhaseStart(){ return TRUE;}
+extern "C" ULONG  FireEtwBindingLookupAndProbingPhaseStart(
+                  const unsigned int AppDomainID,
+                  const unsigned int LoadContextID,
+                  const unsigned int FromLoaderCache,
+                  const unsigned int DynamicLoad,
+                  PCWSTR AssemblyCodebase,
+                  PCWSTR AssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBindingLookupAndProbingPhaseStart()){ return ERROR_SUCCESS;};
+    INT AssemblyCodebase_path_size = -1;
+    INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1;
+    CHAR* AssemblyCodebase_full_name=NULL;
+    INT AssemblyName_path_size = -1;
+    INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1;
+    CHAR* AssemblyName_full_name=NULL;
+
+    AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyCodebase_full_name != NULL);
+    if(AssemblyCodebase_full_name == NULL){goto LExit;}
+
+    AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
+    if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyName_full_name != NULL);
+    if(AssemblyName_full_name == NULL){goto LExit;}
+
+    AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
+    if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BindingLookupAndProbingPhaseStart,
+        AppDomainID,
+        LoadContextID,
+        FromLoaderCache,
+        DynamicLoad,
+        AssemblyCodebase_full_name,
+        AssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
+        if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBindingLookupAndProbingPhaseEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwBindingLookupAndProbingPhaseEnd(
+                  const unsigned int AppDomainID,
+                  const unsigned int LoadContextID,
+                  const unsigned int FromLoaderCache,
+                  const unsigned int DynamicLoad,
+                  PCWSTR AssemblyCodebase,
+                  PCWSTR AssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBindingLookupAndProbingPhaseEnd()){ return ERROR_SUCCESS;};
+    INT AssemblyCodebase_path_size = -1;
+    INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1;
+    CHAR* AssemblyCodebase_full_name=NULL;
+    INT AssemblyName_path_size = -1;
+    INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1;
+    CHAR* AssemblyName_full_name=NULL;
+
+    AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyCodebase_full_name != NULL);
+    if(AssemblyCodebase_full_name == NULL){goto LExit;}
+
+    AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
+    if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyName_full_name != NULL);
+    if(AssemblyName_full_name == NULL){goto LExit;}
+
+    AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
+    if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BindingLookupAndProbingPhaseEnd,
+        AppDomainID,
+        LoadContextID,
+        FromLoaderCache,
+        DynamicLoad,
+        AssemblyCodebase_full_name,
+        AssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
+        if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledLoaderPhaseStart(){ return TRUE;}
+extern "C" ULONG  FireEtwLoaderPhaseStart(
+                  const unsigned int AppDomainID,
+                  const unsigned int LoadContextID,
+                  const unsigned int FromLoaderCache,
+                  const unsigned int DynamicLoad,
+                  PCWSTR AssemblyCodebase,
+                  PCWSTR AssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledLoaderPhaseStart()){ return ERROR_SUCCESS;};
+    INT AssemblyCodebase_path_size = -1;
+    INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1;
+    CHAR* AssemblyCodebase_full_name=NULL;
+    INT AssemblyName_path_size = -1;
+    INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1;
+    CHAR* AssemblyName_full_name=NULL;
+
+    AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyCodebase_full_name != NULL);
+    if(AssemblyCodebase_full_name == NULL){goto LExit;}
+
+    AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
+    if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyName_full_name != NULL);
+    if(AssemblyName_full_name == NULL){goto LExit;}
+
+    AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
+    if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        LoaderPhaseStart,
+        AppDomainID,
+        LoadContextID,
+        FromLoaderCache,
+        DynamicLoad,
+        AssemblyCodebase_full_name,
+        AssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
+        if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledLoaderPhaseEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwLoaderPhaseEnd(
+                  const unsigned int AppDomainID,
+                  const unsigned int LoadContextID,
+                  const unsigned int FromLoaderCache,
+                  const unsigned int DynamicLoad,
+                  PCWSTR AssemblyCodebase,
+                  PCWSTR AssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledLoaderPhaseEnd()){ return ERROR_SUCCESS;};
+    INT AssemblyCodebase_path_size = -1;
+    INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1;
+    CHAR* AssemblyCodebase_full_name=NULL;
+    INT AssemblyName_path_size = -1;
+    INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1;
+    CHAR* AssemblyName_full_name=NULL;
+
+    AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyCodebase_full_name != NULL);
+    if(AssemblyCodebase_full_name == NULL){goto LExit;}
+
+    AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
+    if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyName_full_name != NULL);
+    if(AssemblyName_full_name == NULL){goto LExit;}
+
+    AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
+    if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        LoaderPhaseEnd,
+        AppDomainID,
+        LoadContextID,
+        FromLoaderCache,
+        DynamicLoad,
+        AssemblyCodebase_full_name,
+        AssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
+        if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBindingPhaseStart(){ return TRUE;}
+extern "C" ULONG  FireEtwBindingPhaseStart(
+                  const unsigned int AppDomainID,
+                  const unsigned int LoadContextID,
+                  const unsigned int FromLoaderCache,
+                  const unsigned int DynamicLoad,
+                  PCWSTR AssemblyCodebase,
+                  PCWSTR AssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBindingPhaseStart()){ return ERROR_SUCCESS;};
+    INT AssemblyCodebase_path_size = -1;
+    INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1;
+    CHAR* AssemblyCodebase_full_name=NULL;
+    INT AssemblyName_path_size = -1;
+    INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1;
+    CHAR* AssemblyName_full_name=NULL;
+
+    AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyCodebase_full_name != NULL);
+    if(AssemblyCodebase_full_name == NULL){goto LExit;}
+
+    AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
+    if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyName_full_name != NULL);
+    if(AssemblyName_full_name == NULL){goto LExit;}
+
+    AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
+    if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BindingPhaseStart,
+        AppDomainID,
+        LoadContextID,
+        FromLoaderCache,
+        DynamicLoad,
+        AssemblyCodebase_full_name,
+        AssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
+        if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBindingPhaseEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwBindingPhaseEnd(
+                  const unsigned int AppDomainID,
+                  const unsigned int LoadContextID,
+                  const unsigned int FromLoaderCache,
+                  const unsigned int DynamicLoad,
+                  PCWSTR AssemblyCodebase,
+                  PCWSTR AssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBindingPhaseEnd()){ return ERROR_SUCCESS;};
+    INT AssemblyCodebase_path_size = -1;
+    INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1;
+    CHAR* AssemblyCodebase_full_name=NULL;
+    INT AssemblyName_path_size = -1;
+    INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1;
+    CHAR* AssemblyName_full_name=NULL;
+
+    AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyCodebase_full_name != NULL);
+    if(AssemblyCodebase_full_name == NULL){goto LExit;}
+
+    AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
+    if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyName_full_name != NULL);
+    if(AssemblyName_full_name == NULL){goto LExit;}
+
+    AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
+    if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BindingPhaseEnd,
+        AppDomainID,
+        LoadContextID,
+        FromLoaderCache,
+        DynamicLoad,
+        AssemblyCodebase_full_name,
+        AssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
+        if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBindingDownloadPhaseStart(){ return TRUE;}
+extern "C" ULONG  FireEtwBindingDownloadPhaseStart(
+                  const unsigned int AppDomainID,
+                  const unsigned int LoadContextID,
+                  const unsigned int FromLoaderCache,
+                  const unsigned int DynamicLoad,
+                  PCWSTR AssemblyCodebase,
+                  PCWSTR AssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBindingDownloadPhaseStart()){ return ERROR_SUCCESS;};
+    INT AssemblyCodebase_path_size = -1;
+    INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1;
+    CHAR* AssemblyCodebase_full_name=NULL;
+    INT AssemblyName_path_size = -1;
+    INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1;
+    CHAR* AssemblyName_full_name=NULL;
+
+    AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyCodebase_full_name != NULL);
+    if(AssemblyCodebase_full_name == NULL){goto LExit;}
+
+    AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
+    if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyName_full_name != NULL);
+    if(AssemblyName_full_name == NULL){goto LExit;}
+
+    AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
+    if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BindingDownloadPhaseStart,
+        AppDomainID,
+        LoadContextID,
+        FromLoaderCache,
+        DynamicLoad,
+        AssemblyCodebase_full_name,
+        AssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
+        if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBindingDownloadPhaseEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwBindingDownloadPhaseEnd(
+                  const unsigned int AppDomainID,
+                  const unsigned int LoadContextID,
+                  const unsigned int FromLoaderCache,
+                  const unsigned int DynamicLoad,
+                  PCWSTR AssemblyCodebase,
+                  PCWSTR AssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBindingDownloadPhaseEnd()){ return ERROR_SUCCESS;};
+    INT AssemblyCodebase_path_size = -1;
+    INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1;
+    CHAR* AssemblyCodebase_full_name=NULL;
+    INT AssemblyName_path_size = -1;
+    INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1;
+    CHAR* AssemblyName_full_name=NULL;
+
+    AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyCodebase_full_name != NULL);
+    if(AssemblyCodebase_full_name == NULL){goto LExit;}
+
+    AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
+    if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyName_full_name != NULL);
+    if(AssemblyName_full_name == NULL){goto LExit;}
+
+    AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
+    if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BindingDownloadPhaseEnd,
+        AppDomainID,
+        LoadContextID,
+        FromLoaderCache,
+        DynamicLoad,
+        AssemblyCodebase_full_name,
+        AssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
+        if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledLoaderAssemblyInitPhaseStart(){ return TRUE;}
+extern "C" ULONG  FireEtwLoaderAssemblyInitPhaseStart(
+                  const unsigned int AppDomainID,
+                  const unsigned int LoadContextID,
+                  const unsigned int FromLoaderCache,
+                  const unsigned int DynamicLoad,
+                  PCWSTR AssemblyCodebase,
+                  PCWSTR AssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledLoaderAssemblyInitPhaseStart()){ return ERROR_SUCCESS;};
+    INT AssemblyCodebase_path_size = -1;
+    INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1;
+    CHAR* AssemblyCodebase_full_name=NULL;
+    INT AssemblyName_path_size = -1;
+    INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1;
+    CHAR* AssemblyName_full_name=NULL;
+
+    AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyCodebase_full_name != NULL);
+    if(AssemblyCodebase_full_name == NULL){goto LExit;}
+
+    AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
+    if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyName_full_name != NULL);
+    if(AssemblyName_full_name == NULL){goto LExit;}
+
+    AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
+    if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        LoaderAssemblyInitPhaseStart,
+        AppDomainID,
+        LoadContextID,
+        FromLoaderCache,
+        DynamicLoad,
+        AssemblyCodebase_full_name,
+        AssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
+        if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledLoaderAssemblyInitPhaseEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwLoaderAssemblyInitPhaseEnd(
+                  const unsigned int AppDomainID,
+                  const unsigned int LoadContextID,
+                  const unsigned int FromLoaderCache,
+                  const unsigned int DynamicLoad,
+                  PCWSTR AssemblyCodebase,
+                  PCWSTR AssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledLoaderAssemblyInitPhaseEnd()){ return ERROR_SUCCESS;};
+    INT AssemblyCodebase_path_size = -1;
+    INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1;
+    CHAR* AssemblyCodebase_full_name=NULL;
+    INT AssemblyName_path_size = -1;
+    INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1;
+    CHAR* AssemblyName_full_name=NULL;
+
+    AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyCodebase_full_name != NULL);
+    if(AssemblyCodebase_full_name == NULL){goto LExit;}
+
+    AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
+    if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyName_full_name != NULL);
+    if(AssemblyName_full_name == NULL){goto LExit;}
+
+    AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
+    if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        LoaderAssemblyInitPhaseEnd,
+        AppDomainID,
+        LoadContextID,
+        FromLoaderCache,
+        DynamicLoad,
+        AssemblyCodebase_full_name,
+        AssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
+        if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledLoaderMappingPhaseStart(){ return TRUE;}
+extern "C" ULONG  FireEtwLoaderMappingPhaseStart(
+                  const unsigned int AppDomainID,
+                  const unsigned int LoadContextID,
+                  const unsigned int FromLoaderCache,
+                  const unsigned int DynamicLoad,
+                  PCWSTR AssemblyCodebase,
+                  PCWSTR AssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledLoaderMappingPhaseStart()){ return ERROR_SUCCESS;};
+    INT AssemblyCodebase_path_size = -1;
+    INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1;
+    CHAR* AssemblyCodebase_full_name=NULL;
+    INT AssemblyName_path_size = -1;
+    INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1;
+    CHAR* AssemblyName_full_name=NULL;
+
+    AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyCodebase_full_name != NULL);
+    if(AssemblyCodebase_full_name == NULL){goto LExit;}
+
+    AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
+    if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyName_full_name != NULL);
+    if(AssemblyName_full_name == NULL){goto LExit;}
+
+    AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
+    if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        LoaderMappingPhaseStart,
+        AppDomainID,
+        LoadContextID,
+        FromLoaderCache,
+        DynamicLoad,
+        AssemblyCodebase_full_name,
+        AssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
+        if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledLoaderMappingPhaseEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwLoaderMappingPhaseEnd(
+                  const unsigned int AppDomainID,
+                  const unsigned int LoadContextID,
+                  const unsigned int FromLoaderCache,
+                  const unsigned int DynamicLoad,
+                  PCWSTR AssemblyCodebase,
+                  PCWSTR AssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledLoaderMappingPhaseEnd()){ return ERROR_SUCCESS;};
+    INT AssemblyCodebase_path_size = -1;
+    INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1;
+    CHAR* AssemblyCodebase_full_name=NULL;
+    INT AssemblyName_path_size = -1;
+    INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1;
+    CHAR* AssemblyName_full_name=NULL;
+
+    AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyCodebase_full_name != NULL);
+    if(AssemblyCodebase_full_name == NULL){goto LExit;}
+
+    AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
+    if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyName_full_name != NULL);
+    if(AssemblyName_full_name == NULL){goto LExit;}
+
+    AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
+    if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        LoaderMappingPhaseEnd,
+        AppDomainID,
+        LoadContextID,
+        FromLoaderCache,
+        DynamicLoad,
+        AssemblyCodebase_full_name,
+        AssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
+        if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledLoaderDeliverEventsPhaseStart(){ return TRUE;}
+extern "C" ULONG  FireEtwLoaderDeliverEventsPhaseStart(
+                  const unsigned int AppDomainID,
+                  const unsigned int LoadContextID,
+                  const unsigned int FromLoaderCache,
+                  const unsigned int DynamicLoad,
+                  PCWSTR AssemblyCodebase,
+                  PCWSTR AssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledLoaderDeliverEventsPhaseStart()){ return ERROR_SUCCESS;};
+    INT AssemblyCodebase_path_size = -1;
+    INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1;
+    CHAR* AssemblyCodebase_full_name=NULL;
+    INT AssemblyName_path_size = -1;
+    INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1;
+    CHAR* AssemblyName_full_name=NULL;
+
+    AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyCodebase_full_name != NULL);
+    if(AssemblyCodebase_full_name == NULL){goto LExit;}
+
+    AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
+    if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyName_full_name != NULL);
+    if(AssemblyName_full_name == NULL){goto LExit;}
+
+    AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
+    if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        LoaderDeliverEventsPhaseStart,
+        AppDomainID,
+        LoadContextID,
+        FromLoaderCache,
+        DynamicLoad,
+        AssemblyCodebase_full_name,
+        AssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
+        if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledLoaderDeliverEventsPhaseEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwLoaderDeliverEventsPhaseEnd(
+                  const unsigned int AppDomainID,
+                  const unsigned int LoadContextID,
+                  const unsigned int FromLoaderCache,
+                  const unsigned int DynamicLoad,
+                  PCWSTR AssemblyCodebase,
+                  PCWSTR AssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledLoaderDeliverEventsPhaseEnd()){ return ERROR_SUCCESS;};
+    INT AssemblyCodebase_path_size = -1;
+    INT AssemblyCodebase_full_name_path_size = PAL_wcslen(AssemblyCodebase) + 1;
+    CHAR* AssemblyCodebase_full_name=NULL;
+    INT AssemblyName_path_size = -1;
+    INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1;
+    CHAR* AssemblyName_full_name=NULL;
+
+    AssemblyCodebase_full_name = (CHAR*)malloc(AssemblyCodebase_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyCodebase_full_name != NULL);
+    if(AssemblyCodebase_full_name == NULL){goto LExit;}
+
+    AssemblyCodebase_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyCodebase, -1, AssemblyCodebase_full_name, AssemblyCodebase_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyCodebase_path_size == AssemblyCodebase_full_name_path_size );
+    if( AssemblyCodebase_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyName_full_name != NULL);
+    if(AssemblyName_full_name == NULL){goto LExit;}
+
+    AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
+    if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        LoaderDeliverEventsPhaseEnd,
+        AppDomainID,
+        LoadContextID,
+        FromLoaderCache,
+        DynamicLoad,
+        AssemblyCodebase_full_name,
+        AssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
+        if (AssemblyCodebase_full_name != NULL) {free(AssemblyCodebase_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledEvidenceGenerated(){ return TRUE;}
+extern "C" ULONG  FireEtwEvidenceGenerated(
+                  const unsigned int Type,
+                  const unsigned int AppDomain,
+                  PCWSTR ILImage,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledEvidenceGenerated()){ return ERROR_SUCCESS;};
+    INT ILImage_path_size = -1;
+    INT ILImage_full_name_path_size = PAL_wcslen(ILImage) + 1;
+    CHAR* ILImage_full_name=NULL;
+
+    ILImage_full_name = (CHAR*)malloc(ILImage_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ILImage_full_name != NULL);
+    if(ILImage_full_name == NULL){goto LExit;}
+
+    ILImage_path_size = WideCharToMultiByte( CP_ACP, 0, ILImage, -1, ILImage_full_name, ILImage_full_name_path_size, NULL, NULL );
+    _ASSERTE(ILImage_path_size == ILImage_full_name_path_size );
+    if( ILImage_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        EvidenceGenerated,
+        Type,
+        AppDomain,
+        ILImage_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ILImage_full_name != NULL) {free(ILImage_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledModuleTransparencyComputationStart(){ return TRUE;}
+extern "C" ULONG  FireEtwModuleTransparencyComputationStart(
+                  PCWSTR Module,
+                  const unsigned int AppDomainID,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledModuleTransparencyComputationStart()){ return ERROR_SUCCESS;};
+    INT Module_path_size = -1;
+    INT Module_full_name_path_size = PAL_wcslen(Module) + 1;
+    CHAR* Module_full_name=NULL;
+
+    Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(Module_full_name != NULL);
+    if(Module_full_name == NULL){goto LExit;}
+
+    Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL );
+    _ASSERTE(Module_path_size == Module_full_name_path_size );
+    if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ModuleTransparencyComputationStart,
+        Module_full_name,
+        AppDomainID,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (Module_full_name != NULL) {free(Module_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledModuleTransparencyComputationEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwModuleTransparencyComputationEnd(
+                  PCWSTR Module,
+                  const unsigned int AppDomainID,
+                  const BOOL IsAllCritical,
+                  const BOOL IsAllTransparent,
+                  const BOOL IsTreatAsSafe,
+                  const BOOL IsOpportunisticallyCritical,
+                  const unsigned int SecurityRuleSet,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledModuleTransparencyComputationEnd()){ return ERROR_SUCCESS;};
+    INT Module_path_size = -1;
+    INT Module_full_name_path_size = PAL_wcslen(Module) + 1;
+    CHAR* Module_full_name=NULL;
+
+    Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(Module_full_name != NULL);
+    if(Module_full_name == NULL){goto LExit;}
+
+    Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL );
+    _ASSERTE(Module_path_size == Module_full_name_path_size );
+    if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ModuleTransparencyComputationEnd,
+        Module_full_name,
+        AppDomainID,
+        IsAllCritical,
+        IsAllTransparent,
+        IsTreatAsSafe,
+        IsOpportunisticallyCritical,
+        SecurityRuleSet,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (Module_full_name != NULL) {free(Module_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledTypeTransparencyComputationStart(){ return TRUE;}
+extern "C" ULONG  FireEtwTypeTransparencyComputationStart(
+                  PCWSTR Type,
+                  PCWSTR Module,
+                  const unsigned int AppDomainID,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledTypeTransparencyComputationStart()){ return ERROR_SUCCESS;};
+    INT Type_path_size = -1;
+    INT Type_full_name_path_size = PAL_wcslen(Type) + 1;
+    CHAR* Type_full_name=NULL;
+    INT Module_path_size = -1;
+    INT Module_full_name_path_size = PAL_wcslen(Module) + 1;
+    CHAR* Module_full_name=NULL;
+
+    Type_full_name = (CHAR*)malloc(Type_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(Type_full_name != NULL);
+    if(Type_full_name == NULL){goto LExit;}
+
+    Type_path_size = WideCharToMultiByte( CP_ACP, 0, Type, -1, Type_full_name, Type_full_name_path_size, NULL, NULL );
+    _ASSERTE(Type_path_size == Type_full_name_path_size );
+    if( Type_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(Module_full_name != NULL);
+    if(Module_full_name == NULL){goto LExit;}
+
+    Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL );
+    _ASSERTE(Module_path_size == Module_full_name_path_size );
+    if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        TypeTransparencyComputationStart,
+        Type_full_name,
+        Module_full_name,
+        AppDomainID,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (Module_full_name != NULL) {free(Module_full_name);}
+        if (Type_full_name != NULL) {free(Type_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledTypeTransparencyComputationEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwTypeTransparencyComputationEnd(
+                  PCWSTR Type,
+                  PCWSTR Module,
+                  const unsigned int AppDomainID,
+                  const BOOL IsAllCritical,
+                  const BOOL IsAllTransparent,
+                  const BOOL IsCritical,
+                  const BOOL IsTreatAsSafe,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledTypeTransparencyComputationEnd()){ return ERROR_SUCCESS;};
+    INT Type_path_size = -1;
+    INT Type_full_name_path_size = PAL_wcslen(Type) + 1;
+    CHAR* Type_full_name=NULL;
+    INT Module_path_size = -1;
+    INT Module_full_name_path_size = PAL_wcslen(Module) + 1;
+    CHAR* Module_full_name=NULL;
+
+    Type_full_name = (CHAR*)malloc(Type_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(Type_full_name != NULL);
+    if(Type_full_name == NULL){goto LExit;}
+
+    Type_path_size = WideCharToMultiByte( CP_ACP, 0, Type, -1, Type_full_name, Type_full_name_path_size, NULL, NULL );
+    _ASSERTE(Type_path_size == Type_full_name_path_size );
+    if( Type_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(Module_full_name != NULL);
+    if(Module_full_name == NULL){goto LExit;}
+
+    Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL );
+    _ASSERTE(Module_path_size == Module_full_name_path_size );
+    if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        TypeTransparencyComputationEnd,
+        Type_full_name,
+        Module_full_name,
+        AppDomainID,
+        IsAllCritical,
+        IsAllTransparent,
+        IsCritical,
+        IsTreatAsSafe,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (Module_full_name != NULL) {free(Module_full_name);}
+        if (Type_full_name != NULL) {free(Type_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodTransparencyComputationStart(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodTransparencyComputationStart(
+                  PCWSTR Method,
+                  PCWSTR Module,
+                  const unsigned int AppDomainID,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodTransparencyComputationStart()){ return ERROR_SUCCESS;};
+    INT Method_path_size = -1;
+    INT Method_full_name_path_size = PAL_wcslen(Method) + 1;
+    CHAR* Method_full_name=NULL;
+    INT Module_path_size = -1;
+    INT Module_full_name_path_size = PAL_wcslen(Module) + 1;
+    CHAR* Module_full_name=NULL;
+
+    Method_full_name = (CHAR*)malloc(Method_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(Method_full_name != NULL);
+    if(Method_full_name == NULL){goto LExit;}
+
+    Method_path_size = WideCharToMultiByte( CP_ACP, 0, Method, -1, Method_full_name, Method_full_name_path_size, NULL, NULL );
+    _ASSERTE(Method_path_size == Method_full_name_path_size );
+    if( Method_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(Module_full_name != NULL);
+    if(Module_full_name == NULL){goto LExit;}
+
+    Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL );
+    _ASSERTE(Module_path_size == Module_full_name_path_size );
+    if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        MethodTransparencyComputationStart,
+        Method_full_name,
+        Module_full_name,
+        AppDomainID,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (Module_full_name != NULL) {free(Module_full_name);}
+        if (Method_full_name != NULL) {free(Method_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodTransparencyComputationEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodTransparencyComputationEnd(
+                  PCWSTR Method,
+                  PCWSTR Module,
+                  const unsigned int AppDomainID,
+                  const BOOL IsCritical,
+                  const BOOL IsTreatAsSafe,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodTransparencyComputationEnd()){ return ERROR_SUCCESS;};
+    INT Method_path_size = -1;
+    INT Method_full_name_path_size = PAL_wcslen(Method) + 1;
+    CHAR* Method_full_name=NULL;
+    INT Module_path_size = -1;
+    INT Module_full_name_path_size = PAL_wcslen(Module) + 1;
+    CHAR* Module_full_name=NULL;
+
+    Method_full_name = (CHAR*)malloc(Method_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(Method_full_name != NULL);
+    if(Method_full_name == NULL){goto LExit;}
+
+    Method_path_size = WideCharToMultiByte( CP_ACP, 0, Method, -1, Method_full_name, Method_full_name_path_size, NULL, NULL );
+    _ASSERTE(Method_path_size == Method_full_name_path_size );
+    if( Method_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(Module_full_name != NULL);
+    if(Module_full_name == NULL){goto LExit;}
+
+    Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL );
+    _ASSERTE(Module_path_size == Module_full_name_path_size );
+    if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        MethodTransparencyComputationEnd,
+        Method_full_name,
+        Module_full_name,
+        AppDomainID,
+        IsCritical,
+        IsTreatAsSafe,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (Module_full_name != NULL) {free(Module_full_name);}
+        if (Method_full_name != NULL) {free(Method_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFieldTransparencyComputationStart(){ return TRUE;}
+extern "C" ULONG  FireEtwFieldTransparencyComputationStart(
+                  PCWSTR Field,
+                  PCWSTR Module,
+                  const unsigned int AppDomainID,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFieldTransparencyComputationStart()){ return ERROR_SUCCESS;};
+    INT Field_path_size = -1;
+    INT Field_full_name_path_size = PAL_wcslen(Field) + 1;
+    CHAR* Field_full_name=NULL;
+    INT Module_path_size = -1;
+    INT Module_full_name_path_size = PAL_wcslen(Module) + 1;
+    CHAR* Module_full_name=NULL;
+
+    Field_full_name = (CHAR*)malloc(Field_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(Field_full_name != NULL);
+    if(Field_full_name == NULL){goto LExit;}
+
+    Field_path_size = WideCharToMultiByte( CP_ACP, 0, Field, -1, Field_full_name, Field_full_name_path_size, NULL, NULL );
+    _ASSERTE(Field_path_size == Field_full_name_path_size );
+    if( Field_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(Module_full_name != NULL);
+    if(Module_full_name == NULL){goto LExit;}
+
+    Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL );
+    _ASSERTE(Module_path_size == Module_full_name_path_size );
+    if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        FieldTransparencyComputationStart,
+        Field_full_name,
+        Module_full_name,
+        AppDomainID,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (Module_full_name != NULL) {free(Module_full_name);}
+        if (Field_full_name != NULL) {free(Field_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFieldTransparencyComputationEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwFieldTransparencyComputationEnd(
+                  PCWSTR Field,
+                  PCWSTR Module,
+                  const unsigned int AppDomainID,
+                  const BOOL IsCritical,
+                  const BOOL IsTreatAsSafe,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFieldTransparencyComputationEnd()){ return ERROR_SUCCESS;};
+    INT Field_path_size = -1;
+    INT Field_full_name_path_size = PAL_wcslen(Field) + 1;
+    CHAR* Field_full_name=NULL;
+    INT Module_path_size = -1;
+    INT Module_full_name_path_size = PAL_wcslen(Module) + 1;
+    CHAR* Module_full_name=NULL;
+
+    Field_full_name = (CHAR*)malloc(Field_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(Field_full_name != NULL);
+    if(Field_full_name == NULL){goto LExit;}
+
+    Field_path_size = WideCharToMultiByte( CP_ACP, 0, Field, -1, Field_full_name, Field_full_name_path_size, NULL, NULL );
+    _ASSERTE(Field_path_size == Field_full_name_path_size );
+    if( Field_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(Module_full_name != NULL);
+    if(Module_full_name == NULL){goto LExit;}
+
+    Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL );
+    _ASSERTE(Module_path_size == Module_full_name_path_size );
+    if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        FieldTransparencyComputationEnd,
+        Field_full_name,
+        Module_full_name,
+        AppDomainID,
+        IsCritical,
+        IsTreatAsSafe,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (Module_full_name != NULL) {free(Module_full_name);}
+        if (Field_full_name != NULL) {free(Field_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledTokenTransparencyComputationStart(){ return TRUE;}
+extern "C" ULONG  FireEtwTokenTransparencyComputationStart(
+                  const unsigned int Token,
+                  PCWSTR Module,
+                  const unsigned int AppDomainID,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledTokenTransparencyComputationStart()){ return ERROR_SUCCESS;};
+    INT Module_path_size = -1;
+    INT Module_full_name_path_size = PAL_wcslen(Module) + 1;
+    CHAR* Module_full_name=NULL;
+
+    Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(Module_full_name != NULL);
+    if(Module_full_name == NULL){goto LExit;}
+
+    Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL );
+    _ASSERTE(Module_path_size == Module_full_name_path_size );
+    if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        TokenTransparencyComputationStart,
+        Token,
+        Module_full_name,
+        AppDomainID,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (Module_full_name != NULL) {free(Module_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledTokenTransparencyComputationEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwTokenTransparencyComputationEnd(
+                  const unsigned int Token,
+                  PCWSTR Module,
+                  const unsigned int AppDomainID,
+                  const BOOL IsCritical,
+                  const BOOL IsTreatAsSafe,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledTokenTransparencyComputationEnd()){ return ERROR_SUCCESS;};
+    INT Module_path_size = -1;
+    INT Module_full_name_path_size = PAL_wcslen(Module) + 1;
+    CHAR* Module_full_name=NULL;
+
+    Module_full_name = (CHAR*)malloc(Module_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(Module_full_name != NULL);
+    if(Module_full_name == NULL){goto LExit;}
+
+    Module_path_size = WideCharToMultiByte( CP_ACP, 0, Module, -1, Module_full_name, Module_full_name_path_size, NULL, NULL );
+    _ASSERTE(Module_path_size == Module_full_name_path_size );
+    if( Module_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        TokenTransparencyComputationEnd,
+        Token,
+        Module_full_name,
+        AppDomainID,
+        IsCritical,
+        IsTreatAsSafe,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (Module_full_name != NULL) {free(Module_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledNgenBindEvent(){ return TRUE;}
+extern "C" ULONG  FireEtwNgenBindEvent(
+                  const unsigned short ClrInstanceID,
+                  const unsigned __int64 BindingID,
+                  const unsigned int ReasonCode,
+                  PCWSTR AssemblyName
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledNgenBindEvent()){ return ERROR_SUCCESS;};
+    INT AssemblyName_path_size = -1;
+    INT AssemblyName_full_name_path_size = PAL_wcslen(AssemblyName) + 1;
+    CHAR* AssemblyName_full_name=NULL;
+
+    AssemblyName_full_name = (CHAR*)malloc(AssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AssemblyName_full_name != NULL);
+    if(AssemblyName_full_name == NULL){goto LExit;}
+
+    AssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, AssemblyName, -1, AssemblyName_full_name, AssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AssemblyName_path_size == AssemblyName_full_name_path_size );
+    if( AssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        NgenBindEvent,
+        ClrInstanceID,
+        BindingID,
+        ReasonCode,
+        AssemblyName_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AssemblyName_full_name != NULL) {free(AssemblyName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFailFast(){ return TRUE;}
+extern "C" ULONG  FireEtwFailFast(
+                  PCWSTR FailFastUserMessage,
+                  const void* FailedEIP,
+                  const unsigned int OSExitCode,
+                  const unsigned int ClrExitCode,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFailFast()){ return ERROR_SUCCESS;};
+    INT FailFastUserMessage_path_size = -1;
+    INT FailFastUserMessage_full_name_path_size = PAL_wcslen(FailFastUserMessage) + 1;
+    CHAR* FailFastUserMessage_full_name=NULL;
+
+    FailFastUserMessage_full_name = (CHAR*)malloc(FailFastUserMessage_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(FailFastUserMessage_full_name != NULL);
+    if(FailFastUserMessage_full_name == NULL){goto LExit;}
+
+    FailFastUserMessage_path_size = WideCharToMultiByte( CP_ACP, 0, FailFastUserMessage, -1, FailFastUserMessage_full_name, FailFastUserMessage_full_name_path_size, NULL, NULL );
+    _ASSERTE(FailFastUserMessage_path_size == FailFastUserMessage_full_name_path_size );
+    if( FailFastUserMessage_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        FailFast,
+        FailFastUserMessage_full_name,
+        (const size_t) FailedEIP,
+        OSExitCode,
+        ClrExitCode,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (FailFastUserMessage_full_name != NULL) {free(FailFastUserMessage_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledPrvFinalizeObject(){ return TRUE;}
+extern "C" ULONG  FireEtwPrvFinalizeObject(
+                  const void* TypeID,
+                  const void* ObjectID,
+                  const unsigned short ClrInstanceID,
+                  PCWSTR TypeName
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledPrvFinalizeObject()){ return ERROR_SUCCESS;};
+    INT TypeName_path_size = -1;
+    INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1;
+    CHAR* TypeName_full_name=NULL;
+
+    TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(TypeName_full_name != NULL);
+    if(TypeName_full_name == NULL){goto LExit;}
+
+    TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
+    if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        PrvFinalizeObject,
+        (const size_t) TypeID,
+        (const size_t) ObjectID,
+        ClrInstanceID,
+        TypeName_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (TypeName_full_name != NULL) {free(TypeName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledCCWRefCountChange(){ return TRUE;}
+extern "C" ULONG  FireEtwCCWRefCountChange(
+                  const void* HandleID,
+                  const void* ObjectID,
+                  const void* COMInterfacePointer,
+                  const unsigned int NewRefCount,
+                  const unsigned __int64 AppDomainID,
+                  LPCSTR ClassName,
+                  LPCSTR NameSpace,
+                  PCWSTR Operation,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledCCWRefCountChange()){ return ERROR_SUCCESS;};
+    INT Operation_path_size = -1;
+    INT Operation_full_name_path_size = PAL_wcslen(Operation) + 1;
+    CHAR* Operation_full_name=NULL;
+
+    Operation_full_name = (CHAR*)malloc(Operation_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(Operation_full_name != NULL);
+    if(Operation_full_name == NULL){goto LExit;}
+
+    Operation_path_size = WideCharToMultiByte( CP_ACP, 0, Operation, -1, Operation_full_name, Operation_full_name_path_size, NULL, NULL );
+    _ASSERTE(Operation_path_size == Operation_full_name_path_size );
+    if( Operation_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        CCWRefCountChange,
+        (const size_t) HandleID,
+        (const size_t) ObjectID,
+        (const size_t) COMInterfacePointer,
+        NewRefCount,
+        AppDomainID,
+        ClassName,
+        NameSpace,
+        Operation_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (Operation_full_name != NULL) {free(Operation_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledPrvSetGCHandle(){ return TRUE;}
+extern "C" ULONG  FireEtwPrvSetGCHandle(
+                  const void* HandleID,
+                  const void* ObjectID,
+                  const unsigned int Kind,
+                  const unsigned int Generation,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledPrvSetGCHandle()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        PrvSetGCHandle,
+        (const size_t) HandleID,
+        (const size_t) ObjectID,
+        Kind,
+        Generation,
+        AppDomainID,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledPrvDestroyGCHandle(){ return TRUE;}
+extern "C" ULONG  FireEtwPrvDestroyGCHandle(
+                  const void* HandleID,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledPrvDestroyGCHandle()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        PrvDestroyGCHandle,
+        (const size_t) HandleID,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFusionMessageEvent(){ return TRUE;}
+extern "C" ULONG  FireEtwFusionMessageEvent(
+                  const unsigned short ClrInstanceID,
+                  const BOOL Prepend,
+                  PCWSTR Message
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFusionMessageEvent()){ return ERROR_SUCCESS;};
+    INT Message_path_size = -1;
+    INT Message_full_name_path_size = PAL_wcslen(Message) + 1;
+    CHAR* Message_full_name=NULL;
+
+    Message_full_name = (CHAR*)malloc(Message_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(Message_full_name != NULL);
+    if(Message_full_name == NULL){goto LExit;}
+
+    Message_path_size = WideCharToMultiByte( CP_ACP, 0, Message, -1, Message_full_name, Message_full_name_path_size, NULL, NULL );
+    _ASSERTE(Message_path_size == Message_full_name_path_size );
+    if( Message_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        FusionMessageEvent,
+        ClrInstanceID,
+        Prepend,
+        Message_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (Message_full_name != NULL) {free(Message_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledFusionErrorCodeEvent(){ return TRUE;}
+extern "C" ULONG  FireEtwFusionErrorCodeEvent(
+                  const unsigned short ClrInstanceID,
+                  const unsigned int Category,
+                  const unsigned int ErrorCode
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledFusionErrorCodeEvent()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        FusionErrorCodeEvent,
+        ClrInstanceID,
+        Category,
+        ErrorCode
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledPinPlugAtGCTime(){ return TRUE;}
+extern "C" ULONG  FireEtwPinPlugAtGCTime(
+                  const void* PlugStart,
+                  const void* PlugEnd,
+                  const void* GapBeforeSize,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledPinPlugAtGCTime()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        PinPlugAtGCTime,
+        (const size_t) PlugStart,
+        (const size_t) PlugEnd,
+        (const size_t) GapBeforeSize,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAllocRequest(){ return TRUE;}
+extern "C" ULONG  FireEtwAllocRequest(
+                  const void* LoaderHeapPtr,
+                  const void* MemoryAddress,
+                  const unsigned int RequestSize,
+                  const unsigned int Unused1,
+                  const unsigned __int64 Unused2,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAllocRequest()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        AllocRequest,
+        (const size_t) LoaderHeapPtr,
+        (const size_t) MemoryAddress,
+        RequestSize,
+        Unused1,
+        Unused2,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMulticoreJit(){ return TRUE;}
+extern "C" ULONG  FireEtwMulticoreJit(
+                  const unsigned short ClrInstanceID,
+                  PCWSTR String1,
+                  PCWSTR String2,
+                  const signed int Int1,
+                  const signed int Int2,
+                  const signed int Int3
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMulticoreJit()){ return ERROR_SUCCESS;};
+    INT String1_path_size = -1;
+    INT String1_full_name_path_size = PAL_wcslen(String1) + 1;
+    CHAR* String1_full_name=NULL;
+    INT String2_path_size = -1;
+    INT String2_full_name_path_size = PAL_wcslen(String2) + 1;
+    CHAR* String2_full_name=NULL;
+
+    String1_full_name = (CHAR*)malloc(String1_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(String1_full_name != NULL);
+    if(String1_full_name == NULL){goto LExit;}
+
+    String1_path_size = WideCharToMultiByte( CP_ACP, 0, String1, -1, String1_full_name, String1_full_name_path_size, NULL, NULL );
+    _ASSERTE(String1_path_size == String1_full_name_path_size );
+    if( String1_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    String2_full_name = (CHAR*)malloc(String2_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(String2_full_name != NULL);
+    if(String2_full_name == NULL){goto LExit;}
+
+    String2_path_size = WideCharToMultiByte( CP_ACP, 0, String2, -1, String2_full_name, String2_full_name_path_size, NULL, NULL );
+    _ASSERTE(String2_path_size == String2_full_name_path_size );
+    if( String2_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        MulticoreJit,
+        ClrInstanceID,
+        String1_full_name,
+        String2_full_name,
+        Int1,
+        Int2,
+        Int3
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (String2_full_name != NULL) {free(String2_full_name);}
+        if (String1_full_name != NULL) {free(String1_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMulticoreJitMethodCodeReturned(){ return TRUE;}
+extern "C" ULONG  FireEtwMulticoreJitMethodCodeReturned(
+                  const unsigned short ClrInstanceID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMulticoreJitMethodCodeReturned()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        MulticoreJitMethodCodeReturned,
+        ClrInstanceID,
+        ModuleID,
+        MethodID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledIInspectableRuntimeClassName(){ return TRUE;}
+extern "C" ULONG  FireEtwIInspectableRuntimeClassName(
+                  PCWSTR TypeName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledIInspectableRuntimeClassName()){ return ERROR_SUCCESS;};
+    INT TypeName_path_size = -1;
+    INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1;
+    CHAR* TypeName_full_name=NULL;
+
+    TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(TypeName_full_name != NULL);
+    if(TypeName_full_name == NULL){goto LExit;}
+
+    TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
+    if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        IInspectableRuntimeClassName,
+        TypeName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (TypeName_full_name != NULL) {free(TypeName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledWinRTUnbox(){ return TRUE;}
+extern "C" ULONG  FireEtwWinRTUnbox(
+                  PCWSTR TypeName,
+                  PCWSTR SecondTypeName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledWinRTUnbox()){ return ERROR_SUCCESS;};
+    INT TypeName_path_size = -1;
+    INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1;
+    CHAR* TypeName_full_name=NULL;
+    INT SecondTypeName_path_size = -1;
+    INT SecondTypeName_full_name_path_size = PAL_wcslen(SecondTypeName) + 1;
+    CHAR* SecondTypeName_full_name=NULL;
+
+    TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(TypeName_full_name != NULL);
+    if(TypeName_full_name == NULL){goto LExit;}
+
+    TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
+    if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    SecondTypeName_full_name = (CHAR*)malloc(SecondTypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(SecondTypeName_full_name != NULL);
+    if(SecondTypeName_full_name == NULL){goto LExit;}
+
+    SecondTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, SecondTypeName, -1, SecondTypeName_full_name, SecondTypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(SecondTypeName_path_size == SecondTypeName_full_name_path_size );
+    if( SecondTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        WinRTUnbox,
+        TypeName_full_name,
+        SecondTypeName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (SecondTypeName_full_name != NULL) {free(SecondTypeName_full_name);}
+        if (TypeName_full_name != NULL) {free(TypeName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledCreateRCW(){ return TRUE;}
+extern "C" ULONG  FireEtwCreateRCW(
+                  PCWSTR TypeName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledCreateRCW()){ return ERROR_SUCCESS;};
+    INT TypeName_path_size = -1;
+    INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1;
+    CHAR* TypeName_full_name=NULL;
+
+    TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(TypeName_full_name != NULL);
+    if(TypeName_full_name == NULL){goto LExit;}
+
+    TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
+    if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        CreateRCW,
+        TypeName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (TypeName_full_name != NULL) {free(TypeName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledRCWVariance(){ return TRUE;}
+extern "C" ULONG  FireEtwRCWVariance(
+                  PCWSTR TypeName,
+                  PCWSTR InterfaceTypeName,
+                  PCWSTR VariantInterfaceTypeName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledRCWVariance()){ return ERROR_SUCCESS;};
+    INT TypeName_path_size = -1;
+    INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1;
+    CHAR* TypeName_full_name=NULL;
+    INT InterfaceTypeName_path_size = -1;
+    INT InterfaceTypeName_full_name_path_size = PAL_wcslen(InterfaceTypeName) + 1;
+    CHAR* InterfaceTypeName_full_name=NULL;
+    INT VariantInterfaceTypeName_path_size = -1;
+    INT VariantInterfaceTypeName_full_name_path_size = PAL_wcslen(VariantInterfaceTypeName) + 1;
+    CHAR* VariantInterfaceTypeName_full_name=NULL;
+
+    TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(TypeName_full_name != NULL);
+    if(TypeName_full_name == NULL){goto LExit;}
+
+    TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
+    if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    InterfaceTypeName_full_name = (CHAR*)malloc(InterfaceTypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(InterfaceTypeName_full_name != NULL);
+    if(InterfaceTypeName_full_name == NULL){goto LExit;}
+
+    InterfaceTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, InterfaceTypeName, -1, InterfaceTypeName_full_name, InterfaceTypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(InterfaceTypeName_path_size == InterfaceTypeName_full_name_path_size );
+    if( InterfaceTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    VariantInterfaceTypeName_full_name = (CHAR*)malloc(VariantInterfaceTypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(VariantInterfaceTypeName_full_name != NULL);
+    if(VariantInterfaceTypeName_full_name == NULL){goto LExit;}
+
+    VariantInterfaceTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, VariantInterfaceTypeName, -1, VariantInterfaceTypeName_full_name, VariantInterfaceTypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(VariantInterfaceTypeName_path_size == VariantInterfaceTypeName_full_name_path_size );
+    if( VariantInterfaceTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        RCWVariance,
+        TypeName_full_name,
+        InterfaceTypeName_full_name,
+        VariantInterfaceTypeName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (VariantInterfaceTypeName_full_name != NULL) {free(VariantInterfaceTypeName_full_name);}
+        if (InterfaceTypeName_full_name != NULL) {free(InterfaceTypeName_full_name);}
+        if (TypeName_full_name != NULL) {free(TypeName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledRCWIEnumerableCasting(){ return TRUE;}
+extern "C" ULONG  FireEtwRCWIEnumerableCasting(
+                  PCWSTR TypeName,
+                  PCWSTR SecondTypeName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledRCWIEnumerableCasting()){ return ERROR_SUCCESS;};
+    INT TypeName_path_size = -1;
+    INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1;
+    CHAR* TypeName_full_name=NULL;
+    INT SecondTypeName_path_size = -1;
+    INT SecondTypeName_full_name_path_size = PAL_wcslen(SecondTypeName) + 1;
+    CHAR* SecondTypeName_full_name=NULL;
+
+    TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(TypeName_full_name != NULL);
+    if(TypeName_full_name == NULL){goto LExit;}
+
+    TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
+    if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    SecondTypeName_full_name = (CHAR*)malloc(SecondTypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(SecondTypeName_full_name != NULL);
+    if(SecondTypeName_full_name == NULL){goto LExit;}
+
+    SecondTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, SecondTypeName, -1, SecondTypeName_full_name, SecondTypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(SecondTypeName_path_size == SecondTypeName_full_name_path_size );
+    if( SecondTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        RCWIEnumerableCasting,
+        TypeName_full_name,
+        SecondTypeName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (SecondTypeName_full_name != NULL) {free(SecondTypeName_full_name);}
+        if (TypeName_full_name != NULL) {free(TypeName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledCreateCCW(){ return TRUE;}
+extern "C" ULONG  FireEtwCreateCCW(
+                  PCWSTR TypeName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledCreateCCW()){ return ERROR_SUCCESS;};
+    INT TypeName_path_size = -1;
+    INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1;
+    CHAR* TypeName_full_name=NULL;
+
+    TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(TypeName_full_name != NULL);
+    if(TypeName_full_name == NULL){goto LExit;}
+
+    TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
+    if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        CreateCCW,
+        TypeName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (TypeName_full_name != NULL) {free(TypeName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledCCWVariance(){ return TRUE;}
+extern "C" ULONG  FireEtwCCWVariance(
+                  PCWSTR TypeName,
+                  PCWSTR InterfaceTypeName,
+                  PCWSTR VariantInterfaceTypeName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledCCWVariance()){ return ERROR_SUCCESS;};
+    INT TypeName_path_size = -1;
+    INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1;
+    CHAR* TypeName_full_name=NULL;
+    INT InterfaceTypeName_path_size = -1;
+    INT InterfaceTypeName_full_name_path_size = PAL_wcslen(InterfaceTypeName) + 1;
+    CHAR* InterfaceTypeName_full_name=NULL;
+    INT VariantInterfaceTypeName_path_size = -1;
+    INT VariantInterfaceTypeName_full_name_path_size = PAL_wcslen(VariantInterfaceTypeName) + 1;
+    CHAR* VariantInterfaceTypeName_full_name=NULL;
+
+    TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(TypeName_full_name != NULL);
+    if(TypeName_full_name == NULL){goto LExit;}
+
+    TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
+    if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    InterfaceTypeName_full_name = (CHAR*)malloc(InterfaceTypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(InterfaceTypeName_full_name != NULL);
+    if(InterfaceTypeName_full_name == NULL){goto LExit;}
+
+    InterfaceTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, InterfaceTypeName, -1, InterfaceTypeName_full_name, InterfaceTypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(InterfaceTypeName_path_size == InterfaceTypeName_full_name_path_size );
+    if( InterfaceTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    VariantInterfaceTypeName_full_name = (CHAR*)malloc(VariantInterfaceTypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(VariantInterfaceTypeName_full_name != NULL);
+    if(VariantInterfaceTypeName_full_name == NULL){goto LExit;}
+
+    VariantInterfaceTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, VariantInterfaceTypeName, -1, VariantInterfaceTypeName_full_name, VariantInterfaceTypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(VariantInterfaceTypeName_path_size == VariantInterfaceTypeName_full_name_path_size );
+    if( VariantInterfaceTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        CCWVariance,
+        TypeName_full_name,
+        InterfaceTypeName_full_name,
+        VariantInterfaceTypeName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (VariantInterfaceTypeName_full_name != NULL) {free(VariantInterfaceTypeName_full_name);}
+        if (InterfaceTypeName_full_name != NULL) {free(InterfaceTypeName_full_name);}
+        if (TypeName_full_name != NULL) {free(TypeName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledObjectVariantMarshallingToNative(){ return TRUE;}
+extern "C" ULONG  FireEtwObjectVariantMarshallingToNative(
+                  PCWSTR TypeName,
+                  const signed int Int1,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledObjectVariantMarshallingToNative()){ return ERROR_SUCCESS;};
+    INT TypeName_path_size = -1;
+    INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1;
+    CHAR* TypeName_full_name=NULL;
+
+    TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(TypeName_full_name != NULL);
+    if(TypeName_full_name == NULL){goto LExit;}
+
+    TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
+    if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ObjectVariantMarshallingToNative,
+        TypeName_full_name,
+        Int1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (TypeName_full_name != NULL) {free(TypeName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGetTypeFromGUID(){ return TRUE;}
+extern "C" ULONG  FireEtwGetTypeFromGUID(
+                  PCWSTR TypeName,
+                  PCWSTR SecondTypeName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGetTypeFromGUID()){ return ERROR_SUCCESS;};
+    INT TypeName_path_size = -1;
+    INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1;
+    CHAR* TypeName_full_name=NULL;
+    INT SecondTypeName_path_size = -1;
+    INT SecondTypeName_full_name_path_size = PAL_wcslen(SecondTypeName) + 1;
+    CHAR* SecondTypeName_full_name=NULL;
+
+    TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(TypeName_full_name != NULL);
+    if(TypeName_full_name == NULL){goto LExit;}
+
+    TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
+    if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    SecondTypeName_full_name = (CHAR*)malloc(SecondTypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(SecondTypeName_full_name != NULL);
+    if(SecondTypeName_full_name == NULL){goto LExit;}
+
+    SecondTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, SecondTypeName, -1, SecondTypeName_full_name, SecondTypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(SecondTypeName_path_size == SecondTypeName_full_name_path_size );
+    if( SecondTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        GetTypeFromGUID,
+        TypeName_full_name,
+        SecondTypeName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (SecondTypeName_full_name != NULL) {free(SecondTypeName_full_name);}
+        if (TypeName_full_name != NULL) {free(TypeName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledGetTypeFromProgID(){ return TRUE;}
+extern "C" ULONG  FireEtwGetTypeFromProgID(
+                  PCWSTR TypeName,
+                  PCWSTR SecondTypeName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledGetTypeFromProgID()){ return ERROR_SUCCESS;};
+    INT TypeName_path_size = -1;
+    INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1;
+    CHAR* TypeName_full_name=NULL;
+    INT SecondTypeName_path_size = -1;
+    INT SecondTypeName_full_name_path_size = PAL_wcslen(SecondTypeName) + 1;
+    CHAR* SecondTypeName_full_name=NULL;
+
+    TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(TypeName_full_name != NULL);
+    if(TypeName_full_name == NULL){goto LExit;}
+
+    TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
+    if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    SecondTypeName_full_name = (CHAR*)malloc(SecondTypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(SecondTypeName_full_name != NULL);
+    if(SecondTypeName_full_name == NULL){goto LExit;}
+
+    SecondTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, SecondTypeName, -1, SecondTypeName_full_name, SecondTypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(SecondTypeName_path_size == SecondTypeName_full_name_path_size );
+    if( SecondTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        GetTypeFromProgID,
+        TypeName_full_name,
+        SecondTypeName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (SecondTypeName_full_name != NULL) {free(SecondTypeName_full_name);}
+        if (TypeName_full_name != NULL) {free(TypeName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledConvertToCallbackEtw(){ return TRUE;}
+extern "C" ULONG  FireEtwConvertToCallbackEtw(
+                  PCWSTR TypeName,
+                  PCWSTR SecondTypeName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledConvertToCallbackEtw()){ return ERROR_SUCCESS;};
+    INT TypeName_path_size = -1;
+    INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1;
+    CHAR* TypeName_full_name=NULL;
+    INT SecondTypeName_path_size = -1;
+    INT SecondTypeName_full_name_path_size = PAL_wcslen(SecondTypeName) + 1;
+    CHAR* SecondTypeName_full_name=NULL;
+
+    TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(TypeName_full_name != NULL);
+    if(TypeName_full_name == NULL){goto LExit;}
+
+    TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
+    if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    SecondTypeName_full_name = (CHAR*)malloc(SecondTypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(SecondTypeName_full_name != NULL);
+    if(SecondTypeName_full_name == NULL){goto LExit;}
+
+    SecondTypeName_path_size = WideCharToMultiByte( CP_ACP, 0, SecondTypeName, -1, SecondTypeName_full_name, SecondTypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(SecondTypeName_path_size == SecondTypeName_full_name_path_size );
+    if( SecondTypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ConvertToCallbackEtw,
+        TypeName_full_name,
+        SecondTypeName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (SecondTypeName_full_name != NULL) {free(SecondTypeName_full_name);}
+        if (TypeName_full_name != NULL) {free(TypeName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledBeginCreateManagedReference(){ return TRUE;}
+extern "C" ULONG  FireEtwBeginCreateManagedReference(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledBeginCreateManagedReference()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        BeginCreateManagedReference,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledEndCreateManagedReference(){ return TRUE;}
+extern "C" ULONG  FireEtwEndCreateManagedReference(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledEndCreateManagedReference()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        EndCreateManagedReference,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledObjectVariantMarshallingToManaged(){ return TRUE;}
+extern "C" ULONG  FireEtwObjectVariantMarshallingToManaged(
+                  PCWSTR TypeName,
+                  const signed int Int1,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledObjectVariantMarshallingToManaged()){ return ERROR_SUCCESS;};
+    INT TypeName_path_size = -1;
+    INT TypeName_full_name_path_size = PAL_wcslen(TypeName) + 1;
+    CHAR* TypeName_full_name=NULL;
+
+    TypeName_full_name = (CHAR*)malloc(TypeName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(TypeName_full_name != NULL);
+    if(TypeName_full_name == NULL){goto LExit;}
+
+    TypeName_path_size = WideCharToMultiByte( CP_ACP, 0, TypeName, -1, TypeName_full_name, TypeName_full_name_path_size, NULL, NULL );
+    _ASSERTE(TypeName_path_size == TypeName_full_name_path_size );
+    if( TypeName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimePrivate,
+        ObjectVariantMarshallingToManaged,
+        TypeName_full_name,
+        Int1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (TypeName_full_name != NULL) {free(TypeName_full_name);}
+
+return Error;
+}
diff --git a/src/pal/src/eventprovider/lttng/eventprovdotnetruntimerundown.cpp b/src/pal/src/eventprovider/lttng/eventprovdotnetruntimerundown.cpp
new file mode 100644 (file)
index 0000000..5cb9b7a
--- /dev/null
@@ -0,0 +1,1947 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
+
+******************************************************************/
+
+
+#define TRACEPOINT_DEFINE
+#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE
+#include "lttng/tpdotnetruntimerundown.h"
+extern "C" BOOL  EventEnabledCLRStackWalkDCStart(){ return TRUE;}
+extern "C" ULONG  FireEtwCLRStackWalkDCStart(
+                  const unsigned short ClrInstanceID,
+                  const unsigned char Reserved1,
+                  const unsigned char Reserved2,
+                  const unsigned int FrameCount,
+                  const void** Stack
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledCLRStackWalkDCStart()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        CLRStackWalkDCStart,
+        ClrInstanceID,
+        Reserved1,
+        Reserved2,
+        FrameCount,
+        (const size_t*) Stack
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodDCStart(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodDCStart(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodDCStart()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        MethodDCStart,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodDCStart_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodDCStart_V1(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodDCStart_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        MethodDCStart_V1,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodDCStart_V2(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodDCStart_V2(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  const unsigned short ClrInstanceID,
+                  const unsigned __int64 ReJITID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodDCStart_V2()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        MethodDCStart_V2,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        ClrInstanceID,
+        ReJITID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodDCEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodDCEnd(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodDCEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        MethodDCEnd,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodDCEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodDCEnd_V1(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodDCEnd_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        MethodDCEnd_V1,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodDCEnd_V2(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodDCEnd_V2(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  const unsigned short ClrInstanceID,
+                  const unsigned __int64 ReJITID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodDCEnd_V2()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        MethodDCEnd_V2,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        ClrInstanceID,
+        ReJITID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodDCStartVerbose(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodDCStartVerbose(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  PCWSTR MethodNamespace,
+                  PCWSTR MethodName,
+                  PCWSTR MethodSignature
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodDCStartVerbose()){ return ERROR_SUCCESS;};
+    INT MethodNamespace_path_size = -1;
+    INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1;
+    CHAR* MethodNamespace_full_name=NULL;
+    INT MethodName_path_size = -1;
+    INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1;
+    CHAR* MethodName_full_name=NULL;
+    INT MethodSignature_path_size = -1;
+    INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1;
+    CHAR* MethodSignature_full_name=NULL;
+
+    MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodNamespace_full_name != NULL);
+    if(MethodNamespace_full_name == NULL){goto LExit;}
+
+    MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
+    if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodName_full_name != NULL);
+    if(MethodName_full_name == NULL){goto LExit;}
+
+    MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
+    if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodSignature_full_name != NULL);
+    if(MethodSignature_full_name == NULL){goto LExit;}
+
+    MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
+    if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        MethodDCStartVerbose,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        MethodNamespace_full_name,
+        MethodName_full_name,
+        MethodSignature_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
+        if (MethodName_full_name != NULL) {free(MethodName_full_name);}
+        if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodDCStartVerbose_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodDCStartVerbose_V1(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  PCWSTR MethodNamespace,
+                  PCWSTR MethodName,
+                  PCWSTR MethodSignature,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodDCStartVerbose_V1()){ return ERROR_SUCCESS;};
+    INT MethodNamespace_path_size = -1;
+    INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1;
+    CHAR* MethodNamespace_full_name=NULL;
+    INT MethodName_path_size = -1;
+    INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1;
+    CHAR* MethodName_full_name=NULL;
+    INT MethodSignature_path_size = -1;
+    INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1;
+    CHAR* MethodSignature_full_name=NULL;
+
+    MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodNamespace_full_name != NULL);
+    if(MethodNamespace_full_name == NULL){goto LExit;}
+
+    MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
+    if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodName_full_name != NULL);
+    if(MethodName_full_name == NULL){goto LExit;}
+
+    MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
+    if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodSignature_full_name != NULL);
+    if(MethodSignature_full_name == NULL){goto LExit;}
+
+    MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
+    if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        MethodDCStartVerbose_V1,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        MethodNamespace_full_name,
+        MethodName_full_name,
+        MethodSignature_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
+        if (MethodName_full_name != NULL) {free(MethodName_full_name);}
+        if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodDCStartVerbose_V2(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodDCStartVerbose_V2(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  PCWSTR MethodNamespace,
+                  PCWSTR MethodName,
+                  PCWSTR MethodSignature,
+                  const unsigned short ClrInstanceID,
+                  const unsigned __int64 ReJITID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodDCStartVerbose_V2()){ return ERROR_SUCCESS;};
+    INT MethodNamespace_path_size = -1;
+    INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1;
+    CHAR* MethodNamespace_full_name=NULL;
+    INT MethodName_path_size = -1;
+    INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1;
+    CHAR* MethodName_full_name=NULL;
+    INT MethodSignature_path_size = -1;
+    INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1;
+    CHAR* MethodSignature_full_name=NULL;
+
+    MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodNamespace_full_name != NULL);
+    if(MethodNamespace_full_name == NULL){goto LExit;}
+
+    MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
+    if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodName_full_name != NULL);
+    if(MethodName_full_name == NULL){goto LExit;}
+
+    MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
+    if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodSignature_full_name != NULL);
+    if(MethodSignature_full_name == NULL){goto LExit;}
+
+    MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
+    if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                                    
+     tracepoint(
+        DotNETRuntimeRundown,
+        MethodDCStartVerbose_V2,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        MethodNamespace_full_name,
+        MethodName_full_name,
+        MethodSignature_full_name,
+        ClrInstanceID
+        );
+
+     tracepoint(
+        DotNETRuntimeRundown,
+        MethodDCStartVerbose_V2_1,
+        ReJITID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
+        if (MethodName_full_name != NULL) {free(MethodName_full_name);}
+        if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodDCEndVerbose(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodDCEndVerbose(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  PCWSTR MethodNamespace,
+                  PCWSTR MethodName,
+                  PCWSTR MethodSignature
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodDCEndVerbose()){ return ERROR_SUCCESS;};
+    INT MethodNamespace_path_size = -1;
+    INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1;
+    CHAR* MethodNamespace_full_name=NULL;
+    INT MethodName_path_size = -1;
+    INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1;
+    CHAR* MethodName_full_name=NULL;
+    INT MethodSignature_path_size = -1;
+    INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1;
+    CHAR* MethodSignature_full_name=NULL;
+
+    MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodNamespace_full_name != NULL);
+    if(MethodNamespace_full_name == NULL){goto LExit;}
+
+    MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
+    if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodName_full_name != NULL);
+    if(MethodName_full_name == NULL){goto LExit;}
+
+    MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
+    if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodSignature_full_name != NULL);
+    if(MethodSignature_full_name == NULL){goto LExit;}
+
+    MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
+    if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        MethodDCEndVerbose,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        MethodNamespace_full_name,
+        MethodName_full_name,
+        MethodSignature_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
+        if (MethodName_full_name != NULL) {free(MethodName_full_name);}
+        if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodDCEndVerbose_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodDCEndVerbose_V1(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  PCWSTR MethodNamespace,
+                  PCWSTR MethodName,
+                  PCWSTR MethodSignature,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodDCEndVerbose_V1()){ return ERROR_SUCCESS;};
+    INT MethodNamespace_path_size = -1;
+    INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1;
+    CHAR* MethodNamespace_full_name=NULL;
+    INT MethodName_path_size = -1;
+    INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1;
+    CHAR* MethodName_full_name=NULL;
+    INT MethodSignature_path_size = -1;
+    INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1;
+    CHAR* MethodSignature_full_name=NULL;
+
+    MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodNamespace_full_name != NULL);
+    if(MethodNamespace_full_name == NULL){goto LExit;}
+
+    MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
+    if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodName_full_name != NULL);
+    if(MethodName_full_name == NULL){goto LExit;}
+
+    MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
+    if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodSignature_full_name != NULL);
+    if(MethodSignature_full_name == NULL){goto LExit;}
+
+    MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
+    if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        MethodDCEndVerbose_V1,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        MethodNamespace_full_name,
+        MethodName_full_name,
+        MethodSignature_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
+        if (MethodName_full_name != NULL) {free(MethodName_full_name);}
+        if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodDCEndVerbose_V2(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodDCEndVerbose_V2(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 MethodStartAddress,
+                  const unsigned int MethodSize,
+                  const unsigned int MethodToken,
+                  const unsigned int MethodFlags,
+                  PCWSTR MethodNamespace,
+                  PCWSTR MethodName,
+                  PCWSTR MethodSignature,
+                  const unsigned short ClrInstanceID,
+                  const unsigned __int64 ReJITID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodDCEndVerbose_V2()){ return ERROR_SUCCESS;};
+    INT MethodNamespace_path_size = -1;
+    INT MethodNamespace_full_name_path_size = PAL_wcslen(MethodNamespace) + 1;
+    CHAR* MethodNamespace_full_name=NULL;
+    INT MethodName_path_size = -1;
+    INT MethodName_full_name_path_size = PAL_wcslen(MethodName) + 1;
+    CHAR* MethodName_full_name=NULL;
+    INT MethodSignature_path_size = -1;
+    INT MethodSignature_full_name_path_size = PAL_wcslen(MethodSignature) + 1;
+    CHAR* MethodSignature_full_name=NULL;
+
+    MethodNamespace_full_name = (CHAR*)malloc(MethodNamespace_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodNamespace_full_name != NULL);
+    if(MethodNamespace_full_name == NULL){goto LExit;}
+
+    MethodNamespace_path_size = WideCharToMultiByte( CP_ACP, 0, MethodNamespace, -1, MethodNamespace_full_name, MethodNamespace_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodNamespace_path_size == MethodNamespace_full_name_path_size );
+    if( MethodNamespace_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodName_full_name = (CHAR*)malloc(MethodName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodName_full_name != NULL);
+    if(MethodName_full_name == NULL){goto LExit;}
+
+    MethodName_path_size = WideCharToMultiByte( CP_ACP, 0, MethodName, -1, MethodName_full_name, MethodName_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodName_path_size == MethodName_full_name_path_size );
+    if( MethodName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    MethodSignature_full_name = (CHAR*)malloc(MethodSignature_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(MethodSignature_full_name != NULL);
+    if(MethodSignature_full_name == NULL){goto LExit;}
+
+    MethodSignature_path_size = WideCharToMultiByte( CP_ACP, 0, MethodSignature, -1, MethodSignature_full_name, MethodSignature_full_name_path_size, NULL, NULL );
+    _ASSERTE(MethodSignature_path_size == MethodSignature_full_name_path_size );
+    if( MethodSignature_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                                    
+     tracepoint(
+        DotNETRuntimeRundown,
+        MethodDCEndVerbose_V2,
+        MethodID,
+        ModuleID,
+        MethodStartAddress,
+        MethodSize,
+        MethodToken,
+        MethodFlags,
+        MethodNamespace_full_name,
+        MethodName_full_name,
+        MethodSignature_full_name,
+        ClrInstanceID
+        );
+
+     tracepoint(
+        DotNETRuntimeRundown,
+        MethodDCEndVerbose_V2_1,
+        ReJITID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (MethodSignature_full_name != NULL) {free(MethodSignature_full_name);}
+        if (MethodName_full_name != NULL) {free(MethodName_full_name);}
+        if (MethodNamespace_full_name != NULL) {free(MethodNamespace_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDCStartComplete(){ return TRUE;}
+extern "C" ULONG  FireEtwDCStartComplete(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDCStartComplete()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        DCStartComplete
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDCStartComplete_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwDCStartComplete_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDCStartComplete_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        DCStartComplete_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDCEndComplete(){ return TRUE;}
+extern "C" ULONG  FireEtwDCEndComplete(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDCEndComplete()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        DCEndComplete
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDCEndComplete_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwDCEndComplete_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDCEndComplete_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        DCEndComplete_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDCStartInit(){ return TRUE;}
+extern "C" ULONG  FireEtwDCStartInit(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDCStartInit()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        DCStartInit
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDCStartInit_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwDCStartInit_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDCStartInit_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        DCStartInit_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDCEndInit(){ return TRUE;}
+extern "C" ULONG  FireEtwDCEndInit(
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDCEndInit()){ return ERROR_SUCCESS;};
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        DCEndInit
+     );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDCEndInit_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwDCEndInit_V1(
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDCEndInit_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        DCEndInit_V1,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodDCStartILToNativeMap(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodDCStartILToNativeMap(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ReJITID,
+                  const unsigned char MethodExtent,
+                  const unsigned short CountOfMapEntries,
+                  const unsigned int* ILOffsets,
+                  const unsigned int* NativeOffsets,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodDCStartILToNativeMap()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        MethodDCStartILToNativeMap,
+        MethodID,
+        ReJITID,
+        MethodExtent,
+        CountOfMapEntries,
+        (const unsigned int*) ILOffsets,
+        (const unsigned int*) NativeOffsets,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledMethodDCEndILToNativeMap(){ return TRUE;}
+extern "C" ULONG  FireEtwMethodDCEndILToNativeMap(
+                  const unsigned __int64 MethodID,
+                  const unsigned __int64 ReJITID,
+                  const unsigned char MethodExtent,
+                  const unsigned short CountOfMapEntries,
+                  const unsigned int* ILOffsets,
+                  const unsigned int* NativeOffsets,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledMethodDCEndILToNativeMap()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        MethodDCEndILToNativeMap,
+        MethodID,
+        ReJITID,
+        MethodExtent,
+        CountOfMapEntries,
+        (const unsigned int*) ILOffsets,
+        (const unsigned int*) NativeOffsets,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDomainModuleDCStart(){ return TRUE;}
+extern "C" ULONG  FireEtwDomainModuleDCStart(
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 AssemblyID,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned int ModuleFlags,
+                  const unsigned int Reserved1,
+                  PCWSTR ModuleILPath,
+                  PCWSTR ModuleNativePath
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDomainModuleDCStart()){ return ERROR_SUCCESS;};
+    INT ModuleILPath_path_size = -1;
+    INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1;
+    CHAR* ModuleILPath_full_name=NULL;
+    INT ModuleNativePath_path_size = -1;
+    INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1;
+    CHAR* ModuleNativePath_full_name=NULL;
+
+    ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleILPath_full_name != NULL);
+    if(ModuleILPath_full_name == NULL){goto LExit;}
+
+    ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
+    if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleNativePath_full_name != NULL);
+    if(ModuleNativePath_full_name == NULL){goto LExit;}
+
+    ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
+    if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        DomainModuleDCStart,
+        ModuleID,
+        AssemblyID,
+        AppDomainID,
+        ModuleFlags,
+        Reserved1,
+        ModuleILPath_full_name,
+        ModuleNativePath_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
+        if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDomainModuleDCStart_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwDomainModuleDCStart_V1(
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 AssemblyID,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned int ModuleFlags,
+                  const unsigned int Reserved1,
+                  PCWSTR ModuleILPath,
+                  PCWSTR ModuleNativePath,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDomainModuleDCStart_V1()){ return ERROR_SUCCESS;};
+    INT ModuleILPath_path_size = -1;
+    INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1;
+    CHAR* ModuleILPath_full_name=NULL;
+    INT ModuleNativePath_path_size = -1;
+    INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1;
+    CHAR* ModuleNativePath_full_name=NULL;
+
+    ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleILPath_full_name != NULL);
+    if(ModuleILPath_full_name == NULL){goto LExit;}
+
+    ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
+    if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleNativePath_full_name != NULL);
+    if(ModuleNativePath_full_name == NULL){goto LExit;}
+
+    ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
+    if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        DomainModuleDCStart_V1,
+        ModuleID,
+        AssemblyID,
+        AppDomainID,
+        ModuleFlags,
+        Reserved1,
+        ModuleILPath_full_name,
+        ModuleNativePath_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
+        if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDomainModuleDCEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwDomainModuleDCEnd(
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 AssemblyID,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned int ModuleFlags,
+                  const unsigned int Reserved1,
+                  PCWSTR ModuleILPath,
+                  PCWSTR ModuleNativePath
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDomainModuleDCEnd()){ return ERROR_SUCCESS;};
+    INT ModuleILPath_path_size = -1;
+    INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1;
+    CHAR* ModuleILPath_full_name=NULL;
+    INT ModuleNativePath_path_size = -1;
+    INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1;
+    CHAR* ModuleNativePath_full_name=NULL;
+
+    ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleILPath_full_name != NULL);
+    if(ModuleILPath_full_name == NULL){goto LExit;}
+
+    ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
+    if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleNativePath_full_name != NULL);
+    if(ModuleNativePath_full_name == NULL){goto LExit;}
+
+    ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
+    if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        DomainModuleDCEnd,
+        ModuleID,
+        AssemblyID,
+        AppDomainID,
+        ModuleFlags,
+        Reserved1,
+        ModuleILPath_full_name,
+        ModuleNativePath_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
+        if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledDomainModuleDCEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwDomainModuleDCEnd_V1(
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 AssemblyID,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned int ModuleFlags,
+                  const unsigned int Reserved1,
+                  PCWSTR ModuleILPath,
+                  PCWSTR ModuleNativePath,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledDomainModuleDCEnd_V1()){ return ERROR_SUCCESS;};
+    INT ModuleILPath_path_size = -1;
+    INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1;
+    CHAR* ModuleILPath_full_name=NULL;
+    INT ModuleNativePath_path_size = -1;
+    INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1;
+    CHAR* ModuleNativePath_full_name=NULL;
+
+    ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleILPath_full_name != NULL);
+    if(ModuleILPath_full_name == NULL){goto LExit;}
+
+    ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
+    if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleNativePath_full_name != NULL);
+    if(ModuleNativePath_full_name == NULL){goto LExit;}
+
+    ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
+    if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        DomainModuleDCEnd_V1,
+        ModuleID,
+        AssemblyID,
+        AppDomainID,
+        ModuleFlags,
+        Reserved1,
+        ModuleILPath_full_name,
+        ModuleNativePath_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
+        if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledModuleDCStart(){ return TRUE;}
+extern "C" ULONG  FireEtwModuleDCStart(
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 AssemblyID,
+                  const unsigned int ModuleFlags,
+                  const unsigned int Reserved1,
+                  PCWSTR ModuleILPath,
+                  PCWSTR ModuleNativePath
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledModuleDCStart()){ return ERROR_SUCCESS;};
+    INT ModuleILPath_path_size = -1;
+    INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1;
+    CHAR* ModuleILPath_full_name=NULL;
+    INT ModuleNativePath_path_size = -1;
+    INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1;
+    CHAR* ModuleNativePath_full_name=NULL;
+
+    ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleILPath_full_name != NULL);
+    if(ModuleILPath_full_name == NULL){goto LExit;}
+
+    ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
+    if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleNativePath_full_name != NULL);
+    if(ModuleNativePath_full_name == NULL){goto LExit;}
+
+    ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
+    if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        ModuleDCStart,
+        ModuleID,
+        AssemblyID,
+        ModuleFlags,
+        Reserved1,
+        ModuleILPath_full_name,
+        ModuleNativePath_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
+        if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledModuleDCStart_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwModuleDCStart_V1(
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 AssemblyID,
+                  const unsigned int ModuleFlags,
+                  const unsigned int Reserved1,
+                  PCWSTR ModuleILPath,
+                  PCWSTR ModuleNativePath,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledModuleDCStart_V1()){ return ERROR_SUCCESS;};
+    INT ModuleILPath_path_size = -1;
+    INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1;
+    CHAR* ModuleILPath_full_name=NULL;
+    INT ModuleNativePath_path_size = -1;
+    INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1;
+    CHAR* ModuleNativePath_full_name=NULL;
+
+    ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleILPath_full_name != NULL);
+    if(ModuleILPath_full_name == NULL){goto LExit;}
+
+    ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
+    if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleNativePath_full_name != NULL);
+    if(ModuleNativePath_full_name == NULL){goto LExit;}
+
+    ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
+    if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        ModuleDCStart_V1,
+        ModuleID,
+        AssemblyID,
+        ModuleFlags,
+        Reserved1,
+        ModuleILPath_full_name,
+        ModuleNativePath_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
+        if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledModuleDCStart_V2(){ return TRUE;}
+extern "C" ULONG  FireEtwModuleDCStart_V2(
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 AssemblyID,
+                  const unsigned int ModuleFlags,
+                  const unsigned int Reserved1,
+                  PCWSTR ModuleILPath,
+                  PCWSTR ModuleNativePath,
+                  const unsigned short ClrInstanceID,
+                  const GUID* ManagedPdbSignature,
+                  const unsigned int ManagedPdbAge,
+                  PCWSTR ManagedPdbBuildPath,
+                  const GUID* NativePdbSignature,
+                  const unsigned int NativePdbAge,
+                  PCWSTR NativePdbBuildPath
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledModuleDCStart_V2()){ return ERROR_SUCCESS;};
+    INT ModuleILPath_path_size = -1;
+    INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1;
+    CHAR* ModuleILPath_full_name=NULL;
+    INT ModuleNativePath_path_size = -1;
+    INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1;
+    CHAR* ModuleNativePath_full_name=NULL;
+    INT ManagedPdbBuildPath_path_size = -1;
+    INT ManagedPdbBuildPath_full_name_path_size = PAL_wcslen(ManagedPdbBuildPath) + 1;
+    CHAR* ManagedPdbBuildPath_full_name=NULL;
+    INT NativePdbBuildPath_path_size = -1;
+    INT NativePdbBuildPath_full_name_path_size = PAL_wcslen(NativePdbBuildPath) + 1;
+    CHAR* NativePdbBuildPath_full_name=NULL;
+
+    ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleILPath_full_name != NULL);
+    if(ModuleILPath_full_name == NULL){goto LExit;}
+
+    ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
+    if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleNativePath_full_name != NULL);
+    if(ModuleNativePath_full_name == NULL){goto LExit;}
+
+    ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
+    if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ManagedPdbBuildPath_full_name = (CHAR*)malloc(ManagedPdbBuildPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ManagedPdbBuildPath_full_name != NULL);
+    if(ManagedPdbBuildPath_full_name == NULL){goto LExit;}
+
+    ManagedPdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedPdbBuildPath, -1, ManagedPdbBuildPath_full_name, ManagedPdbBuildPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ManagedPdbBuildPath_path_size == ManagedPdbBuildPath_full_name_path_size );
+    if( ManagedPdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    NativePdbBuildPath_full_name = (CHAR*)malloc(NativePdbBuildPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(NativePdbBuildPath_full_name != NULL);
+    if(NativePdbBuildPath_full_name == NULL){goto LExit;}
+
+    NativePdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, NativePdbBuildPath, -1, NativePdbBuildPath_full_name, NativePdbBuildPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(NativePdbBuildPath_path_size == NativePdbBuildPath_full_name_path_size );
+    if( NativePdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                                    
+     tracepoint(
+        DotNETRuntimeRundown,
+        ModuleDCStart_V2,
+        ModuleID,
+        AssemblyID,
+        ModuleFlags,
+        Reserved1,
+        ModuleILPath_full_name,
+        ModuleNativePath_full_name,
+        ClrInstanceID,
+        (const int*) ManagedPdbSignature,
+        ManagedPdbAge,
+        ManagedPdbBuildPath_full_name
+        );
+
+     tracepoint(
+        DotNETRuntimeRundown,
+        ModuleDCStart_V2_1,
+        (const int*) NativePdbSignature,
+        NativePdbAge,
+        NativePdbBuildPath_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (NativePdbBuildPath_full_name != NULL) {free(NativePdbBuildPath_full_name);}
+        if (ManagedPdbBuildPath_full_name != NULL) {free(ManagedPdbBuildPath_full_name);}
+        if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
+        if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledModuleDCEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwModuleDCEnd(
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 AssemblyID,
+                  const unsigned int ModuleFlags,
+                  const unsigned int Reserved1,
+                  PCWSTR ModuleILPath,
+                  PCWSTR ModuleNativePath
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledModuleDCEnd()){ return ERROR_SUCCESS;};
+    INT ModuleILPath_path_size = -1;
+    INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1;
+    CHAR* ModuleILPath_full_name=NULL;
+    INT ModuleNativePath_path_size = -1;
+    INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1;
+    CHAR* ModuleNativePath_full_name=NULL;
+
+    ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleILPath_full_name != NULL);
+    if(ModuleILPath_full_name == NULL){goto LExit;}
+
+    ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
+    if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleNativePath_full_name != NULL);
+    if(ModuleNativePath_full_name == NULL){goto LExit;}
+
+    ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
+    if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        ModuleDCEnd,
+        ModuleID,
+        AssemblyID,
+        ModuleFlags,
+        Reserved1,
+        ModuleILPath_full_name,
+        ModuleNativePath_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
+        if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledModuleDCEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwModuleDCEnd_V1(
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 AssemblyID,
+                  const unsigned int ModuleFlags,
+                  const unsigned int Reserved1,
+                  PCWSTR ModuleILPath,
+                  PCWSTR ModuleNativePath,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledModuleDCEnd_V1()){ return ERROR_SUCCESS;};
+    INT ModuleILPath_path_size = -1;
+    INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1;
+    CHAR* ModuleILPath_full_name=NULL;
+    INT ModuleNativePath_path_size = -1;
+    INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1;
+    CHAR* ModuleNativePath_full_name=NULL;
+
+    ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleILPath_full_name != NULL);
+    if(ModuleILPath_full_name == NULL){goto LExit;}
+
+    ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
+    if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleNativePath_full_name != NULL);
+    if(ModuleNativePath_full_name == NULL){goto LExit;}
+
+    ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
+    if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        ModuleDCEnd_V1,
+        ModuleID,
+        AssemblyID,
+        ModuleFlags,
+        Reserved1,
+        ModuleILPath_full_name,
+        ModuleNativePath_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
+        if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledModuleDCEnd_V2(){ return TRUE;}
+extern "C" ULONG  FireEtwModuleDCEnd_V2(
+                  const unsigned __int64 ModuleID,
+                  const unsigned __int64 AssemblyID,
+                  const unsigned int ModuleFlags,
+                  const unsigned int Reserved1,
+                  PCWSTR ModuleILPath,
+                  PCWSTR ModuleNativePath,
+                  const unsigned short ClrInstanceID,
+                  const GUID* ManagedPdbSignature,
+                  const unsigned int ManagedPdbAge,
+                  PCWSTR ManagedPdbBuildPath,
+                  const GUID* NativePdbSignature,
+                  const unsigned int NativePdbAge,
+                  PCWSTR NativePdbBuildPath
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledModuleDCEnd_V2()){ return ERROR_SUCCESS;};
+    INT ModuleILPath_path_size = -1;
+    INT ModuleILPath_full_name_path_size = PAL_wcslen(ModuleILPath) + 1;
+    CHAR* ModuleILPath_full_name=NULL;
+    INT ModuleNativePath_path_size = -1;
+    INT ModuleNativePath_full_name_path_size = PAL_wcslen(ModuleNativePath) + 1;
+    CHAR* ModuleNativePath_full_name=NULL;
+    INT ManagedPdbBuildPath_path_size = -1;
+    INT ManagedPdbBuildPath_full_name_path_size = PAL_wcslen(ManagedPdbBuildPath) + 1;
+    CHAR* ManagedPdbBuildPath_full_name=NULL;
+    INT NativePdbBuildPath_path_size = -1;
+    INT NativePdbBuildPath_full_name_path_size = PAL_wcslen(NativePdbBuildPath) + 1;
+    CHAR* NativePdbBuildPath_full_name=NULL;
+
+    ModuleILPath_full_name = (CHAR*)malloc(ModuleILPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleILPath_full_name != NULL);
+    if(ModuleILPath_full_name == NULL){goto LExit;}
+
+    ModuleILPath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleILPath, -1, ModuleILPath_full_name, ModuleILPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleILPath_path_size == ModuleILPath_full_name_path_size );
+    if( ModuleILPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ModuleNativePath_full_name = (CHAR*)malloc(ModuleNativePath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ModuleNativePath_full_name != NULL);
+    if(ModuleNativePath_full_name == NULL){goto LExit;}
+
+    ModuleNativePath_path_size = WideCharToMultiByte( CP_ACP, 0, ModuleNativePath, -1, ModuleNativePath_full_name, ModuleNativePath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ModuleNativePath_path_size == ModuleNativePath_full_name_path_size );
+    if( ModuleNativePath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    ManagedPdbBuildPath_full_name = (CHAR*)malloc(ManagedPdbBuildPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(ManagedPdbBuildPath_full_name != NULL);
+    if(ManagedPdbBuildPath_full_name == NULL){goto LExit;}
+
+    ManagedPdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, ManagedPdbBuildPath, -1, ManagedPdbBuildPath_full_name, ManagedPdbBuildPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(ManagedPdbBuildPath_path_size == ManagedPdbBuildPath_full_name_path_size );
+    if( ManagedPdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    NativePdbBuildPath_full_name = (CHAR*)malloc(NativePdbBuildPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(NativePdbBuildPath_full_name != NULL);
+    if(NativePdbBuildPath_full_name == NULL){goto LExit;}
+
+    NativePdbBuildPath_path_size = WideCharToMultiByte( CP_ACP, 0, NativePdbBuildPath, -1, NativePdbBuildPath_full_name, NativePdbBuildPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(NativePdbBuildPath_path_size == NativePdbBuildPath_full_name_path_size );
+    if( NativePdbBuildPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                                    
+     tracepoint(
+        DotNETRuntimeRundown,
+        ModuleDCEnd_V2,
+        ModuleID,
+        AssemblyID,
+        ModuleFlags,
+        Reserved1,
+        ModuleILPath_full_name,
+        ModuleNativePath_full_name,
+        ClrInstanceID,
+        (const int*) ManagedPdbSignature,
+        ManagedPdbAge,
+        ManagedPdbBuildPath_full_name
+        );
+
+     tracepoint(
+        DotNETRuntimeRundown,
+        ModuleDCEnd_V2_1,
+        (const int*) NativePdbSignature,
+        NativePdbAge,
+        NativePdbBuildPath_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (NativePdbBuildPath_full_name != NULL) {free(NativePdbBuildPath_full_name);}
+        if (ManagedPdbBuildPath_full_name != NULL) {free(ManagedPdbBuildPath_full_name);}
+        if (ModuleNativePath_full_name != NULL) {free(ModuleNativePath_full_name);}
+        if (ModuleILPath_full_name != NULL) {free(ModuleILPath_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAssemblyDCStart(){ return TRUE;}
+extern "C" ULONG  FireEtwAssemblyDCStart(
+                  const unsigned __int64 AssemblyID,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned int AssemblyFlags,
+                  PCWSTR FullyQualifiedAssemblyName
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAssemblyDCStart()){ return ERROR_SUCCESS;};
+    INT FullyQualifiedAssemblyName_path_size = -1;
+    INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1;
+    CHAR* FullyQualifiedAssemblyName_full_name=NULL;
+
+    FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
+    if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
+
+    FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
+    if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        AssemblyDCStart,
+        AssemblyID,
+        AppDomainID,
+        AssemblyFlags,
+        FullyQualifiedAssemblyName_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAssemblyDCStart_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwAssemblyDCStart_V1(
+                  const unsigned __int64 AssemblyID,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned __int64 BindingID,
+                  const unsigned int AssemblyFlags,
+                  PCWSTR FullyQualifiedAssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAssemblyDCStart_V1()){ return ERROR_SUCCESS;};
+    INT FullyQualifiedAssemblyName_path_size = -1;
+    INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1;
+    CHAR* FullyQualifiedAssemblyName_full_name=NULL;
+
+    FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
+    if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
+
+    FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
+    if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        AssemblyDCStart_V1,
+        AssemblyID,
+        AppDomainID,
+        BindingID,
+        AssemblyFlags,
+        FullyQualifiedAssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAssemblyDCEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwAssemblyDCEnd(
+                  const unsigned __int64 AssemblyID,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned int AssemblyFlags,
+                  PCWSTR FullyQualifiedAssemblyName
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAssemblyDCEnd()){ return ERROR_SUCCESS;};
+    INT FullyQualifiedAssemblyName_path_size = -1;
+    INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1;
+    CHAR* FullyQualifiedAssemblyName_full_name=NULL;
+
+    FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
+    if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
+
+    FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
+    if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        AssemblyDCEnd,
+        AssemblyID,
+        AppDomainID,
+        AssemblyFlags,
+        FullyQualifiedAssemblyName_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAssemblyDCEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwAssemblyDCEnd_V1(
+                  const unsigned __int64 AssemblyID,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned __int64 BindingID,
+                  const unsigned int AssemblyFlags,
+                  PCWSTR FullyQualifiedAssemblyName,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAssemblyDCEnd_V1()){ return ERROR_SUCCESS;};
+    INT FullyQualifiedAssemblyName_path_size = -1;
+    INT FullyQualifiedAssemblyName_full_name_path_size = PAL_wcslen(FullyQualifiedAssemblyName) + 1;
+    CHAR* FullyQualifiedAssemblyName_full_name=NULL;
+
+    FullyQualifiedAssemblyName_full_name = (CHAR*)malloc(FullyQualifiedAssemblyName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(FullyQualifiedAssemblyName_full_name != NULL);
+    if(FullyQualifiedAssemblyName_full_name == NULL){goto LExit;}
+
+    FullyQualifiedAssemblyName_path_size = WideCharToMultiByte( CP_ACP, 0, FullyQualifiedAssemblyName, -1, FullyQualifiedAssemblyName_full_name, FullyQualifiedAssemblyName_full_name_path_size, NULL, NULL );
+    _ASSERTE(FullyQualifiedAssemblyName_path_size == FullyQualifiedAssemblyName_full_name_path_size );
+    if( FullyQualifiedAssemblyName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        AssemblyDCEnd_V1,
+        AssemblyID,
+        AppDomainID,
+        BindingID,
+        AssemblyFlags,
+        FullyQualifiedAssemblyName_full_name,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (FullyQualifiedAssemblyName_full_name != NULL) {free(FullyQualifiedAssemblyName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAppDomainDCStart(){ return TRUE;}
+extern "C" ULONG  FireEtwAppDomainDCStart(
+                  const unsigned __int64 AppDomainID,
+                  const unsigned int AppDomainFlags,
+                  PCWSTR AppDomainName
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAppDomainDCStart()){ return ERROR_SUCCESS;};
+    INT AppDomainName_path_size = -1;
+    INT AppDomainName_full_name_path_size = PAL_wcslen(AppDomainName) + 1;
+    CHAR* AppDomainName_full_name=NULL;
+
+    AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AppDomainName_full_name != NULL);
+    if(AppDomainName_full_name == NULL){goto LExit;}
+
+    AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size );
+    if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        AppDomainDCStart,
+        AppDomainID,
+        AppDomainFlags,
+        AppDomainName_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAppDomainDCStart_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwAppDomainDCStart_V1(
+                  const unsigned __int64 AppDomainID,
+                  const unsigned int AppDomainFlags,
+                  PCWSTR AppDomainName,
+                  const unsigned int AppDomainIndex,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAppDomainDCStart_V1()){ return ERROR_SUCCESS;};
+    INT AppDomainName_path_size = -1;
+    INT AppDomainName_full_name_path_size = PAL_wcslen(AppDomainName) + 1;
+    CHAR* AppDomainName_full_name=NULL;
+
+    AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AppDomainName_full_name != NULL);
+    if(AppDomainName_full_name == NULL){goto LExit;}
+
+    AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size );
+    if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        AppDomainDCStart_V1,
+        AppDomainID,
+        AppDomainFlags,
+        AppDomainName_full_name,
+        AppDomainIndex,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAppDomainDCEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwAppDomainDCEnd(
+                  const unsigned __int64 AppDomainID,
+                  const unsigned int AppDomainFlags,
+                  PCWSTR AppDomainName
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAppDomainDCEnd()){ return ERROR_SUCCESS;};
+    INT AppDomainName_path_size = -1;
+    INT AppDomainName_full_name_path_size = PAL_wcslen(AppDomainName) + 1;
+    CHAR* AppDomainName_full_name=NULL;
+
+    AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AppDomainName_full_name != NULL);
+    if(AppDomainName_full_name == NULL){goto LExit;}
+
+    AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size );
+    if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        AppDomainDCEnd,
+        AppDomainID,
+        AppDomainFlags,
+        AppDomainName_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledAppDomainDCEnd_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwAppDomainDCEnd_V1(
+                  const unsigned __int64 AppDomainID,
+                  const unsigned int AppDomainFlags,
+                  PCWSTR AppDomainName,
+                  const unsigned int AppDomainIndex,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledAppDomainDCEnd_V1()){ return ERROR_SUCCESS;};
+    INT AppDomainName_path_size = -1;
+    INT AppDomainName_full_name_path_size = PAL_wcslen(AppDomainName) + 1;
+    CHAR* AppDomainName_full_name=NULL;
+
+    AppDomainName_full_name = (CHAR*)malloc(AppDomainName_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(AppDomainName_full_name != NULL);
+    if(AppDomainName_full_name == NULL){goto LExit;}
+
+    AppDomainName_path_size = WideCharToMultiByte( CP_ACP, 0, AppDomainName, -1, AppDomainName_full_name, AppDomainName_full_name_path_size, NULL, NULL );
+    _ASSERTE(AppDomainName_path_size == AppDomainName_full_name_path_size );
+    if( AppDomainName_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        AppDomainDCEnd_V1,
+        AppDomainID,
+        AppDomainFlags,
+        AppDomainName_full_name,
+        AppDomainIndex,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (AppDomainName_full_name != NULL) {free(AppDomainName_full_name);}
+
+return Error;
+}
+extern "C" BOOL  EventEnabledThreadDC(){ return TRUE;}
+extern "C" ULONG  FireEtwThreadDC(
+                  const unsigned __int64 ManagedThreadID,
+                  const unsigned __int64 AppDomainID,
+                  const unsigned int Flags,
+                  const unsigned int ManagedThreadIndex,
+                  const unsigned int OSThreadID,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledThreadDC()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        ThreadDC,
+        ManagedThreadID,
+        AppDomainID,
+        Flags,
+        ManagedThreadIndex,
+        OSThreadID,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledModuleRangeDCStart(){ return TRUE;}
+extern "C" ULONG  FireEtwModuleRangeDCStart(
+                  const unsigned short ClrInstanceID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned int RangeBegin,
+                  const unsigned int RangeSize,
+                  const unsigned char RangeType
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledModuleRangeDCStart()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        ModuleRangeDCStart,
+        ClrInstanceID,
+        ModuleID,
+        RangeBegin,
+        RangeSize,
+        RangeType
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledModuleRangeDCEnd(){ return TRUE;}
+extern "C" ULONG  FireEtwModuleRangeDCEnd(
+                  const unsigned short ClrInstanceID,
+                  const unsigned __int64 ModuleID,
+                  const unsigned int RangeBegin,
+                  const unsigned int RangeSize,
+                  const unsigned char RangeType
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledModuleRangeDCEnd()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimeRundown,
+        ModuleRangeDCEnd,
+        ClrInstanceID,
+        ModuleID,
+        RangeBegin,
+        RangeSize,
+        RangeType
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledRuntimeInformationDCStart(){ return TRUE;}
+extern "C" ULONG  FireEtwRuntimeInformationDCStart(
+                  const unsigned short ClrInstanceID,
+                  const unsigned short Sku,
+                  const unsigned short BclMajorVersion,
+                  const unsigned short BclMinorVersion,
+                  const unsigned short BclBuildNumber,
+                  const unsigned short BclQfeNumber,
+                  const unsigned short VMMajorVersion,
+                  const unsigned short VMMinorVersion,
+                  const unsigned short VMBuildNumber,
+                  const unsigned short VMQfeNumber,
+                  const unsigned int StartupFlags,
+                  const unsigned char StartupMode,
+                  PCWSTR CommandLine,
+                  const GUID* ComObjectGuid,
+                  PCWSTR RuntimeDllPath
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledRuntimeInformationDCStart()){ return ERROR_SUCCESS;};
+    INT CommandLine_path_size = -1;
+    INT CommandLine_full_name_path_size = PAL_wcslen(CommandLine) + 1;
+    CHAR* CommandLine_full_name=NULL;
+    INT RuntimeDllPath_path_size = -1;
+    INT RuntimeDllPath_full_name_path_size = PAL_wcslen(RuntimeDllPath) + 1;
+    CHAR* RuntimeDllPath_full_name=NULL;
+
+    CommandLine_full_name = (CHAR*)malloc(CommandLine_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(CommandLine_full_name != NULL);
+    if(CommandLine_full_name == NULL){goto LExit;}
+
+    CommandLine_path_size = WideCharToMultiByte( CP_ACP, 0, CommandLine, -1, CommandLine_full_name, CommandLine_full_name_path_size, NULL, NULL );
+    _ASSERTE(CommandLine_path_size == CommandLine_full_name_path_size );
+    if( CommandLine_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+    RuntimeDllPath_full_name = (CHAR*)malloc(RuntimeDllPath_full_name_path_size*sizeof(CHAR));
+    _ASSERTE(RuntimeDllPath_full_name != NULL);
+    if(RuntimeDllPath_full_name == NULL){goto LExit;}
+
+    RuntimeDllPath_path_size = WideCharToMultiByte( CP_ACP, 0, RuntimeDllPath, -1, RuntimeDllPath_full_name, RuntimeDllPath_full_name_path_size, NULL, NULL );
+    _ASSERTE(RuntimeDllPath_path_size == RuntimeDllPath_full_name_path_size );
+    if( RuntimeDllPath_path_size == 0 ){ Error = ERROR_INVALID_PARAMETER; goto LExit;}
+                                                    
+     tracepoint(
+        DotNETRuntimeRundown,
+        RuntimeInformationDCStart,
+        ClrInstanceID,
+        Sku,
+        BclMajorVersion,
+        BclMinorVersion,
+        BclBuildNumber,
+        BclQfeNumber,
+        VMMajorVersion,
+        VMMinorVersion,
+        VMBuildNumber,
+        VMQfeNumber
+        );
+
+     tracepoint(
+        DotNETRuntimeRundown,
+        RuntimeInformationDCStart_1,
+        StartupFlags,
+        StartupMode,
+        CommandLine_full_name,
+        (const int*) ComObjectGuid,
+        RuntimeDllPath_full_name
+        );
+
+        Error = ERROR_SUCCESS;
+LExit:
+        if (RuntimeDllPath_full_name != NULL) {free(RuntimeDllPath_full_name);}
+        if (CommandLine_full_name != NULL) {free(CommandLine_full_name);}
+
+return Error;
+}
diff --git a/src/pal/src/eventprovider/lttng/eventprovdotnetruntimestress.cpp b/src/pal/src/eventprovider/lttng/eventprovdotnetruntimestress.cpp
new file mode 100644 (file)
index 0000000..73cdcb8
--- /dev/null
@@ -0,0 +1,91 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
+
+******************************************************************/
+
+
+#define TRACEPOINT_DEFINE
+#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE
+#include "lttng/tpdotnetruntimestress.h"
+extern "C" BOOL  EventEnabledStressLogEvent(){ return TRUE;}
+extern "C" ULONG  FireEtwStressLogEvent(
+                  const unsigned int Facility,
+                  const unsigned char LogLevel,
+                  LPCSTR Message
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledStressLogEvent()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimeStress,
+        StressLogEvent,
+        Facility,
+        LogLevel,
+        Message
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledStressLogEvent_V1(){ return TRUE;}
+extern "C" ULONG  FireEtwStressLogEvent_V1(
+                  const unsigned int Facility,
+                  const unsigned char LogLevel,
+                  LPCSTR Message,
+                  const unsigned short ClrInstanceID
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledStressLogEvent_V1()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimeStress,
+        StressLogEvent_V1,
+        Facility,
+        LogLevel,
+        Message,
+        ClrInstanceID
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
+extern "C" BOOL  EventEnabledCLRStackWalkStress(){ return TRUE;}
+extern "C" ULONG  FireEtwCLRStackWalkStress(
+                  const unsigned short ClrInstanceID,
+                  const unsigned char Reserved1,
+                  const unsigned char Reserved2,
+                  const unsigned int FrameCount,
+                  const void** Stack
+)
+{
+  ULONG Error = ERROR_WRITE_FAULT;
+    if (!EventEnabledCLRStackWalkStress()){ return ERROR_SUCCESS;};
+
+                                
+     tracepoint(
+        DotNETRuntimeStress,
+        CLRStackWalkStress,
+        ClrInstanceID,
+        Reserved1,
+        Reserved2,
+        FrameCount,
+        (const size_t*) Stack
+        );
+
+        Error = ERROR_SUCCESS;
+
+return Error;
+}
diff --git a/src/pal/src/eventprovider/lttng/tpdotnetruntime.h b/src/pal/src/eventprovider/lttng/tpdotnetruntime.h
new file mode 100644 (file)
index 0000000..0b3c8a7
--- /dev/null
@@ -0,0 +1,3208 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
+
+******************************************************************/
+
+
+#include "palrt.h"
+#include "pal.h"
+
+#undef TRACEPOINT_PROVIDER
+#define TRACEPOINT_PROVIDER DotNETRuntime
+
+#undef TRACEPOINT_INCLUDE
+#define TRACEPOINT_INCLUDE "./lttng/tpdotnetruntime.h"
+
+#if !defined(LTTNG_CORECLR_HDotNETRuntime) || defined(TRACEPOINT_HEADER_MULTI_READ)
+#define LTTNG_CORECLR_HDotNETRuntime
+
+#include <lttng/tracepoint.h>
+
+
+#define StrongNameVerification_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,VerificationFlags,\
+        const unsigned int ,ErrorCode,\
+        const char* ,FullyQualifiedAssemblyName\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    StrongNameVerification,
+    StrongNameVerification_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,VerificationFlags,VerificationFlags)
+        ctf_integer(unsigned int,ErrorCode,ErrorCode)
+        ctf_string(FullyQualifiedAssemblyName,FullyQualifiedAssemblyName)
+    )
+)
+#define StrongNameVerificationT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    StrongNameVerification ,\
+    name ,\
+    StrongNameVerification_TRACEPOINT_ARGS \
+)
+
+#define StrongNameVerification_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,VerificationFlags,\
+        const unsigned int ,ErrorCode,\
+        const char* ,FullyQualifiedAssemblyName,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    StrongNameVerification_V1,
+    StrongNameVerification_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,VerificationFlags,VerificationFlags)
+        ctf_integer(unsigned int,ErrorCode,ErrorCode)
+        ctf_string(FullyQualifiedAssemblyName,FullyQualifiedAssemblyName)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define StrongNameVerification_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    StrongNameVerification_V1 ,\
+    name ,\
+    StrongNameVerification_V1_TRACEPOINT_ARGS \
+)
+
+#define AuthenticodeVerification_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,VerificationFlags,\
+        const unsigned int ,ErrorCode,\
+        const char* ,ModulePath\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    AuthenticodeVerification,
+    AuthenticodeVerification_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,VerificationFlags,VerificationFlags)
+        ctf_integer(unsigned int,ErrorCode,ErrorCode)
+        ctf_string(ModulePath,ModulePath)
+    )
+)
+#define AuthenticodeVerificationT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    AuthenticodeVerification ,\
+    name ,\
+    AuthenticodeVerification_TRACEPOINT_ARGS \
+)
+
+#define AuthenticodeVerification_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,VerificationFlags,\
+        const unsigned int ,ErrorCode,\
+        const char* ,ModulePath,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    AuthenticodeVerification_V1,
+    AuthenticodeVerification_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,VerificationFlags,VerificationFlags)
+        ctf_integer(unsigned int,ErrorCode,ErrorCode)
+        ctf_string(ModulePath,ModulePath)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define AuthenticodeVerification_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    AuthenticodeVerification_V1 ,\
+    name ,\
+    AuthenticodeVerification_V1_TRACEPOINT_ARGS \
+)
+
+#define RuntimeInformation_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned short ,Sku,\
+        const unsigned short ,BclMajorVersion,\
+        const unsigned short ,BclMinorVersion,\
+        const unsigned short ,BclBuildNumber,\
+        const unsigned short ,BclQfeNumber,\
+        const unsigned short ,VMMajorVersion,\
+        const unsigned short ,VMMinorVersion,\
+        const unsigned short ,VMBuildNumber,\
+        const unsigned short ,VMQfeNumber\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    RuntimeInformation,
+    RuntimeInformation_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned short,Sku,Sku)
+        ctf_integer(unsigned short,BclMajorVersion,BclMajorVersion)
+        ctf_integer(unsigned short,BclMinorVersion,BclMinorVersion)
+        ctf_integer(unsigned short,BclBuildNumber,BclBuildNumber)
+        ctf_integer(unsigned short,BclQfeNumber,BclQfeNumber)
+        ctf_integer(unsigned short,VMMajorVersion,VMMajorVersion)
+        ctf_integer(unsigned short,VMMinorVersion,VMMinorVersion)
+        ctf_integer(unsigned short,VMBuildNumber,VMBuildNumber)
+        ctf_integer(unsigned short,VMQfeNumber,VMQfeNumber)
+    )
+)
+#define RuntimeInformationT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    RuntimeInformation ,\
+    name ,\
+    RuntimeInformation_TRACEPOINT_ARGS \
+)
+
+#define RuntimeInformation_1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,StartupFlags,\
+        const unsigned char ,StartupMode,\
+        const char* ,CommandLine,\
+        const int* ,ComObjectGuid,\
+        const char* ,RuntimeDllPath\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    RuntimeInformation_1,
+    RuntimeInformation_1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,StartupFlags,StartupFlags)
+        ctf_integer(unsigned char,StartupMode,StartupMode)
+        ctf_string(CommandLine,CommandLine)
+        ctf_sequence(int, ComObjectGuid, ComObjectGuid,size_t,sizeof(GUID)/sizeof(int))
+        ctf_string(RuntimeDllPath,RuntimeDllPath)
+    )
+)
+#define RuntimeInformation_1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    RuntimeInformation_1 ,\
+    name ,\
+    RuntimeInformation_1_TRACEPOINT_ARGS \
+)
+
+#define GCStart_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Count,\
+        const unsigned int ,Reason\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCStart,
+    GCStart_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Count,Count)
+        ctf_integer(unsigned int,Reason,Reason)
+    )
+)
+#define GCStartT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCStart ,\
+    name ,\
+    GCStart_TRACEPOINT_ARGS \
+)
+
+#define GCStart_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Count,\
+        const unsigned int ,Depth,\
+        const unsigned int ,Reason,\
+        const unsigned int ,Type,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCStart_V1,
+    GCStart_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Count,Count)
+        ctf_integer(unsigned int,Depth,Depth)
+        ctf_integer(unsigned int,Reason,Reason)
+        ctf_integer(unsigned int,Type,Type)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCStart_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCStart_V1 ,\
+    name ,\
+    GCStart_V1_TRACEPOINT_ARGS \
+)
+
+#define GCStart_V2_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Count,\
+        const unsigned int ,Depth,\
+        const unsigned int ,Reason,\
+        const unsigned int ,Type,\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned __int64 ,ClientSequenceNumber\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCStart_V2,
+    GCStart_V2_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Count,Count)
+        ctf_integer(unsigned int,Depth,Depth)
+        ctf_integer(unsigned int,Reason,Reason)
+        ctf_integer(unsigned int,Type,Type)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned __int64,ClientSequenceNumber,ClientSequenceNumber)
+    )
+)
+#define GCStart_V2T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCStart_V2 ,\
+    name ,\
+    GCStart_V2_TRACEPOINT_ARGS \
+)
+
+#define GCEnd_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Count,\
+        const unsigned short ,Depth\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCEnd,
+    GCEnd_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Count,Count)
+        ctf_integer(unsigned short,Depth,Depth)
+    )
+)
+#define GCEndT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCEnd ,\
+    name ,\
+    GCEnd_TRACEPOINT_ARGS \
+)
+
+#define GCEnd_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Count,\
+        const unsigned int ,Depth,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCEnd_V1,
+    GCEnd_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Count,Count)
+        ctf_integer(unsigned int,Depth,Depth)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCEnd_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCEnd_V1 ,\
+    name ,\
+    GCEnd_V1_TRACEPOINT_ARGS \
+)
+
+#define GCHeapStats_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,GenerationSize0,\
+        const unsigned __int64 ,TotalPromotedSize0,\
+        const unsigned __int64 ,GenerationSize1,\
+        const unsigned __int64 ,TotalPromotedSize1,\
+        const unsigned __int64 ,GenerationSize2,\
+        const unsigned __int64 ,TotalPromotedSize2,\
+        const unsigned __int64 ,GenerationSize3,\
+        const unsigned __int64 ,TotalPromotedSize3,\
+        const unsigned __int64 ,FinalizationPromotedSize,\
+        const unsigned __int64 ,FinalizationPromotedCount\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCHeapStats,
+    GCHeapStats_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,GenerationSize0,GenerationSize0)
+        ctf_integer(unsigned __int64,TotalPromotedSize0,TotalPromotedSize0)
+        ctf_integer(unsigned __int64,GenerationSize1,GenerationSize1)
+        ctf_integer(unsigned __int64,TotalPromotedSize1,TotalPromotedSize1)
+        ctf_integer(unsigned __int64,GenerationSize2,GenerationSize2)
+        ctf_integer(unsigned __int64,TotalPromotedSize2,TotalPromotedSize2)
+        ctf_integer(unsigned __int64,GenerationSize3,GenerationSize3)
+        ctf_integer(unsigned __int64,TotalPromotedSize3,TotalPromotedSize3)
+        ctf_integer(unsigned __int64,FinalizationPromotedSize,FinalizationPromotedSize)
+        ctf_integer(unsigned __int64,FinalizationPromotedCount,FinalizationPromotedCount)
+    )
+)
+#define GCHeapStatsT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCHeapStats ,\
+    name ,\
+    GCHeapStats_TRACEPOINT_ARGS \
+)
+
+#define GCHeapStats_1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,PinnedObjectCount,\
+        const unsigned int ,SinkBlockCount,\
+        const unsigned int ,GCHandleCount\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCHeapStats_1,
+    GCHeapStats_1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,PinnedObjectCount,PinnedObjectCount)
+        ctf_integer(unsigned int,SinkBlockCount,SinkBlockCount)
+        ctf_integer(unsigned int,GCHandleCount,GCHandleCount)
+    )
+)
+#define GCHeapStats_1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCHeapStats_1 ,\
+    name ,\
+    GCHeapStats_1_TRACEPOINT_ARGS \
+)
+
+#define GCHeapStats_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,GenerationSize0,\
+        const unsigned __int64 ,TotalPromotedSize0,\
+        const unsigned __int64 ,GenerationSize1,\
+        const unsigned __int64 ,TotalPromotedSize1,\
+        const unsigned __int64 ,GenerationSize2,\
+        const unsigned __int64 ,TotalPromotedSize2,\
+        const unsigned __int64 ,GenerationSize3,\
+        const unsigned __int64 ,TotalPromotedSize3,\
+        const unsigned __int64 ,FinalizationPromotedSize,\
+        const unsigned __int64 ,FinalizationPromotedCount\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCHeapStats_V1,
+    GCHeapStats_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,GenerationSize0,GenerationSize0)
+        ctf_integer(unsigned __int64,TotalPromotedSize0,TotalPromotedSize0)
+        ctf_integer(unsigned __int64,GenerationSize1,GenerationSize1)
+        ctf_integer(unsigned __int64,TotalPromotedSize1,TotalPromotedSize1)
+        ctf_integer(unsigned __int64,GenerationSize2,GenerationSize2)
+        ctf_integer(unsigned __int64,TotalPromotedSize2,TotalPromotedSize2)
+        ctf_integer(unsigned __int64,GenerationSize3,GenerationSize3)
+        ctf_integer(unsigned __int64,TotalPromotedSize3,TotalPromotedSize3)
+        ctf_integer(unsigned __int64,FinalizationPromotedSize,FinalizationPromotedSize)
+        ctf_integer(unsigned __int64,FinalizationPromotedCount,FinalizationPromotedCount)
+    )
+)
+#define GCHeapStats_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCHeapStats_V1 ,\
+    name ,\
+    GCHeapStats_V1_TRACEPOINT_ARGS \
+)
+
+#define GCHeapStats_V1_1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,PinnedObjectCount,\
+        const unsigned int ,SinkBlockCount,\
+        const unsigned int ,GCHandleCount,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCHeapStats_V1_1,
+    GCHeapStats_V1_1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,PinnedObjectCount,PinnedObjectCount)
+        ctf_integer(unsigned int,SinkBlockCount,SinkBlockCount)
+        ctf_integer(unsigned int,GCHandleCount,GCHandleCount)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCHeapStats_V1_1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCHeapStats_V1_1 ,\
+    name ,\
+    GCHeapStats_V1_1_TRACEPOINT_ARGS \
+)
+
+#define GCCreateSegment_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,Address,\
+        const unsigned __int64 ,Size,\
+        const unsigned int ,Type\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCCreateSegment,
+    GCCreateSegment_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,Address,Address)
+        ctf_integer(unsigned __int64,Size,Size)
+        ctf_integer(unsigned int,Type,Type)
+    )
+)
+#define GCCreateSegmentT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCCreateSegment ,\
+    name ,\
+    GCCreateSegment_TRACEPOINT_ARGS \
+)
+
+#define GCCreateSegment_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,Address,\
+        const unsigned __int64 ,Size,\
+        const unsigned int ,Type,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCCreateSegment_V1,
+    GCCreateSegment_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,Address,Address)
+        ctf_integer(unsigned __int64,Size,Size)
+        ctf_integer(unsigned int,Type,Type)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCCreateSegment_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCCreateSegment_V1 ,\
+    name ,\
+    GCCreateSegment_V1_TRACEPOINT_ARGS \
+)
+
+#define GCFreeSegment_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,Address\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCFreeSegment,
+    GCFreeSegment_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,Address,Address)
+    )
+)
+#define GCFreeSegmentT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCFreeSegment ,\
+    name ,\
+    GCFreeSegment_TRACEPOINT_ARGS \
+)
+
+#define GCFreeSegment_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,Address,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCFreeSegment_V1,
+    GCFreeSegment_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,Address,Address)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCFreeSegment_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCFreeSegment_V1 ,\
+    name ,\
+    GCFreeSegment_V1_TRACEPOINT_ARGS \
+)
+
+#define GCNoUserData_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCNoUserData,
+    GCNoUserData_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCNoUserDataT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCNoUserData ,\
+    name ,\
+    GCNoUserData_TRACEPOINT_ARGS \
+)
+
+#define GCSuspendEE_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,Reason\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCSuspendEE,
+    GCSuspendEE_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,Reason,Reason)
+    )
+)
+#define GCSuspendEET_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCSuspendEE ,\
+    name ,\
+    GCSuspendEE_TRACEPOINT_ARGS \
+)
+
+#define GCSuspendEE_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Reason,\
+        const unsigned int ,Count,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCSuspendEE_V1,
+    GCSuspendEE_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Reason,Reason)
+        ctf_integer(unsigned int,Count,Count)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCSuspendEE_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCSuspendEE_V1 ,\
+    name ,\
+    GCSuspendEE_V1_TRACEPOINT_ARGS \
+)
+
+#define GCAllocationTick_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,AllocationAmount,\
+        const unsigned int ,AllocationKind\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCAllocationTick,
+    GCAllocationTick_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,AllocationAmount,AllocationAmount)
+        ctf_integer(unsigned int,AllocationKind,AllocationKind)
+    )
+)
+#define GCAllocationTickT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCAllocationTick ,\
+    name ,\
+    GCAllocationTick_TRACEPOINT_ARGS \
+)
+
+#define GCAllocationTick_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,AllocationAmount,\
+        const unsigned int ,AllocationKind,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCAllocationTick_V1,
+    GCAllocationTick_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,AllocationAmount,AllocationAmount)
+        ctf_integer(unsigned int,AllocationKind,AllocationKind)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCAllocationTick_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCAllocationTick_V1 ,\
+    name ,\
+    GCAllocationTick_V1_TRACEPOINT_ARGS \
+)
+
+#define GCAllocationTick_V2_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,AllocationAmount,\
+        const unsigned int ,AllocationKind,\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned __int64 ,AllocationAmount64,\
+        const size_t ,TypeID,\
+        const char* ,TypeName,\
+        const unsigned int ,HeapIndex\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCAllocationTick_V2,
+    GCAllocationTick_V2_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,AllocationAmount,AllocationAmount)
+        ctf_integer(unsigned int,AllocationKind,AllocationKind)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned __int64,AllocationAmount64,AllocationAmount64)
+        ctf_integer(size_t,TypeID,TypeID)
+        ctf_string(TypeName,TypeName)
+        ctf_integer(unsigned int,HeapIndex,HeapIndex)
+    )
+)
+#define GCAllocationTick_V2T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCAllocationTick_V2 ,\
+    name ,\
+    GCAllocationTick_V2_TRACEPOINT_ARGS \
+)
+
+#define GCAllocationTick_V3_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,AllocationAmount,\
+        const unsigned int ,AllocationKind,\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned __int64 ,AllocationAmount64,\
+        const size_t ,TypeID,\
+        const char* ,TypeName,\
+        const unsigned int ,HeapIndex,\
+        const size_t ,Address\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCAllocationTick_V3,
+    GCAllocationTick_V3_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,AllocationAmount,AllocationAmount)
+        ctf_integer(unsigned int,AllocationKind,AllocationKind)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned __int64,AllocationAmount64,AllocationAmount64)
+        ctf_integer(size_t,TypeID,TypeID)
+        ctf_string(TypeName,TypeName)
+        ctf_integer(unsigned int,HeapIndex,HeapIndex)
+        ctf_integer(size_t,Address,Address)
+    )
+)
+#define GCAllocationTick_V3T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCAllocationTick_V3 ,\
+    name ,\
+    GCAllocationTick_V3_TRACEPOINT_ARGS \
+)
+
+#define GCCreateConcurrentThread_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCCreateConcurrentThread,
+    GCCreateConcurrentThread_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCCreateConcurrentThreadT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCCreateConcurrentThread ,\
+    name ,\
+    GCCreateConcurrentThread_TRACEPOINT_ARGS \
+)
+
+#define GCTerminateConcurrentThread_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCTerminateConcurrentThread,
+    GCTerminateConcurrentThread_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCTerminateConcurrentThreadT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCTerminateConcurrentThread ,\
+    name ,\
+    GCTerminateConcurrentThread_TRACEPOINT_ARGS \
+)
+
+#define GCFinalizersEnd_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Count\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCFinalizersEnd,
+    GCFinalizersEnd_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Count,Count)
+    )
+)
+#define GCFinalizersEndT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCFinalizersEnd ,\
+    name ,\
+    GCFinalizersEnd_TRACEPOINT_ARGS \
+)
+
+#define GCFinalizersEnd_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Count,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCFinalizersEnd_V1,
+    GCFinalizersEnd_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Count,Count)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCFinalizersEnd_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCFinalizersEnd_V1 ,\
+    name ,\
+    GCFinalizersEnd_V1_TRACEPOINT_ARGS \
+)
+
+#define GCMark_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,HeapNum,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCMark,
+    GCMark_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,HeapNum,HeapNum)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCMarkT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCMark ,\
+    name ,\
+    GCMark_TRACEPOINT_ARGS \
+)
+
+#define GCMarkWithType_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,HeapNum,\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned int ,Type,\
+        const unsigned __int64 ,Bytes\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCMarkWithType,
+    GCMarkWithType_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,HeapNum,HeapNum)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned int,Type,Type)
+        ctf_integer(unsigned __int64,Bytes,Bytes)
+    )
+)
+#define GCMarkWithTypeT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCMarkWithType ,\
+    name ,\
+    GCMarkWithType_TRACEPOINT_ARGS \
+)
+
+#define GCJoin_V2_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Heap,\
+        const unsigned int ,JoinTime,\
+        const unsigned int ,JoinType,\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned int ,JoinID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCJoin_V2,
+    GCJoin_V2_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Heap,Heap)
+        ctf_integer(unsigned int,JoinTime,JoinTime)
+        ctf_integer(unsigned int,JoinType,JoinType)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned int,JoinID,JoinID)
+    )
+)
+#define GCJoin_V2T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCJoin_V2 ,\
+    name ,\
+    GCJoin_V2_TRACEPOINT_ARGS \
+)
+
+#define GCPerHeapHistory_V3_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID,\
+        const size_t ,FreeListAllocated,\
+        const size_t ,FreeListRejected,\
+        const size_t ,EndOfSegAllocated,\
+        const size_t ,CondemnedAllocated,\
+        const size_t ,PinnedAllocated,\
+        const size_t ,PinnedAllocatedAdvance,\
+        const unsigned int ,RunningFreeListEfficiency,\
+        const unsigned int ,CondemnReasons0,\
+        const unsigned int ,CondemnReasons1\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCPerHeapHistory_V3,
+    GCPerHeapHistory_V3_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(size_t,FreeListAllocated,FreeListAllocated)
+        ctf_integer(size_t,FreeListRejected,FreeListRejected)
+        ctf_integer(size_t,EndOfSegAllocated,EndOfSegAllocated)
+        ctf_integer(size_t,CondemnedAllocated,CondemnedAllocated)
+        ctf_integer(size_t,PinnedAllocated,PinnedAllocated)
+        ctf_integer(size_t,PinnedAllocatedAdvance,PinnedAllocatedAdvance)
+        ctf_integer(unsigned int,RunningFreeListEfficiency,RunningFreeListEfficiency)
+        ctf_integer(unsigned int,CondemnReasons0,CondemnReasons0)
+        ctf_integer(unsigned int,CondemnReasons1,CondemnReasons1)
+    )
+)
+#define GCPerHeapHistory_V3T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCPerHeapHistory_V3 ,\
+    name ,\
+    GCPerHeapHistory_V3_TRACEPOINT_ARGS \
+)
+
+#define GCPerHeapHistory_V3_1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,CompactMechanisms,\
+        const unsigned int ,ExpandMechanisms,\
+        const unsigned int ,HeapIndex,\
+        const size_t ,ExtraGen0Commit,\
+        const unsigned int ,Count,\
+        const ULONG ,Arg15_Struct_Len_,\
+        const int* ,Arg15_Struct_Pointer_\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCPerHeapHistory_V3_1,
+    GCPerHeapHistory_V3_1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,CompactMechanisms,CompactMechanisms)
+        ctf_integer(unsigned int,ExpandMechanisms,ExpandMechanisms)
+        ctf_integer(unsigned int,HeapIndex,HeapIndex)
+        ctf_integer(size_t,ExtraGen0Commit,ExtraGen0Commit)
+        ctf_integer(unsigned int,Count,Count)
+        ctf_integer(ULONG,Arg15_Struct_Len_,Arg15_Struct_Len_)
+        ctf_sequence(int, Arg15_Struct_Pointer_, Arg15_Struct_Pointer_,size_t,Count*Arg15_Struct_Len_/sizeof(int))
+    )
+)
+#define GCPerHeapHistory_V3_1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCPerHeapHistory_V3_1 ,\
+    name ,\
+    GCPerHeapHistory_V3_1_TRACEPOINT_ARGS \
+)
+
+#define GCGlobalHeap_V2_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,FinalYoungestDesired,\
+        const signed int ,NumHeaps,\
+        const unsigned int ,CondemnedGeneration,\
+        const unsigned int ,Gen0ReductionCount,\
+        const unsigned int ,Reason,\
+        const unsigned int ,GlobalMechanisms,\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned int ,PauseMode,\
+        const unsigned int ,MemoryPressure\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCGlobalHeap_V2,
+    GCGlobalHeap_V2_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,FinalYoungestDesired,FinalYoungestDesired)
+        ctf_integer(signed int,NumHeaps,NumHeaps)
+        ctf_integer(unsigned int,CondemnedGeneration,CondemnedGeneration)
+        ctf_integer(unsigned int,Gen0ReductionCount,Gen0ReductionCount)
+        ctf_integer(unsigned int,Reason,Reason)
+        ctf_integer(unsigned int,GlobalMechanisms,GlobalMechanisms)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned int,PauseMode,PauseMode)
+        ctf_integer(unsigned int,MemoryPressure,MemoryPressure)
+    )
+)
+#define GCGlobalHeap_V2T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCGlobalHeap_V2 ,\
+    name ,\
+    GCGlobalHeap_V2_TRACEPOINT_ARGS \
+)
+
+#define FinalizeObject_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const size_t ,TypeID,\
+        const size_t ,ObjectID,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    FinalizeObject,
+    FinalizeObject_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(size_t,TypeID,TypeID)
+        ctf_integer(size_t,ObjectID,ObjectID)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define FinalizeObjectT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    FinalizeObject ,\
+    name ,\
+    FinalizeObject_TRACEPOINT_ARGS \
+)
+
+#define DestroyGCHandle_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const size_t ,HandleID,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    DestroyGCHandle,
+    DestroyGCHandle_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(size_t,HandleID,HandleID)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define DestroyGCHandleT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    DestroyGCHandle ,\
+    name ,\
+    DestroyGCHandle_TRACEPOINT_ARGS \
+)
+
+#define SetGCHandle_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const size_t ,HandleID,\
+        const size_t ,ObjectID,\
+        const unsigned int ,Kind,\
+        const unsigned int ,Generation,\
+        const unsigned __int64 ,AppDomainID,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    SetGCHandle,
+    SetGCHandle_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(size_t,HandleID,HandleID)
+        ctf_integer(size_t,ObjectID,ObjectID)
+        ctf_integer(unsigned int,Kind,Kind)
+        ctf_integer(unsigned int,Generation,Generation)
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define SetGCHandleT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    SetGCHandle ,\
+    name ,\
+    SetGCHandle_TRACEPOINT_ARGS \
+)
+
+#define GCTriggered_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Reason,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCTriggered,
+    GCTriggered_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Reason,Reason)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCTriggeredT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCTriggered ,\
+    name ,\
+    GCTriggered_TRACEPOINT_ARGS \
+)
+
+#define PinObjectAtGCTime_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const size_t ,HandleID,\
+        const size_t ,ObjectID,\
+        const unsigned __int64 ,ObjectSize,\
+        const char* ,TypeName,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    PinObjectAtGCTime,
+    PinObjectAtGCTime_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(size_t,HandleID,HandleID)
+        ctf_integer(size_t,ObjectID,ObjectID)
+        ctf_integer(unsigned __int64,ObjectSize,ObjectSize)
+        ctf_string(TypeName,TypeName)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define PinObjectAtGCTimeT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    PinObjectAtGCTime ,\
+    name ,\
+    PinObjectAtGCTime_TRACEPOINT_ARGS \
+)
+
+#define IncreaseMemoryPressure_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,BytesAllocated,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    IncreaseMemoryPressure,
+    IncreaseMemoryPressure_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,BytesAllocated,BytesAllocated)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define IncreaseMemoryPressureT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    IncreaseMemoryPressure ,\
+    name ,\
+    IncreaseMemoryPressure_TRACEPOINT_ARGS \
+)
+
+#define DecreaseMemoryPressure_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,BytesFreed,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    DecreaseMemoryPressure,
+    DecreaseMemoryPressure_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,BytesFreed,BytesFreed)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define DecreaseMemoryPressureT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    DecreaseMemoryPressure ,\
+    name ,\
+    DecreaseMemoryPressure_TRACEPOINT_ARGS \
+)
+
+#define ClrWorkerThread_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,WorkerThreadCount,\
+        const unsigned int ,RetiredWorkerThreads\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ClrWorkerThread,
+    ClrWorkerThread_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,WorkerThreadCount,WorkerThreadCount)
+        ctf_integer(unsigned int,RetiredWorkerThreads,RetiredWorkerThreads)
+    )
+)
+#define ClrWorkerThreadT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ClrWorkerThread ,\
+    name ,\
+    ClrWorkerThread_TRACEPOINT_ARGS \
+)
+
+#define IOThread_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,IOThreadCount,\
+        const unsigned int ,RetiredIOThreads\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    IOThread,
+    IOThread_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,IOThreadCount,IOThreadCount)
+        ctf_integer(unsigned int,RetiredIOThreads,RetiredIOThreads)
+    )
+)
+#define IOThreadT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    IOThread ,\
+    name ,\
+    IOThread_TRACEPOINT_ARGS \
+)
+
+#define IOThread_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,IOThreadCount,\
+        const unsigned int ,RetiredIOThreads,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    IOThread_V1,
+    IOThread_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,IOThreadCount,IOThreadCount)
+        ctf_integer(unsigned int,RetiredIOThreads,RetiredIOThreads)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define IOThread_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    IOThread_V1 ,\
+    name ,\
+    IOThread_V1_TRACEPOINT_ARGS \
+)
+
+#define ClrThreadPoolSuspend_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,ClrThreadID,\
+        const unsigned int ,CpuUtilization\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ClrThreadPoolSuspend,
+    ClrThreadPoolSuspend_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,ClrThreadID,ClrThreadID)
+        ctf_integer(unsigned int,CpuUtilization,CpuUtilization)
+    )
+)
+#define ClrThreadPoolSuspendT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ClrThreadPoolSuspend ,\
+    name ,\
+    ClrThreadPoolSuspend_TRACEPOINT_ARGS \
+)
+
+#define ThreadPoolWorkerThread_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,ActiveWorkerThreadCount,\
+        const unsigned int ,RetiredWorkerThreadCount,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ThreadPoolWorkerThread,
+    ThreadPoolWorkerThread_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,ActiveWorkerThreadCount,ActiveWorkerThreadCount)
+        ctf_integer(unsigned int,RetiredWorkerThreadCount,RetiredWorkerThreadCount)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define ThreadPoolWorkerThreadT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ThreadPoolWorkerThread ,\
+    name ,\
+    ThreadPoolWorkerThread_TRACEPOINT_ARGS \
+)
+
+#define ThreadPoolWorkerThreadAdjustmentSample_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const double ,Throughput,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ThreadPoolWorkerThreadAdjustmentSample,
+    ThreadPoolWorkerThreadAdjustmentSample_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_float(double,Throughput,Throughput)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define ThreadPoolWorkerThreadAdjustmentSampleT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ThreadPoolWorkerThreadAdjustmentSample ,\
+    name ,\
+    ThreadPoolWorkerThreadAdjustmentSample_TRACEPOINT_ARGS \
+)
+
+#define ThreadPoolWorkerThreadAdjustmentAdjustment_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const double ,AverageThroughput,\
+        const unsigned int ,NewWorkerThreadCount,\
+        const unsigned int ,Reason,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ThreadPoolWorkerThreadAdjustmentAdjustment,
+    ThreadPoolWorkerThreadAdjustmentAdjustment_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_float(double,AverageThroughput,AverageThroughput)
+        ctf_integer(unsigned int,NewWorkerThreadCount,NewWorkerThreadCount)
+        ctf_integer(unsigned int,Reason,Reason)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define ThreadPoolWorkerThreadAdjustmentAdjustmentT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ThreadPoolWorkerThreadAdjustmentAdjustment ,\
+    name ,\
+    ThreadPoolWorkerThreadAdjustmentAdjustment_TRACEPOINT_ARGS \
+)
+
+#define ThreadPoolWorkerThreadAdjustmentStats_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const double ,Duration,\
+        const double ,Throughput,\
+        const double ,ThreadWave,\
+        const double ,ThroughputWave,\
+        const double ,ThroughputErrorEstimate,\
+        const double ,AverageThroughputErrorEstimate,\
+        const double ,ThroughputRatio,\
+        const double ,Confidence,\
+        const double ,NewControlSetting,\
+        const unsigned short ,NewThreadWaveMagnitude\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ThreadPoolWorkerThreadAdjustmentStats,
+    ThreadPoolWorkerThreadAdjustmentStats_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_float(double,Duration,Duration)
+        ctf_float(double,Throughput,Throughput)
+        ctf_float(double,ThreadWave,ThreadWave)
+        ctf_float(double,ThroughputWave,ThroughputWave)
+        ctf_float(double,ThroughputErrorEstimate,ThroughputErrorEstimate)
+        ctf_float(double,AverageThroughputErrorEstimate,AverageThroughputErrorEstimate)
+        ctf_float(double,ThroughputRatio,ThroughputRatio)
+        ctf_float(double,Confidence,Confidence)
+        ctf_float(double,NewControlSetting,NewControlSetting)
+        ctf_integer(unsigned short,NewThreadWaveMagnitude,NewThreadWaveMagnitude)
+    )
+)
+#define ThreadPoolWorkerThreadAdjustmentStatsT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ThreadPoolWorkerThreadAdjustmentStats ,\
+    name ,\
+    ThreadPoolWorkerThreadAdjustmentStats_TRACEPOINT_ARGS \
+)
+
+#define ThreadPoolWorkerThreadAdjustmentStats_1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ThreadPoolWorkerThreadAdjustmentStats_1,
+    ThreadPoolWorkerThreadAdjustmentStats_1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define ThreadPoolWorkerThreadAdjustmentStats_1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ThreadPoolWorkerThreadAdjustmentStats_1 ,\
+    name ,\
+    ThreadPoolWorkerThreadAdjustmentStats_1_TRACEPOINT_ARGS \
+)
+
+#define ThreadPoolWork_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const size_t ,WorkID,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ThreadPoolWork,
+    ThreadPoolWork_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(size_t,WorkID,WorkID)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define ThreadPoolWorkT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ThreadPoolWork ,\
+    name ,\
+    ThreadPoolWork_TRACEPOINT_ARGS \
+)
+
+#define ThreadPoolIOWork_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const size_t ,NativeOverlapped,\
+        const size_t ,Overlapped,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ThreadPoolIOWork,
+    ThreadPoolIOWork_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(size_t,NativeOverlapped,NativeOverlapped)
+        ctf_integer(size_t,Overlapped,Overlapped)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define ThreadPoolIOWorkT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ThreadPoolIOWork ,\
+    name ,\
+    ThreadPoolIOWork_TRACEPOINT_ARGS \
+)
+
+#define ThreadPoolIOWorkEnqueue_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const size_t ,NativeOverlapped,\
+        const size_t ,Overlapped,\
+        const BOOL ,MultiDequeues,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ThreadPoolIOWorkEnqueue,
+    ThreadPoolIOWorkEnqueue_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(size_t,NativeOverlapped,NativeOverlapped)
+        ctf_integer(size_t,Overlapped,Overlapped)
+        ctf_integer(BOOL,MultiDequeues,MultiDequeues)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define ThreadPoolIOWorkEnqueueT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ThreadPoolIOWorkEnqueue ,\
+    name ,\
+    ThreadPoolIOWorkEnqueue_TRACEPOINT_ARGS \
+)
+
+#define ThreadPoolWorkingThreadCount_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Count,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ThreadPoolWorkingThreadCount,
+    ThreadPoolWorkingThreadCount_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Count,Count)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define ThreadPoolWorkingThreadCountT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ThreadPoolWorkingThreadCount ,\
+    name ,\
+    ThreadPoolWorkingThreadCount_TRACEPOINT_ARGS \
+)
+
+#define ThreadStartWork_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const size_t ,ID,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ThreadStartWork,
+    ThreadStartWork_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(size_t,ID,ID)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define ThreadStartWorkT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ThreadStartWork ,\
+    name ,\
+    ThreadStartWork_TRACEPOINT_ARGS \
+)
+
+#define Exception_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,ExceptionType,\
+        const char* ,ExceptionMessage,\
+        const size_t ,ExceptionEIP,\
+        const unsigned int ,ExceptionHRESULT,\
+        const unsigned short ,ExceptionFlags,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    Exception,
+    Exception_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(ExceptionType,ExceptionType)
+        ctf_string(ExceptionMessage,ExceptionMessage)
+        ctf_integer(size_t,ExceptionEIP,ExceptionEIP)
+        ctf_integer(unsigned int,ExceptionHRESULT,ExceptionHRESULT)
+        ctf_integer(unsigned short,ExceptionFlags,ExceptionFlags)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define ExceptionT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    Exception ,\
+    name ,\
+    Exception_TRACEPOINT_ARGS \
+)
+
+#define ExceptionHandling_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,EntryEIP,\
+        const unsigned __int64 ,MethodID,\
+        const char* ,MethodName,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ExceptionHandling,
+    ExceptionHandling_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,EntryEIP,EntryEIP)
+        ctf_integer(unsigned __int64,MethodID,MethodID)
+        ctf_string(MethodName,MethodName)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define ExceptionHandlingT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ExceptionHandling ,\
+    name ,\
+    ExceptionHandling_TRACEPOINT_ARGS \
+)
+
+#define Contention_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned char ,ContentionFlags,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    Contention,
+    Contention_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned char,ContentionFlags,ContentionFlags)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define ContentionT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    Contention ,\
+    name ,\
+    Contention_TRACEPOINT_ARGS \
+)
+
+#define DomainModuleLoadUnload_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,AssemblyID,\
+        const unsigned __int64 ,AppDomainID,\
+        const unsigned int ,ModuleFlags,\
+        const unsigned int ,Reserved1,\
+        const char* ,ModuleILPath,\
+        const char* ,ModuleNativePath\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    DomainModuleLoadUnload,
+    DomainModuleLoadUnload_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_integer(unsigned int,ModuleFlags,ModuleFlags)
+        ctf_integer(unsigned int,Reserved1,Reserved1)
+        ctf_string(ModuleILPath,ModuleILPath)
+        ctf_string(ModuleNativePath,ModuleNativePath)
+    )
+)
+#define DomainModuleLoadUnloadT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    DomainModuleLoadUnload ,\
+    name ,\
+    DomainModuleLoadUnload_TRACEPOINT_ARGS \
+)
+
+#define DomainModuleLoadUnload_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,AssemblyID,\
+        const unsigned __int64 ,AppDomainID,\
+        const unsigned int ,ModuleFlags,\
+        const unsigned int ,Reserved1,\
+        const char* ,ModuleILPath,\
+        const char* ,ModuleNativePath,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    DomainModuleLoadUnload_V1,
+    DomainModuleLoadUnload_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_integer(unsigned int,ModuleFlags,ModuleFlags)
+        ctf_integer(unsigned int,Reserved1,Reserved1)
+        ctf_string(ModuleILPath,ModuleILPath)
+        ctf_string(ModuleNativePath,ModuleNativePath)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define DomainModuleLoadUnload_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    DomainModuleLoadUnload_V1 ,\
+    name ,\
+    DomainModuleLoadUnload_V1_TRACEPOINT_ARGS \
+)
+
+#define ModuleLoadUnload_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,AssemblyID,\
+        const unsigned int ,ModuleFlags,\
+        const unsigned int ,Reserved1,\
+        const char* ,ModuleILPath,\
+        const char* ,ModuleNativePath\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ModuleLoadUnload,
+    ModuleLoadUnload_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
+        ctf_integer(unsigned int,ModuleFlags,ModuleFlags)
+        ctf_integer(unsigned int,Reserved1,Reserved1)
+        ctf_string(ModuleILPath,ModuleILPath)
+        ctf_string(ModuleNativePath,ModuleNativePath)
+    )
+)
+#define ModuleLoadUnloadT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ModuleLoadUnload ,\
+    name ,\
+    ModuleLoadUnload_TRACEPOINT_ARGS \
+)
+
+#define ModuleLoadUnload_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,AssemblyID,\
+        const unsigned int ,ModuleFlags,\
+        const unsigned int ,Reserved1,\
+        const char* ,ModuleILPath,\
+        const char* ,ModuleNativePath,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ModuleLoadUnload_V1,
+    ModuleLoadUnload_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
+        ctf_integer(unsigned int,ModuleFlags,ModuleFlags)
+        ctf_integer(unsigned int,Reserved1,Reserved1)
+        ctf_string(ModuleILPath,ModuleILPath)
+        ctf_string(ModuleNativePath,ModuleNativePath)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define ModuleLoadUnload_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ModuleLoadUnload_V1 ,\
+    name ,\
+    ModuleLoadUnload_V1_TRACEPOINT_ARGS \
+)
+
+#define ModuleLoadUnload_V2_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,AssemblyID,\
+        const unsigned int ,ModuleFlags,\
+        const unsigned int ,Reserved1,\
+        const char* ,ModuleILPath,\
+        const char* ,ModuleNativePath,\
+        const unsigned short ,ClrInstanceID,\
+        const int* ,ManagedPdbSignature,\
+        const unsigned int ,ManagedPdbAge,\
+        const char* ,ManagedPdbBuildPath\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ModuleLoadUnload_V2,
+    ModuleLoadUnload_V2_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
+        ctf_integer(unsigned int,ModuleFlags,ModuleFlags)
+        ctf_integer(unsigned int,Reserved1,Reserved1)
+        ctf_string(ModuleILPath,ModuleILPath)
+        ctf_string(ModuleNativePath,ModuleNativePath)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_sequence(int, ManagedPdbSignature, ManagedPdbSignature,size_t,sizeof(GUID)/sizeof(int))
+        ctf_integer(unsigned int,ManagedPdbAge,ManagedPdbAge)
+        ctf_string(ManagedPdbBuildPath,ManagedPdbBuildPath)
+    )
+)
+#define ModuleLoadUnload_V2T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ModuleLoadUnload_V2 ,\
+    name ,\
+    ModuleLoadUnload_V2_TRACEPOINT_ARGS \
+)
+
+#define ModuleLoadUnload_V2_1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const int* ,NativePdbSignature,\
+        const unsigned int ,NativePdbAge,\
+        const char* ,NativePdbBuildPath\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ModuleLoadUnload_V2_1,
+    ModuleLoadUnload_V2_1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_sequence(int, NativePdbSignature, NativePdbSignature,size_t,sizeof(GUID)/sizeof(int))
+        ctf_integer(unsigned int,NativePdbAge,NativePdbAge)
+        ctf_string(NativePdbBuildPath,NativePdbBuildPath)
+    )
+)
+#define ModuleLoadUnload_V2_1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ModuleLoadUnload_V2_1 ,\
+    name ,\
+    ModuleLoadUnload_V2_1_TRACEPOINT_ARGS \
+)
+
+#define AssemblyLoadUnload_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,AssemblyID,\
+        const unsigned __int64 ,AppDomainID,\
+        const unsigned int ,AssemblyFlags,\
+        const char* ,FullyQualifiedAssemblyName\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    AssemblyLoadUnload,
+    AssemblyLoadUnload_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_integer(unsigned int,AssemblyFlags,AssemblyFlags)
+        ctf_string(FullyQualifiedAssemblyName,FullyQualifiedAssemblyName)
+    )
+)
+#define AssemblyLoadUnloadT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    AssemblyLoadUnload ,\
+    name ,\
+    AssemblyLoadUnload_TRACEPOINT_ARGS \
+)
+
+#define AssemblyLoadUnload_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,AssemblyID,\
+        const unsigned __int64 ,AppDomainID,\
+        const unsigned __int64 ,BindingID,\
+        const unsigned int ,AssemblyFlags,\
+        const char* ,FullyQualifiedAssemblyName,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    AssemblyLoadUnload_V1,
+    AssemblyLoadUnload_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_integer(unsigned __int64,BindingID,BindingID)
+        ctf_integer(unsigned int,AssemblyFlags,AssemblyFlags)
+        ctf_string(FullyQualifiedAssemblyName,FullyQualifiedAssemblyName)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define AssemblyLoadUnload_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    AssemblyLoadUnload_V1 ,\
+    name ,\
+    AssemblyLoadUnload_V1_TRACEPOINT_ARGS \
+)
+
+#define AppDomainLoadUnload_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,AppDomainID,\
+        const unsigned int ,AppDomainFlags,\
+        const char* ,AppDomainName\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    AppDomainLoadUnload,
+    AppDomainLoadUnload_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_integer(unsigned int,AppDomainFlags,AppDomainFlags)
+        ctf_string(AppDomainName,AppDomainName)
+    )
+)
+#define AppDomainLoadUnloadT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    AppDomainLoadUnload ,\
+    name ,\
+    AppDomainLoadUnload_TRACEPOINT_ARGS \
+)
+
+#define AppDomainLoadUnload_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,AppDomainID,\
+        const unsigned int ,AppDomainFlags,\
+        const char* ,AppDomainName,\
+        const unsigned int ,AppDomainIndex,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    AppDomainLoadUnload_V1,
+    AppDomainLoadUnload_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_integer(unsigned int,AppDomainFlags,AppDomainFlags)
+        ctf_string(AppDomainName,AppDomainName)
+        ctf_integer(unsigned int,AppDomainIndex,AppDomainIndex)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define AppDomainLoadUnload_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    AppDomainLoadUnload_V1 ,\
+    name ,\
+    AppDomainLoadUnload_V1_TRACEPOINT_ARGS \
+)
+
+#define MethodLoadUnload_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,MethodID,\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,MethodStartAddress,\
+        const unsigned int ,MethodSize,\
+        const unsigned int ,MethodToken,\
+        const unsigned int ,MethodFlags\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    MethodLoadUnload,
+    MethodLoadUnload_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,MethodID,MethodID)
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
+        ctf_integer(unsigned int,MethodSize,MethodSize)
+        ctf_integer(unsigned int,MethodToken,MethodToken)
+        ctf_integer(unsigned int,MethodFlags,MethodFlags)
+    )
+)
+#define MethodLoadUnloadT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    MethodLoadUnload ,\
+    name ,\
+    MethodLoadUnload_TRACEPOINT_ARGS \
+)
+
+#define MethodLoadUnload_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,MethodID,\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,MethodStartAddress,\
+        const unsigned int ,MethodSize,\
+        const unsigned int ,MethodToken,\
+        const unsigned int ,MethodFlags,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    MethodLoadUnload_V1,
+    MethodLoadUnload_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,MethodID,MethodID)
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
+        ctf_integer(unsigned int,MethodSize,MethodSize)
+        ctf_integer(unsigned int,MethodToken,MethodToken)
+        ctf_integer(unsigned int,MethodFlags,MethodFlags)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define MethodLoadUnload_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    MethodLoadUnload_V1 ,\
+    name ,\
+    MethodLoadUnload_V1_TRACEPOINT_ARGS \
+)
+
+#define MethodLoadUnload_V2_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,MethodID,\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,MethodStartAddress,\
+        const unsigned int ,MethodSize,\
+        const unsigned int ,MethodToken,\
+        const unsigned int ,MethodFlags,\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned __int64 ,ReJITID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    MethodLoadUnload_V2,
+    MethodLoadUnload_V2_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,MethodID,MethodID)
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
+        ctf_integer(unsigned int,MethodSize,MethodSize)
+        ctf_integer(unsigned int,MethodToken,MethodToken)
+        ctf_integer(unsigned int,MethodFlags,MethodFlags)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned __int64,ReJITID,ReJITID)
+    )
+)
+#define MethodLoadUnload_V2T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    MethodLoadUnload_V2 ,\
+    name ,\
+    MethodLoadUnload_V2_TRACEPOINT_ARGS \
+)
+
+#define MethodLoadUnloadVerbose_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,MethodID,\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,MethodStartAddress,\
+        const unsigned int ,MethodSize,\
+        const unsigned int ,MethodToken,\
+        const unsigned int ,MethodFlags,\
+        const char* ,MethodNamespace,\
+        const char* ,MethodName,\
+        const char* ,MethodSignature\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    MethodLoadUnloadVerbose,
+    MethodLoadUnloadVerbose_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,MethodID,MethodID)
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
+        ctf_integer(unsigned int,MethodSize,MethodSize)
+        ctf_integer(unsigned int,MethodToken,MethodToken)
+        ctf_integer(unsigned int,MethodFlags,MethodFlags)
+        ctf_string(MethodNamespace,MethodNamespace)
+        ctf_string(MethodName,MethodName)
+        ctf_string(MethodSignature,MethodSignature)
+    )
+)
+#define MethodLoadUnloadVerboseT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    MethodLoadUnloadVerbose ,\
+    name ,\
+    MethodLoadUnloadVerbose_TRACEPOINT_ARGS \
+)
+
+#define MethodLoadUnloadVerbose_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,MethodID,\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,MethodStartAddress,\
+        const unsigned int ,MethodSize,\
+        const unsigned int ,MethodToken,\
+        const unsigned int ,MethodFlags,\
+        const char* ,MethodNamespace,\
+        const char* ,MethodName,\
+        const char* ,MethodSignature,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    MethodLoadUnloadVerbose_V1,
+    MethodLoadUnloadVerbose_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,MethodID,MethodID)
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
+        ctf_integer(unsigned int,MethodSize,MethodSize)
+        ctf_integer(unsigned int,MethodToken,MethodToken)
+        ctf_integer(unsigned int,MethodFlags,MethodFlags)
+        ctf_string(MethodNamespace,MethodNamespace)
+        ctf_string(MethodName,MethodName)
+        ctf_string(MethodSignature,MethodSignature)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define MethodLoadUnloadVerbose_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    MethodLoadUnloadVerbose_V1 ,\
+    name ,\
+    MethodLoadUnloadVerbose_V1_TRACEPOINT_ARGS \
+)
+
+#define MethodLoadUnloadVerbose_V2_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,MethodID,\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,MethodStartAddress,\
+        const unsigned int ,MethodSize,\
+        const unsigned int ,MethodToken,\
+        const unsigned int ,MethodFlags,\
+        const char* ,MethodNamespace,\
+        const char* ,MethodName,\
+        const char* ,MethodSignature,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    MethodLoadUnloadVerbose_V2,
+    MethodLoadUnloadVerbose_V2_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,MethodID,MethodID)
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
+        ctf_integer(unsigned int,MethodSize,MethodSize)
+        ctf_integer(unsigned int,MethodToken,MethodToken)
+        ctf_integer(unsigned int,MethodFlags,MethodFlags)
+        ctf_string(MethodNamespace,MethodNamespace)
+        ctf_string(MethodName,MethodName)
+        ctf_string(MethodSignature,MethodSignature)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define MethodLoadUnloadVerbose_V2T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    MethodLoadUnloadVerbose_V2 ,\
+    name ,\
+    MethodLoadUnloadVerbose_V2_TRACEPOINT_ARGS \
+)
+
+#define MethodLoadUnloadVerbose_V2_1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,ReJITID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    MethodLoadUnloadVerbose_V2_1,
+    MethodLoadUnloadVerbose_V2_1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,ReJITID,ReJITID)
+    )
+)
+#define MethodLoadUnloadVerbose_V2_1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    MethodLoadUnloadVerbose_V2_1 ,\
+    name ,\
+    MethodLoadUnloadVerbose_V2_1_TRACEPOINT_ARGS \
+)
+
+#define MethodJittingStarted_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,MethodID,\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned int ,MethodToken,\
+        const unsigned int ,MethodILSize,\
+        const char* ,MethodNamespace,\
+        const char* ,MethodName,\
+        const char* ,MethodSignature\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    MethodJittingStarted,
+    MethodJittingStarted_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,MethodID,MethodID)
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned int,MethodToken,MethodToken)
+        ctf_integer(unsigned int,MethodILSize,MethodILSize)
+        ctf_string(MethodNamespace,MethodNamespace)
+        ctf_string(MethodName,MethodName)
+        ctf_string(MethodSignature,MethodSignature)
+    )
+)
+#define MethodJittingStartedT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    MethodJittingStarted ,\
+    name ,\
+    MethodJittingStarted_TRACEPOINT_ARGS \
+)
+
+#define MethodJittingStarted_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,MethodID,\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned int ,MethodToken,\
+        const unsigned int ,MethodILSize,\
+        const char* ,MethodNamespace,\
+        const char* ,MethodName,\
+        const char* ,MethodSignature,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    MethodJittingStarted_V1,
+    MethodJittingStarted_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,MethodID,MethodID)
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned int,MethodToken,MethodToken)
+        ctf_integer(unsigned int,MethodILSize,MethodILSize)
+        ctf_string(MethodNamespace,MethodNamespace)
+        ctf_string(MethodName,MethodName)
+        ctf_string(MethodSignature,MethodSignature)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define MethodJittingStarted_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    MethodJittingStarted_V1 ,\
+    name ,\
+    MethodJittingStarted_V1_TRACEPOINT_ARGS \
+)
+
+#define MethodJitInliningSucceeded_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,MethodBeingCompiledNamespace,\
+        const char* ,MethodBeingCompiledName,\
+        const char* ,MethodBeingCompiledNameSignature,\
+        const char* ,InlinerNamespace,\
+        const char* ,InlinerName,\
+        const char* ,InlinerNameSignature,\
+        const char* ,InlineeNamespace,\
+        const char* ,InlineeName,\
+        const char* ,InlineeNameSignature,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    MethodJitInliningSucceeded,
+    MethodJitInliningSucceeded_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(MethodBeingCompiledNamespace,MethodBeingCompiledNamespace)
+        ctf_string(MethodBeingCompiledName,MethodBeingCompiledName)
+        ctf_string(MethodBeingCompiledNameSignature,MethodBeingCompiledNameSignature)
+        ctf_string(InlinerNamespace,InlinerNamespace)
+        ctf_string(InlinerName,InlinerName)
+        ctf_string(InlinerNameSignature,InlinerNameSignature)
+        ctf_string(InlineeNamespace,InlineeNamespace)
+        ctf_string(InlineeName,InlineeName)
+        ctf_string(InlineeNameSignature,InlineeNameSignature)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define MethodJitInliningSucceededT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    MethodJitInliningSucceeded ,\
+    name ,\
+    MethodJitInliningSucceeded_TRACEPOINT_ARGS \
+)
+
+#define MethodJitInliningFailed_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,MethodBeingCompiledNamespace,\
+        const char* ,MethodBeingCompiledName,\
+        const char* ,MethodBeingCompiledNameSignature,\
+        const char* ,InlinerNamespace,\
+        const char* ,InlinerName,\
+        const char* ,InlinerNameSignature,\
+        const char* ,InlineeNamespace,\
+        const char* ,InlineeName,\
+        const char* ,InlineeNameSignature,\
+        const BOOL ,FailAlways\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    MethodJitInliningFailed,
+    MethodJitInliningFailed_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(MethodBeingCompiledNamespace,MethodBeingCompiledNamespace)
+        ctf_string(MethodBeingCompiledName,MethodBeingCompiledName)
+        ctf_string(MethodBeingCompiledNameSignature,MethodBeingCompiledNameSignature)
+        ctf_string(InlinerNamespace,InlinerNamespace)
+        ctf_string(InlinerName,InlinerName)
+        ctf_string(InlinerNameSignature,InlinerNameSignature)
+        ctf_string(InlineeNamespace,InlineeNamespace)
+        ctf_string(InlineeName,InlineeName)
+        ctf_string(InlineeNameSignature,InlineeNameSignature)
+        ctf_integer(BOOL,FailAlways,FailAlways)
+    )
+)
+#define MethodJitInliningFailedT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    MethodJitInliningFailed ,\
+    name ,\
+    MethodJitInliningFailed_TRACEPOINT_ARGS \
+)
+
+#define MethodJitInliningFailed_1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,FailReason,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    MethodJitInliningFailed_1,
+    MethodJitInliningFailed_1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(FailReason,FailReason)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define MethodJitInliningFailed_1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    MethodJitInliningFailed_1 ,\
+    name ,\
+    MethodJitInliningFailed_1_TRACEPOINT_ARGS \
+)
+
+#define MethodJitTailCallSucceeded_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,MethodBeingCompiledNamespace,\
+        const char* ,MethodBeingCompiledName,\
+        const char* ,MethodBeingCompiledNameSignature,\
+        const char* ,CallerNamespace,\
+        const char* ,CallerName,\
+        const char* ,CallerNameSignature,\
+        const char* ,CalleeNamespace,\
+        const char* ,CalleeName,\
+        const char* ,CalleeNameSignature,\
+        const BOOL ,TailPrefix\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    MethodJitTailCallSucceeded,
+    MethodJitTailCallSucceeded_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(MethodBeingCompiledNamespace,MethodBeingCompiledNamespace)
+        ctf_string(MethodBeingCompiledName,MethodBeingCompiledName)
+        ctf_string(MethodBeingCompiledNameSignature,MethodBeingCompiledNameSignature)
+        ctf_string(CallerNamespace,CallerNamespace)
+        ctf_string(CallerName,CallerName)
+        ctf_string(CallerNameSignature,CallerNameSignature)
+        ctf_string(CalleeNamespace,CalleeNamespace)
+        ctf_string(CalleeName,CalleeName)
+        ctf_string(CalleeNameSignature,CalleeNameSignature)
+        ctf_integer(BOOL,TailPrefix,TailPrefix)
+    )
+)
+#define MethodJitTailCallSucceededT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    MethodJitTailCallSucceeded ,\
+    name ,\
+    MethodJitTailCallSucceeded_TRACEPOINT_ARGS \
+)
+
+#define MethodJitTailCallSucceeded_1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,TailCallType,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    MethodJitTailCallSucceeded_1,
+    MethodJitTailCallSucceeded_1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,TailCallType,TailCallType)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define MethodJitTailCallSucceeded_1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    MethodJitTailCallSucceeded_1 ,\
+    name ,\
+    MethodJitTailCallSucceeded_1_TRACEPOINT_ARGS \
+)
+
+#define MethodJitTailCallFailed_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,MethodBeingCompiledNamespace,\
+        const char* ,MethodBeingCompiledName,\
+        const char* ,MethodBeingCompiledNameSignature,\
+        const char* ,CallerNamespace,\
+        const char* ,CallerName,\
+        const char* ,CallerNameSignature,\
+        const char* ,CalleeNamespace,\
+        const char* ,CalleeName,\
+        const char* ,CalleeNameSignature,\
+        const BOOL ,TailPrefix\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    MethodJitTailCallFailed,
+    MethodJitTailCallFailed_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(MethodBeingCompiledNamespace,MethodBeingCompiledNamespace)
+        ctf_string(MethodBeingCompiledName,MethodBeingCompiledName)
+        ctf_string(MethodBeingCompiledNameSignature,MethodBeingCompiledNameSignature)
+        ctf_string(CallerNamespace,CallerNamespace)
+        ctf_string(CallerName,CallerName)
+        ctf_string(CallerNameSignature,CallerNameSignature)
+        ctf_string(CalleeNamespace,CalleeNamespace)
+        ctf_string(CalleeName,CalleeName)
+        ctf_string(CalleeNameSignature,CalleeNameSignature)
+        ctf_integer(BOOL,TailPrefix,TailPrefix)
+    )
+)
+#define MethodJitTailCallFailedT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    MethodJitTailCallFailed ,\
+    name ,\
+    MethodJitTailCallFailed_TRACEPOINT_ARGS \
+)
+
+#define MethodJitTailCallFailed_1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,FailReason,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    MethodJitTailCallFailed_1,
+    MethodJitTailCallFailed_1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(FailReason,FailReason)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define MethodJitTailCallFailed_1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    MethodJitTailCallFailed_1 ,\
+    name ,\
+    MethodJitTailCallFailed_1_TRACEPOINT_ARGS \
+)
+
+#define MethodILToNativeMap_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,MethodID,\
+        const unsigned __int64 ,ReJITID,\
+        const unsigned char ,MethodExtent,\
+        const unsigned short ,CountOfMapEntries,\
+        const unsigned int* ,ILOffsets,\
+        const unsigned int* ,NativeOffsets,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    MethodILToNativeMap,
+    MethodILToNativeMap_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,MethodID,MethodID)
+        ctf_integer(unsigned __int64,ReJITID,ReJITID)
+        ctf_integer(unsigned char,MethodExtent,MethodExtent)
+        ctf_integer(unsigned short,CountOfMapEntries,CountOfMapEntries)
+        ctf_sequence(unsigned int, ILOffsets, ILOffsets,size_t,CountOfMapEntries)
+        ctf_sequence(unsigned int, NativeOffsets, NativeOffsets,size_t,CountOfMapEntries)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define MethodILToNativeMapT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    MethodILToNativeMap ,\
+    name ,\
+    MethodILToNativeMap_TRACEPOINT_ARGS \
+)
+
+#define ClrStackWalk_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned char ,Reserved1,\
+        const unsigned char ,Reserved2,\
+        const unsigned int ,FrameCount,\
+        const size_t* ,Stack\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ClrStackWalk,
+    ClrStackWalk_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned char,Reserved1,Reserved1)
+        ctf_integer(unsigned char,Reserved2,Reserved2)
+        ctf_integer(unsigned int,FrameCount,FrameCount)
+        ctf_sequence(size_t, Stack, Stack,size_t,2)
+    )
+)
+#define ClrStackWalkT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ClrStackWalk ,\
+    name ,\
+    ClrStackWalk_TRACEPOINT_ARGS \
+)
+
+#define AppDomainMemAllocated_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,AppDomainID,\
+        const unsigned __int64 ,Allocated,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    AppDomainMemAllocated,
+    AppDomainMemAllocated_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_integer(unsigned __int64,Allocated,Allocated)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define AppDomainMemAllocatedT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    AppDomainMemAllocated ,\
+    name ,\
+    AppDomainMemAllocated_TRACEPOINT_ARGS \
+)
+
+#define AppDomainMemSurvived_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,AppDomainID,\
+        const unsigned __int64 ,Survived,\
+        const unsigned __int64 ,ProcessSurvived,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    AppDomainMemSurvived,
+    AppDomainMemSurvived_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_integer(unsigned __int64,Survived,Survived)
+        ctf_integer(unsigned __int64,ProcessSurvived,ProcessSurvived)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define AppDomainMemSurvivedT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    AppDomainMemSurvived ,\
+    name ,\
+    AppDomainMemSurvived_TRACEPOINT_ARGS \
+)
+
+#define ThreadCreated_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,ManagedThreadID,\
+        const unsigned __int64 ,AppDomainID,\
+        const unsigned int ,Flags,\
+        const unsigned int ,ManagedThreadIndex,\
+        const unsigned int ,OSThreadID,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ThreadCreated,
+    ThreadCreated_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,ManagedThreadID,ManagedThreadID)
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_integer(unsigned int,Flags,Flags)
+        ctf_integer(unsigned int,ManagedThreadIndex,ManagedThreadIndex)
+        ctf_integer(unsigned int,OSThreadID,OSThreadID)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define ThreadCreatedT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ThreadCreated ,\
+    name ,\
+    ThreadCreated_TRACEPOINT_ARGS \
+)
+
+#define ThreadTerminatedOrTransition_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,ManagedThreadID,\
+        const unsigned __int64 ,AppDomainID,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ThreadTerminatedOrTransition,
+    ThreadTerminatedOrTransition_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,ManagedThreadID,ManagedThreadID)
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define ThreadTerminatedOrTransitionT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ThreadTerminatedOrTransition ,\
+    name ,\
+    ThreadTerminatedOrTransition_TRACEPOINT_ARGS \
+)
+
+#define ILStubGenerated_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,StubMethodID,\
+        const unsigned int ,StubFlags,\
+        const unsigned int ,ManagedInteropMethodToken,\
+        const char* ,ManagedInteropMethodNamespace,\
+        const char* ,ManagedInteropMethodName,\
+        const char* ,ManagedInteropMethodSignature,\
+        const char* ,NativeMethodSignature,\
+        const char* ,StubMethodSignature\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ILStubGenerated,
+    ILStubGenerated_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,StubMethodID,StubMethodID)
+        ctf_integer(unsigned int,StubFlags,StubFlags)
+        ctf_integer(unsigned int,ManagedInteropMethodToken,ManagedInteropMethodToken)
+        ctf_string(ManagedInteropMethodNamespace,ManagedInteropMethodNamespace)
+        ctf_string(ManagedInteropMethodName,ManagedInteropMethodName)
+        ctf_string(ManagedInteropMethodSignature,ManagedInteropMethodSignature)
+        ctf_string(NativeMethodSignature,NativeMethodSignature)
+        ctf_string(StubMethodSignature,StubMethodSignature)
+    )
+)
+#define ILStubGeneratedT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ILStubGenerated ,\
+    name ,\
+    ILStubGenerated_TRACEPOINT_ARGS \
+)
+
+#define ILStubGenerated_1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,StubMethodILCode\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ILStubGenerated_1,
+    ILStubGenerated_1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(StubMethodILCode,StubMethodILCode)
+    )
+)
+#define ILStubGenerated_1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ILStubGenerated_1 ,\
+    name ,\
+    ILStubGenerated_1_TRACEPOINT_ARGS \
+)
+
+#define ILStubCacheHit_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,StubMethodID,\
+        const unsigned int ,ManagedInteropMethodToken,\
+        const char* ,ManagedInteropMethodNamespace,\
+        const char* ,ManagedInteropMethodName,\
+        const char* ,ManagedInteropMethodSignature\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ILStubCacheHit,
+    ILStubCacheHit_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,StubMethodID,StubMethodID)
+        ctf_integer(unsigned int,ManagedInteropMethodToken,ManagedInteropMethodToken)
+        ctf_string(ManagedInteropMethodNamespace,ManagedInteropMethodNamespace)
+        ctf_string(ManagedInteropMethodName,ManagedInteropMethodName)
+        ctf_string(ManagedInteropMethodSignature,ManagedInteropMethodSignature)
+    )
+)
+#define ILStubCacheHitT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ILStubCacheHit ,\
+    name ,\
+    ILStubCacheHit_TRACEPOINT_ARGS \
+)
+
+#define ModuleRange_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned int ,RangeBegin,\
+        const unsigned int ,RangeSize,\
+        const unsigned char ,RangeType\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    ModuleRange,
+    ModuleRange_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned int,RangeBegin,RangeBegin)
+        ctf_integer(unsigned int,RangeSize,RangeSize)
+        ctf_integer(unsigned char,RangeType,RangeType)
+    )
+)
+#define ModuleRangeT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    ModuleRange ,\
+    name ,\
+    ModuleRange_TRACEPOINT_ARGS \
+)
+
+#define BulkType_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Count,\
+        const unsigned short ,ClrInstanceID,\
+        const ULONG ,Arg2_Struct_Len_,\
+        const int* ,Arg2_Struct_Pointer_\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    BulkType,
+    BulkType_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Count,Count)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(ULONG,Arg2_Struct_Len_,Arg2_Struct_Len_)
+        ctf_sequence(int, Arg2_Struct_Pointer_, Arg2_Struct_Pointer_,size_t,Count*Arg2_Struct_Len_/sizeof(int))
+    )
+)
+#define BulkTypeT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    BulkType ,\
+    name ,\
+    BulkType_TRACEPOINT_ARGS \
+)
+
+#define GCBulkRootEdge_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Index,\
+        const unsigned int ,Count,\
+        const unsigned short ,ClrInstanceID,\
+        const ULONG ,Arg3_Struct_Len_,\
+        const int* ,Arg3_Struct_Pointer_\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCBulkRootEdge,
+    GCBulkRootEdge_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Index,Index)
+        ctf_integer(unsigned int,Count,Count)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_)
+        ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int))
+    )
+)
+#define GCBulkRootEdgeT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCBulkRootEdge ,\
+    name ,\
+    GCBulkRootEdge_TRACEPOINT_ARGS \
+)
+
+#define GCBulkRootCCW_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Count,\
+        const unsigned short ,ClrInstanceID,\
+        const ULONG ,Arg2_Struct_Len_,\
+        const int* ,Arg2_Struct_Pointer_\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCBulkRootCCW,
+    GCBulkRootCCW_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Count,Count)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(ULONG,Arg2_Struct_Len_,Arg2_Struct_Len_)
+        ctf_sequence(int, Arg2_Struct_Pointer_, Arg2_Struct_Pointer_,size_t,Count*Arg2_Struct_Len_/sizeof(int))
+    )
+)
+#define GCBulkRootCCWT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCBulkRootCCW ,\
+    name ,\
+    GCBulkRootCCW_TRACEPOINT_ARGS \
+)
+
+#define GCBulkRCW_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Count,\
+        const unsigned short ,ClrInstanceID,\
+        const ULONG ,Arg2_Struct_Len_,\
+        const int* ,Arg2_Struct_Pointer_\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCBulkRCW,
+    GCBulkRCW_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Count,Count)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(ULONG,Arg2_Struct_Len_,Arg2_Struct_Len_)
+        ctf_sequence(int, Arg2_Struct_Pointer_, Arg2_Struct_Pointer_,size_t,Count*Arg2_Struct_Len_/sizeof(int))
+    )
+)
+#define GCBulkRCWT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCBulkRCW ,\
+    name ,\
+    GCBulkRCW_TRACEPOINT_ARGS \
+)
+
+#define GCBulkRootStaticVar_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Count,\
+        const unsigned __int64 ,AppDomainID,\
+        const unsigned short ,ClrInstanceID,\
+        const ULONG ,Arg3_Struct_Len_,\
+        const int* ,Arg3_Struct_Pointer_\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCBulkRootStaticVar,
+    GCBulkRootStaticVar_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Count,Count)
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_)
+        ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int))
+    )
+)
+#define GCBulkRootStaticVarT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCBulkRootStaticVar ,\
+    name ,\
+    GCBulkRootStaticVar_TRACEPOINT_ARGS \
+)
+
+#define GCBulkRootConditionalWeakTableElementEdge_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Index,\
+        const unsigned int ,Count,\
+        const unsigned short ,ClrInstanceID,\
+        const ULONG ,Arg3_Struct_Len_,\
+        const int* ,Arg3_Struct_Pointer_\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCBulkRootConditionalWeakTableElementEdge,
+    GCBulkRootConditionalWeakTableElementEdge_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Index,Index)
+        ctf_integer(unsigned int,Count,Count)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_)
+        ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int))
+    )
+)
+#define GCBulkRootConditionalWeakTableElementEdgeT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCBulkRootConditionalWeakTableElementEdge ,\
+    name ,\
+    GCBulkRootConditionalWeakTableElementEdge_TRACEPOINT_ARGS \
+)
+
+#define GCBulkNode_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Index,\
+        const unsigned int ,Count,\
+        const unsigned short ,ClrInstanceID,\
+        const ULONG ,Arg3_Struct_Len_,\
+        const int* ,Arg3_Struct_Pointer_\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCBulkNode,
+    GCBulkNode_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Index,Index)
+        ctf_integer(unsigned int,Count,Count)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_)
+        ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int))
+    )
+)
+#define GCBulkNodeT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCBulkNode ,\
+    name ,\
+    GCBulkNode_TRACEPOINT_ARGS \
+)
+
+#define GCBulkEdge_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Index,\
+        const unsigned int ,Count,\
+        const unsigned short ,ClrInstanceID,\
+        const ULONG ,Arg3_Struct_Len_,\
+        const int* ,Arg3_Struct_Pointer_\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCBulkEdge,
+    GCBulkEdge_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Index,Index)
+        ctf_integer(unsigned int,Count,Count)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_)
+        ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int))
+    )
+)
+#define GCBulkEdgeT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCBulkEdge ,\
+    name ,\
+    GCBulkEdge_TRACEPOINT_ARGS \
+)
+
+#define GCSampledObjectAllocation_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const size_t ,Address,\
+        const size_t ,TypeID,\
+        const unsigned int ,ObjectCountForTypeSample,\
+        const unsigned __int64 ,TotalSizeForTypeSample,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCSampledObjectAllocation,
+    GCSampledObjectAllocation_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(size_t,Address,Address)
+        ctf_integer(size_t,TypeID,TypeID)
+        ctf_integer(unsigned int,ObjectCountForTypeSample,ObjectCountForTypeSample)
+        ctf_integer(unsigned __int64,TotalSizeForTypeSample,TotalSizeForTypeSample)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCSampledObjectAllocationT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCSampledObjectAllocation ,\
+    name ,\
+    GCSampledObjectAllocation_TRACEPOINT_ARGS \
+)
+
+#define GCBulkSurvivingObjectRanges_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Index,\
+        const unsigned int ,Count,\
+        const unsigned short ,ClrInstanceID,\
+        const ULONG ,Arg3_Struct_Len_,\
+        const int* ,Arg3_Struct_Pointer_\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCBulkSurvivingObjectRanges,
+    GCBulkSurvivingObjectRanges_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Index,Index)
+        ctf_integer(unsigned int,Count,Count)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_)
+        ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int))
+    )
+)
+#define GCBulkSurvivingObjectRangesT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCBulkSurvivingObjectRanges ,\
+    name ,\
+    GCBulkSurvivingObjectRanges_TRACEPOINT_ARGS \
+)
+
+#define GCBulkMovedObjectRanges_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Index,\
+        const unsigned int ,Count,\
+        const unsigned short ,ClrInstanceID,\
+        const ULONG ,Arg3_Struct_Len_,\
+        const int* ,Arg3_Struct_Pointer_\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCBulkMovedObjectRanges,
+    GCBulkMovedObjectRanges_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Index,Index)
+        ctf_integer(unsigned int,Count,Count)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(ULONG,Arg3_Struct_Len_,Arg3_Struct_Len_)
+        ctf_sequence(int, Arg3_Struct_Pointer_, Arg3_Struct_Pointer_,size_t,Count*Arg3_Struct_Len_/sizeof(int))
+    )
+)
+#define GCBulkMovedObjectRangesT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCBulkMovedObjectRanges ,\
+    name ,\
+    GCBulkMovedObjectRanges_TRACEPOINT_ARGS \
+)
+
+#define GCGenerationRange_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned char ,Generation,\
+        const size_t ,RangeStart,\
+        const unsigned __int64 ,RangeUsedLength,\
+        const unsigned __int64 ,RangeReservedLength,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    GCGenerationRange,
+    GCGenerationRange_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned char,Generation,Generation)
+        ctf_integer(size_t,RangeStart,RangeStart)
+        ctf_integer(unsigned __int64,RangeUsedLength,RangeUsedLength)
+        ctf_integer(unsigned __int64,RangeReservedLength,RangeReservedLength)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCGenerationRangeT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    GCGenerationRange ,\
+    name ,\
+    GCGenerationRange_TRACEPOINT_ARGS \
+)
+
+#define CodeSymbols_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,ModuleId,\
+        const unsigned short ,TotalChunks,\
+        const unsigned short ,ChunkNumber,\
+        const unsigned int ,ChunkLength,\
+        const BYTE* ,Chunk,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    CodeSymbols,
+    CodeSymbols_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,ModuleId,ModuleId)
+        ctf_integer(unsigned short,TotalChunks,TotalChunks)
+        ctf_integer(unsigned short,ChunkNumber,ChunkNumber)
+        ctf_integer(unsigned int,ChunkLength,ChunkLength)
+        ctf_sequence(BYTE, Chunk, Chunk,size_t,ChunkLength)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define CodeSymbolsT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    CodeSymbols ,\
+    name ,\
+    CodeSymbols_TRACEPOINT_ARGS \
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntime,
+    emptyTemplate ,
+    TP_ARGS(),
+    TP_FIELDS()
+)
+#define T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntime,\
+    emptyTemplate,\
+    name ,\
+    TP_ARGS()\
+)
+GCStartT_TRACEPOINT_INSTANCE(GCStart)
+GCStart_V1T_TRACEPOINT_INSTANCE(GCStart_V1)
+GCStart_V2T_TRACEPOINT_INSTANCE(GCStart_V2)
+GCEndT_TRACEPOINT_INSTANCE(GCEnd)
+GCEnd_V1T_TRACEPOINT_INSTANCE(GCEnd_V1)
+T_TRACEPOINT_INSTANCE(GCRestartEEEnd)
+GCNoUserDataT_TRACEPOINT_INSTANCE(GCRestartEEEnd_V1)
+GCHeapStatsT_TRACEPOINT_INSTANCE(GCHeapStats)
+GCHeapStats_1T_TRACEPOINT_INSTANCE(GCHeapStats_1)
+GCHeapStats_V1T_TRACEPOINT_INSTANCE(GCHeapStats_V1)
+GCHeapStats_V1_1T_TRACEPOINT_INSTANCE(GCHeapStats_V1_1)
+GCCreateSegmentT_TRACEPOINT_INSTANCE(GCCreateSegment)
+GCCreateSegment_V1T_TRACEPOINT_INSTANCE(GCCreateSegment_V1)
+GCFreeSegmentT_TRACEPOINT_INSTANCE(GCFreeSegment)
+GCFreeSegment_V1T_TRACEPOINT_INSTANCE(GCFreeSegment_V1)
+T_TRACEPOINT_INSTANCE(GCRestartEEBegin)
+GCNoUserDataT_TRACEPOINT_INSTANCE(GCRestartEEBegin_V1)
+T_TRACEPOINT_INSTANCE(GCSuspendEEEnd)
+GCNoUserDataT_TRACEPOINT_INSTANCE(GCSuspendEEEnd_V1)
+GCSuspendEET_TRACEPOINT_INSTANCE(GCSuspendEEBegin)
+GCSuspendEE_V1T_TRACEPOINT_INSTANCE(GCSuspendEEBegin_V1)
+GCAllocationTickT_TRACEPOINT_INSTANCE(GCAllocationTick)
+GCAllocationTick_V1T_TRACEPOINT_INSTANCE(GCAllocationTick_V1)
+GCAllocationTick_V2T_TRACEPOINT_INSTANCE(GCAllocationTick_V2)
+GCAllocationTick_V3T_TRACEPOINT_INSTANCE(GCAllocationTick_V3)
+T_TRACEPOINT_INSTANCE(GCCreateConcurrentThread)
+GCCreateConcurrentThreadT_TRACEPOINT_INSTANCE(GCCreateConcurrentThread_V1)
+T_TRACEPOINT_INSTANCE(GCTerminateConcurrentThread)
+GCTerminateConcurrentThreadT_TRACEPOINT_INSTANCE(GCTerminateConcurrentThread_V1)
+GCFinalizersEndT_TRACEPOINT_INSTANCE(GCFinalizersEnd)
+GCFinalizersEnd_V1T_TRACEPOINT_INSTANCE(GCFinalizersEnd_V1)
+T_TRACEPOINT_INSTANCE(GCFinalizersBegin)
+GCNoUserDataT_TRACEPOINT_INSTANCE(GCFinalizersBegin_V1)
+BulkTypeT_TRACEPOINT_INSTANCE(BulkType)
+GCBulkRootEdgeT_TRACEPOINT_INSTANCE(GCBulkRootEdge)
+GCBulkRootConditionalWeakTableElementEdgeT_TRACEPOINT_INSTANCE(GCBulkRootConditionalWeakTableElementEdge)
+GCBulkNodeT_TRACEPOINT_INSTANCE(GCBulkNode)
+GCBulkEdgeT_TRACEPOINT_INSTANCE(GCBulkEdge)
+GCSampledObjectAllocationT_TRACEPOINT_INSTANCE(GCSampledObjectAllocationHigh)
+GCBulkSurvivingObjectRangesT_TRACEPOINT_INSTANCE(GCBulkSurvivingObjectRanges)
+GCBulkMovedObjectRangesT_TRACEPOINT_INSTANCE(GCBulkMovedObjectRanges)
+GCGenerationRangeT_TRACEPOINT_INSTANCE(GCGenerationRange)
+GCMarkT_TRACEPOINT_INSTANCE(GCMarkStackRoots)
+GCMarkT_TRACEPOINT_INSTANCE(GCMarkFinalizeQueueRoots)
+GCMarkT_TRACEPOINT_INSTANCE(GCMarkHandles)
+GCMarkT_TRACEPOINT_INSTANCE(GCMarkOlderGenerationRoots)
+FinalizeObjectT_TRACEPOINT_INSTANCE(FinalizeObject)
+SetGCHandleT_TRACEPOINT_INSTANCE(SetGCHandle)
+DestroyGCHandleT_TRACEPOINT_INSTANCE(DestroyGCHandle)
+GCSampledObjectAllocationT_TRACEPOINT_INSTANCE(GCSampledObjectAllocationLow)
+PinObjectAtGCTimeT_TRACEPOINT_INSTANCE(PinObjectAtGCTime)
+GCTriggeredT_TRACEPOINT_INSTANCE(GCTriggered)
+GCBulkRootCCWT_TRACEPOINT_INSTANCE(GCBulkRootCCW)
+GCBulkRCWT_TRACEPOINT_INSTANCE(GCBulkRCW)
+GCBulkRootStaticVarT_TRACEPOINT_INSTANCE(GCBulkRootStaticVar)
+ClrWorkerThreadT_TRACEPOINT_INSTANCE(WorkerThreadCreate)
+ClrWorkerThreadT_TRACEPOINT_INSTANCE(WorkerThreadTerminate)
+ClrWorkerThreadT_TRACEPOINT_INSTANCE(WorkerThreadRetire)
+ClrWorkerThreadT_TRACEPOINT_INSTANCE(WorkerThreadUnretire)
+IOThreadT_TRACEPOINT_INSTANCE(IOThreadCreate)
+IOThread_V1T_TRACEPOINT_INSTANCE(IOThreadCreate_V1)
+IOThreadT_TRACEPOINT_INSTANCE(IOThreadTerminate)
+IOThread_V1T_TRACEPOINT_INSTANCE(IOThreadTerminate_V1)
+IOThreadT_TRACEPOINT_INSTANCE(IOThreadRetire)
+IOThread_V1T_TRACEPOINT_INSTANCE(IOThreadRetire_V1)
+IOThreadT_TRACEPOINT_INSTANCE(IOThreadUnretire)
+IOThread_V1T_TRACEPOINT_INSTANCE(IOThreadUnretire_V1)
+ClrThreadPoolSuspendT_TRACEPOINT_INSTANCE(ThreadpoolSuspensionSuspendThread)
+ClrThreadPoolSuspendT_TRACEPOINT_INSTANCE(ThreadpoolSuspensionResumeThread)
+ThreadPoolWorkerThreadT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadStart)
+ThreadPoolWorkerThreadT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadStop)
+ThreadPoolWorkerThreadT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadRetirementStart)
+ThreadPoolWorkerThreadT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadRetirementStop)
+ThreadPoolWorkerThreadAdjustmentSampleT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadAdjustmentSample)
+ThreadPoolWorkerThreadAdjustmentAdjustmentT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadAdjustmentAdjustment)
+ThreadPoolWorkerThreadAdjustmentStatsT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadAdjustmentStats)
+ThreadPoolWorkerThreadAdjustmentStats_1T_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadAdjustmentStats_1)
+ThreadPoolWorkerThreadT_TRACEPOINT_INSTANCE(ThreadPoolWorkerThreadWait)
+ThreadPoolWorkingThreadCountT_TRACEPOINT_INSTANCE(ThreadPoolWorkingThreadCount)
+ThreadPoolWorkT_TRACEPOINT_INSTANCE(ThreadPoolEnqueue)
+ThreadPoolWorkT_TRACEPOINT_INSTANCE(ThreadPoolDequeue)
+ThreadPoolIOWorkEnqueueT_TRACEPOINT_INSTANCE(ThreadPoolIOEnqueue)
+ThreadPoolIOWorkT_TRACEPOINT_INSTANCE(ThreadPoolIODequeue)
+ThreadPoolIOWorkT_TRACEPOINT_INSTANCE(ThreadPoolIOPack)
+ThreadStartWorkT_TRACEPOINT_INSTANCE(ThreadCreating)
+ThreadStartWorkT_TRACEPOINT_INSTANCE(ThreadRunning)
+T_TRACEPOINT_INSTANCE(ExceptionThrown)
+ExceptionT_TRACEPOINT_INSTANCE(ExceptionThrown_V1)
+ExceptionHandlingT_TRACEPOINT_INSTANCE(ExceptionCatchStart)
+T_TRACEPOINT_INSTANCE(ExceptionCatchStop)
+ExceptionHandlingT_TRACEPOINT_INSTANCE(ExceptionFinallyStart)
+T_TRACEPOINT_INSTANCE(ExceptionFinallyStop)
+ExceptionHandlingT_TRACEPOINT_INSTANCE(ExceptionFilterStart)
+T_TRACEPOINT_INSTANCE(ExceptionFilterStop)
+T_TRACEPOINT_INSTANCE(ExceptionThrownStop)
+T_TRACEPOINT_INSTANCE(Contention)
+ContentionT_TRACEPOINT_INSTANCE(ContentionStart_V1)
+ContentionT_TRACEPOINT_INSTANCE(ContentionStop)
+ClrStackWalkT_TRACEPOINT_INSTANCE(CLRStackWalk)
+AppDomainMemAllocatedT_TRACEPOINT_INSTANCE(AppDomainMemAllocated)
+AppDomainMemSurvivedT_TRACEPOINT_INSTANCE(AppDomainMemSurvived)
+ThreadCreatedT_TRACEPOINT_INSTANCE(ThreadCreated)
+ThreadTerminatedOrTransitionT_TRACEPOINT_INSTANCE(ThreadTerminated)
+ThreadTerminatedOrTransitionT_TRACEPOINT_INSTANCE(ThreadDomainEnter)
+ILStubGeneratedT_TRACEPOINT_INSTANCE(ILStubGenerated)
+ILStubGenerated_1T_TRACEPOINT_INSTANCE(ILStubGenerated_1)
+ILStubCacheHitT_TRACEPOINT_INSTANCE(ILStubCacheHit)
+T_TRACEPOINT_INSTANCE(DCStartCompleteV2)
+T_TRACEPOINT_INSTANCE(DCEndCompleteV2)
+MethodLoadUnloadT_TRACEPOINT_INSTANCE(MethodDCStartV2)
+MethodLoadUnloadT_TRACEPOINT_INSTANCE(MethodDCEndV2)
+MethodLoadUnloadVerboseT_TRACEPOINT_INSTANCE(MethodDCStartVerboseV2)
+MethodLoadUnloadVerboseT_TRACEPOINT_INSTANCE(MethodDCEndVerboseV2)
+MethodLoadUnloadT_TRACEPOINT_INSTANCE(MethodLoad)
+MethodLoadUnload_V1T_TRACEPOINT_INSTANCE(MethodLoad_V1)
+MethodLoadUnload_V2T_TRACEPOINT_INSTANCE(MethodLoad_V2)
+MethodLoadUnloadT_TRACEPOINT_INSTANCE(MethodUnload)
+MethodLoadUnload_V1T_TRACEPOINT_INSTANCE(MethodUnload_V1)
+MethodLoadUnload_V2T_TRACEPOINT_INSTANCE(MethodUnload_V2)
+MethodLoadUnloadVerboseT_TRACEPOINT_INSTANCE(MethodLoadVerbose)
+MethodLoadUnloadVerbose_V1T_TRACEPOINT_INSTANCE(MethodLoadVerbose_V1)
+MethodLoadUnloadVerbose_V2T_TRACEPOINT_INSTANCE(MethodLoadVerbose_V2)
+MethodLoadUnloadVerbose_V2_1T_TRACEPOINT_INSTANCE(MethodLoadVerbose_V2_1)
+MethodLoadUnloadVerboseT_TRACEPOINT_INSTANCE(MethodUnloadVerbose)
+MethodLoadUnloadVerbose_V1T_TRACEPOINT_INSTANCE(MethodUnloadVerbose_V1)
+MethodLoadUnloadVerbose_V2T_TRACEPOINT_INSTANCE(MethodUnloadVerbose_V2)
+MethodLoadUnloadVerbose_V2_1T_TRACEPOINT_INSTANCE(MethodUnloadVerbose_V2_1)
+MethodJittingStartedT_TRACEPOINT_INSTANCE(MethodJittingStarted)
+MethodJittingStarted_V1T_TRACEPOINT_INSTANCE(MethodJittingStarted_V1)
+MethodJitInliningSucceededT_TRACEPOINT_INSTANCE(MethodJitInliningSucceeded)
+MethodJitInliningFailedT_TRACEPOINT_INSTANCE(MethodJitInliningFailed)
+MethodJitInliningFailed_1T_TRACEPOINT_INSTANCE(MethodJitInliningFailed_1)
+MethodJitTailCallSucceededT_TRACEPOINT_INSTANCE(MethodJitTailCallSucceeded)
+MethodJitTailCallSucceeded_1T_TRACEPOINT_INSTANCE(MethodJitTailCallSucceeded_1)
+MethodJitTailCallFailedT_TRACEPOINT_INSTANCE(MethodJitTailCallFailed)
+MethodJitTailCallFailed_1T_TRACEPOINT_INSTANCE(MethodJitTailCallFailed_1)
+MethodILToNativeMapT_TRACEPOINT_INSTANCE(MethodILToNativeMap)
+ModuleLoadUnloadT_TRACEPOINT_INSTANCE(ModuleDCStartV2)
+ModuleLoadUnloadT_TRACEPOINT_INSTANCE(ModuleDCEndV2)
+DomainModuleLoadUnloadT_TRACEPOINT_INSTANCE(DomainModuleLoad)
+DomainModuleLoadUnload_V1T_TRACEPOINT_INSTANCE(DomainModuleLoad_V1)
+ModuleLoadUnloadT_TRACEPOINT_INSTANCE(ModuleLoad)
+ModuleLoadUnload_V1T_TRACEPOINT_INSTANCE(ModuleLoad_V1)
+ModuleLoadUnload_V2T_TRACEPOINT_INSTANCE(ModuleLoad_V2)
+ModuleLoadUnload_V2_1T_TRACEPOINT_INSTANCE(ModuleLoad_V2_1)
+ModuleLoadUnloadT_TRACEPOINT_INSTANCE(ModuleUnload)
+ModuleLoadUnload_V1T_TRACEPOINT_INSTANCE(ModuleUnload_V1)
+ModuleLoadUnload_V2T_TRACEPOINT_INSTANCE(ModuleUnload_V2)
+ModuleLoadUnload_V2_1T_TRACEPOINT_INSTANCE(ModuleUnload_V2_1)
+AssemblyLoadUnloadT_TRACEPOINT_INSTANCE(AssemblyLoad)
+AssemblyLoadUnload_V1T_TRACEPOINT_INSTANCE(AssemblyLoad_V1)
+AssemblyLoadUnloadT_TRACEPOINT_INSTANCE(AssemblyUnload)
+AssemblyLoadUnload_V1T_TRACEPOINT_INSTANCE(AssemblyUnload_V1)
+AppDomainLoadUnloadT_TRACEPOINT_INSTANCE(AppDomainLoad)
+AppDomainLoadUnload_V1T_TRACEPOINT_INSTANCE(AppDomainLoad_V1)
+AppDomainLoadUnloadT_TRACEPOINT_INSTANCE(AppDomainUnload)
+AppDomainLoadUnload_V1T_TRACEPOINT_INSTANCE(AppDomainUnload_V1)
+ModuleRangeT_TRACEPOINT_INSTANCE(ModuleRangeLoad)
+StrongNameVerificationT_TRACEPOINT_INSTANCE(StrongNameVerificationStart)
+StrongNameVerification_V1T_TRACEPOINT_INSTANCE(StrongNameVerificationStart_V1)
+StrongNameVerificationT_TRACEPOINT_INSTANCE(StrongNameVerificationStop)
+StrongNameVerification_V1T_TRACEPOINT_INSTANCE(StrongNameVerificationStop_V1)
+AuthenticodeVerificationT_TRACEPOINT_INSTANCE(AuthenticodeVerificationStart)
+AuthenticodeVerification_V1T_TRACEPOINT_INSTANCE(AuthenticodeVerificationStart_V1)
+AuthenticodeVerificationT_TRACEPOINT_INSTANCE(AuthenticodeVerificationStop)
+AuthenticodeVerification_V1T_TRACEPOINT_INSTANCE(AuthenticodeVerificationStop_V1)
+RuntimeInformationT_TRACEPOINT_INSTANCE(RuntimeInformationStart)
+RuntimeInformation_1T_TRACEPOINT_INSTANCE(RuntimeInformationStart_1)
+IncreaseMemoryPressureT_TRACEPOINT_INSTANCE(IncreaseMemoryPressure)
+DecreaseMemoryPressureT_TRACEPOINT_INSTANCE(DecreaseMemoryPressure)
+GCMarkWithTypeT_TRACEPOINT_INSTANCE(GCMarkWithType)
+GCJoin_V2T_TRACEPOINT_INSTANCE(GCJoin_V2)
+GCPerHeapHistory_V3T_TRACEPOINT_INSTANCE(GCPerHeapHistory_V3)
+GCPerHeapHistory_V3_1T_TRACEPOINT_INSTANCE(GCPerHeapHistory_V3_1)
+GCGlobalHeap_V2T_TRACEPOINT_INSTANCE(GCGlobalHeapHistory_V2)
+T_TRACEPOINT_INSTANCE(DebugIPCEventStart)
+T_TRACEPOINT_INSTANCE(DebugIPCEventEnd)
+T_TRACEPOINT_INSTANCE(DebugExceptionProcessingStart)
+T_TRACEPOINT_INSTANCE(DebugExceptionProcessingEnd)
+CodeSymbolsT_TRACEPOINT_INSTANCE(CodeSymbols)
+#endif /* LTTNG_CORECLR_HDotNETRuntime */
+#include <lttng/tracepoint-event.h>
diff --git a/src/pal/src/eventprovider/lttng/tpdotnetruntimeprivate.h b/src/pal/src/eventprovider/lttng/tpdotnetruntimeprivate.h
new file mode 100644 (file)
index 0000000..12960fc
--- /dev/null
@@ -0,0 +1,1607 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
+
+******************************************************************/
+
+
+#include "palrt.h"
+#include "pal.h"
+
+#undef TRACEPOINT_PROVIDER
+#define TRACEPOINT_PROVIDER DotNETRuntimePrivate
+
+#undef TRACEPOINT_INCLUDE
+#define TRACEPOINT_INCLUDE "./lttng/tpdotnetruntimeprivate.h"
+
+#if !defined(LTTNG_CORECLR_HDotNETRuntimePrivate) || defined(TRACEPOINT_HEADER_MULTI_READ)
+#define LTTNG_CORECLR_HDotNETRuntimePrivate
+
+#include <lttng/tracepoint.h>
+
+
+#define ClrStackWalk_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned char ,Reserved1,\
+        const unsigned char ,Reserved2,\
+        const unsigned int ,FrameCount,\
+        const size_t* ,Stack\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    ClrStackWalk,
+    ClrStackWalk_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned char,Reserved1,Reserved1)
+        ctf_integer(unsigned char,Reserved2,Reserved2)
+        ctf_integer(unsigned int,FrameCount,FrameCount)
+        ctf_sequence(size_t, Stack, Stack,size_t,2)
+    )
+)
+#define ClrStackWalkT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    ClrStackWalk ,\
+    name ,\
+    ClrStackWalk_TRACEPOINT_ARGS \
+)
+
+#define EvidenceGenerated_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Type,\
+        const unsigned int ,AppDomain,\
+        const char* ,ILImage,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    EvidenceGenerated,
+    EvidenceGenerated_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Type,Type)
+        ctf_integer(unsigned int,AppDomain,AppDomain)
+        ctf_string(ILImage,ILImage)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define EvidenceGeneratedT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    EvidenceGenerated ,\
+    name ,\
+    EvidenceGenerated_TRACEPOINT_ARGS \
+)
+
+#define GCDecision_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const BOOL ,DoCompact\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    GCDecision,
+    GCDecision_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(BOOL,DoCompact,DoCompact)
+    )
+)
+#define GCDecisionT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    GCDecision ,\
+    name ,\
+    GCDecision_TRACEPOINT_ARGS \
+)
+
+#define GCDecision_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const BOOL ,DoCompact,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    GCDecision_V1,
+    GCDecision_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(BOOL,DoCompact,DoCompact)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCDecision_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    GCDecision_V1 ,\
+    name ,\
+    GCDecision_V1_TRACEPOINT_ARGS \
+)
+
+#define PrvGCMark_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,HeapNum\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    PrvGCMark,
+    PrvGCMark_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,HeapNum,HeapNum)
+    )
+)
+#define PrvGCMarkT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    PrvGCMark ,\
+    name ,\
+    PrvGCMark_TRACEPOINT_ARGS \
+)
+
+#define PrvGCMark_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,HeapNum,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    PrvGCMark_V1,
+    PrvGCMark_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,HeapNum,HeapNum)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define PrvGCMark_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    PrvGCMark_V1 ,\
+    name ,\
+    PrvGCMark_V1_TRACEPOINT_ARGS \
+)
+
+#define GCPerHeapHistory_TRACEPOINT_ARGS \
+TP_ARGS(\
+\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    GCPerHeapHistory,
+    GCPerHeapHistory_TRACEPOINT_ARGS,
+     TP_FIELDS(
+    )
+)
+#define GCPerHeapHistoryT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    GCPerHeapHistory ,\
+    name ,\
+    GCPerHeapHistory_TRACEPOINT_ARGS \
+)
+
+#define GCPerHeapHistory_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    GCPerHeapHistory_V1,
+    GCPerHeapHistory_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCPerHeapHistory_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    GCPerHeapHistory_V1 ,\
+    name ,\
+    GCPerHeapHistory_V1_TRACEPOINT_ARGS \
+)
+
+#define GCGlobalHeap_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,FinalYoungestDesired,\
+        const signed int ,NumHeaps,\
+        const unsigned int ,CondemnedGeneration,\
+        const unsigned int ,Gen0ReductionCount,\
+        const unsigned int ,Reason,\
+        const unsigned int ,GlobalMechanisms\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    GCGlobalHeap,
+    GCGlobalHeap_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,FinalYoungestDesired,FinalYoungestDesired)
+        ctf_integer(signed int,NumHeaps,NumHeaps)
+        ctf_integer(unsigned int,CondemnedGeneration,CondemnedGeneration)
+        ctf_integer(unsigned int,Gen0ReductionCount,Gen0ReductionCount)
+        ctf_integer(unsigned int,Reason,Reason)
+        ctf_integer(unsigned int,GlobalMechanisms,GlobalMechanisms)
+    )
+)
+#define GCGlobalHeapT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    GCGlobalHeap ,\
+    name ,\
+    GCGlobalHeap_TRACEPOINT_ARGS \
+)
+
+#define GCGlobalHeap_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,FinalYoungestDesired,\
+        const signed int ,NumHeaps,\
+        const unsigned int ,CondemnedGeneration,\
+        const unsigned int ,Gen0ReductionCount,\
+        const unsigned int ,Reason,\
+        const unsigned int ,GlobalMechanisms,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    GCGlobalHeap_V1,
+    GCGlobalHeap_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,FinalYoungestDesired,FinalYoungestDesired)
+        ctf_integer(signed int,NumHeaps,NumHeaps)
+        ctf_integer(unsigned int,CondemnedGeneration,CondemnedGeneration)
+        ctf_integer(unsigned int,Gen0ReductionCount,Gen0ReductionCount)
+        ctf_integer(unsigned int,Reason,Reason)
+        ctf_integer(unsigned int,GlobalMechanisms,GlobalMechanisms)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCGlobalHeap_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    GCGlobalHeap_V1 ,\
+    name ,\
+    GCGlobalHeap_V1_TRACEPOINT_ARGS \
+)
+
+#define GCJoin_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Heap,\
+        const unsigned int ,JoinTime,\
+        const unsigned int ,JoinType\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    GCJoin,
+    GCJoin_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Heap,Heap)
+        ctf_integer(unsigned int,JoinTime,JoinTime)
+        ctf_integer(unsigned int,JoinType,JoinType)
+    )
+)
+#define GCJoinT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    GCJoin ,\
+    name ,\
+    GCJoin_TRACEPOINT_ARGS \
+)
+
+#define GCJoin_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Heap,\
+        const unsigned int ,JoinTime,\
+        const unsigned int ,JoinType,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    GCJoin_V1,
+    GCJoin_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Heap,Heap)
+        ctf_integer(unsigned int,JoinTime,JoinTime)
+        ctf_integer(unsigned int,JoinType,JoinType)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCJoin_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    GCJoin_V1 ,\
+    name ,\
+    GCJoin_V1_TRACEPOINT_ARGS \
+)
+
+#define GCOptimized_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,DesiredAllocation,\
+        const unsigned __int64 ,NewAllocation,\
+        const unsigned int ,GenerationNumber\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    GCOptimized,
+    GCOptimized_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,DesiredAllocation,DesiredAllocation)
+        ctf_integer(unsigned __int64,NewAllocation,NewAllocation)
+        ctf_integer(unsigned int,GenerationNumber,GenerationNumber)
+    )
+)
+#define GCOptimizedT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    GCOptimized ,\
+    name ,\
+    GCOptimized_TRACEPOINT_ARGS \
+)
+
+#define GCOptimized_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,DesiredAllocation,\
+        const unsigned __int64 ,NewAllocation,\
+        const unsigned int ,GenerationNumber,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    GCOptimized_V1,
+    GCOptimized_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,DesiredAllocation,DesiredAllocation)
+        ctf_integer(unsigned __int64,NewAllocation,NewAllocation)
+        ctf_integer(unsigned int,GenerationNumber,GenerationNumber)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCOptimized_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    GCOptimized_V1 ,\
+    name ,\
+    GCOptimized_V1_TRACEPOINT_ARGS \
+)
+
+#define GCSettings_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,SegmentSize,\
+        const unsigned __int64 ,LargeObjectSegmentSize,\
+        const BOOL ,ServerGC\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    GCSettings,
+    GCSettings_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,SegmentSize,SegmentSize)
+        ctf_integer(unsigned __int64,LargeObjectSegmentSize,LargeObjectSegmentSize)
+        ctf_integer(BOOL,ServerGC,ServerGC)
+    )
+)
+#define GCSettingsT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    GCSettings ,\
+    name ,\
+    GCSettings_TRACEPOINT_ARGS \
+)
+
+#define GCSettings_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,SegmentSize,\
+        const unsigned __int64 ,LargeObjectSegmentSize,\
+        const BOOL ,ServerGC,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    GCSettings_V1,
+    GCSettings_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,SegmentSize,SegmentSize)
+        ctf_integer(unsigned __int64,LargeObjectSegmentSize,LargeObjectSegmentSize)
+        ctf_integer(BOOL,ServerGC,ServerGC)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCSettings_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    GCSettings_V1 ,\
+    name ,\
+    GCSettings_V1_TRACEPOINT_ARGS \
+)
+
+#define BGCDrainMark_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,Objects,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    BGCDrainMark,
+    BGCDrainMark_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,Objects,Objects)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define BGCDrainMarkT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    BGCDrainMark ,\
+    name ,\
+    BGCDrainMark_TRACEPOINT_ARGS \
+)
+
+#define BGCRevisit_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,Pages,\
+        const unsigned __int64 ,Objects,\
+        const unsigned int ,IsLarge,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    BGCRevisit,
+    BGCRevisit_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,Pages,Pages)
+        ctf_integer(unsigned __int64,Objects,Objects)
+        ctf_integer(unsigned int,IsLarge,IsLarge)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define BGCRevisitT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    BGCRevisit ,\
+    name ,\
+    BGCRevisit_TRACEPOINT_ARGS \
+)
+
+#define BGCOverflow_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,Min,\
+        const unsigned __int64 ,Max,\
+        const unsigned __int64 ,Objects,\
+        const unsigned int ,IsLarge,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    BGCOverflow,
+    BGCOverflow_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,Min,Min)
+        ctf_integer(unsigned __int64,Max,Max)
+        ctf_integer(unsigned __int64,Objects,Objects)
+        ctf_integer(unsigned int,IsLarge,IsLarge)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define BGCOverflowT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    BGCOverflow ,\
+    name ,\
+    BGCOverflow_TRACEPOINT_ARGS \
+)
+
+#define BGCAllocWait_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Reason,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    BGCAllocWait,
+    BGCAllocWait_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Reason,Reason)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define BGCAllocWaitT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    BGCAllocWait ,\
+    name ,\
+    BGCAllocWait_TRACEPOINT_ARGS \
+)
+
+#define GCFullNotify_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,GenNumber,\
+        const unsigned int ,IsAlloc\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    GCFullNotify,
+    GCFullNotify_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,GenNumber,GenNumber)
+        ctf_integer(unsigned int,IsAlloc,IsAlloc)
+    )
+)
+#define GCFullNotifyT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    GCFullNotify ,\
+    name ,\
+    GCFullNotify_TRACEPOINT_ARGS \
+)
+
+#define GCFullNotify_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,GenNumber,\
+        const unsigned int ,IsAlloc,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    GCFullNotify_V1,
+    GCFullNotify_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,GenNumber,GenNumber)
+        ctf_integer(unsigned int,IsAlloc,IsAlloc)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCFullNotify_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    GCFullNotify_V1 ,\
+    name ,\
+    GCFullNotify_V1_TRACEPOINT_ARGS \
+)
+
+#define GCNoUserData_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    GCNoUserData,
+    GCNoUserData_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define GCNoUserDataT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    GCNoUserData ,\
+    name ,\
+    GCNoUserData_TRACEPOINT_ARGS \
+)
+
+#define Startup_TRACEPOINT_ARGS \
+TP_ARGS(\
+\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    Startup,
+    Startup_TRACEPOINT_ARGS,
+     TP_FIELDS(
+    )
+)
+#define StartupT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    Startup ,\
+    name ,\
+    Startup_TRACEPOINT_ARGS \
+)
+
+#define Startup_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    Startup_V1,
+    Startup_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define Startup_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    Startup_V1 ,\
+    name ,\
+    Startup_V1_TRACEPOINT_ARGS \
+)
+
+#define FusionMessage_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID,\
+        const BOOL ,Prepend,\
+        const char* ,Message\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    FusionMessage,
+    FusionMessage_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(BOOL,Prepend,Prepend)
+        ctf_string(Message,Message)
+    )
+)
+#define FusionMessageT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    FusionMessage ,\
+    name ,\
+    FusionMessage_TRACEPOINT_ARGS \
+)
+
+#define FusionErrorCode_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned int ,Category,\
+        const unsigned int ,ErrorCode\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    FusionErrorCode,
+    FusionErrorCode_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned int,Category,Category)
+        ctf_integer(unsigned int,ErrorCode,ErrorCode)
+    )
+)
+#define FusionErrorCodeT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    FusionErrorCode ,\
+    name ,\
+    FusionErrorCode_TRACEPOINT_ARGS \
+)
+
+#define Binding_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,AppDomainID,\
+        const unsigned int ,LoadContextID,\
+        const unsigned int ,FromLoaderCache,\
+        const unsigned int ,DynamicLoad,\
+        const char* ,AssemblyCodebase,\
+        const char* ,AssemblyName,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    Binding,
+    Binding_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,AppDomainID,AppDomainID)
+        ctf_integer(unsigned int,LoadContextID,LoadContextID)
+        ctf_integer(unsigned int,FromLoaderCache,FromLoaderCache)
+        ctf_integer(unsigned int,DynamicLoad,DynamicLoad)
+        ctf_string(AssemblyCodebase,AssemblyCodebase)
+        ctf_string(AssemblyName,AssemblyName)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define BindingT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    Binding ,\
+    name ,\
+    Binding_TRACEPOINT_ARGS \
+)
+
+#define NgenBindEvent_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned __int64 ,BindingID,\
+        const unsigned int ,ReasonCode,\
+        const char* ,AssemblyName\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    NgenBindEvent,
+    NgenBindEvent_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned __int64,BindingID,BindingID)
+        ctf_integer(unsigned int,ReasonCode,ReasonCode)
+        ctf_string(AssemblyName,AssemblyName)
+    )
+)
+#define NgenBindEventT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    NgenBindEvent ,\
+    name ,\
+    NgenBindEvent_TRACEPOINT_ARGS \
+)
+
+#define ModuleTransparencyCalculation_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,Module,\
+        const unsigned int ,AppDomainID,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    ModuleTransparencyCalculation,
+    ModuleTransparencyCalculation_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(Module,Module)
+        ctf_integer(unsigned int,AppDomainID,AppDomainID)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define ModuleTransparencyCalculationT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    ModuleTransparencyCalculation ,\
+    name ,\
+    ModuleTransparencyCalculation_TRACEPOINT_ARGS \
+)
+
+#define TypeTransparencyCalculation_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,Type,\
+        const char* ,Module,\
+        const unsigned int ,AppDomainID,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    TypeTransparencyCalculation,
+    TypeTransparencyCalculation_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(Type,Type)
+        ctf_string(Module,Module)
+        ctf_integer(unsigned int,AppDomainID,AppDomainID)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define TypeTransparencyCalculationT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    TypeTransparencyCalculation ,\
+    name ,\
+    TypeTransparencyCalculation_TRACEPOINT_ARGS \
+)
+
+#define MethodTransparencyCalculation_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,Method,\
+        const char* ,Module,\
+        const unsigned int ,AppDomainID,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    MethodTransparencyCalculation,
+    MethodTransparencyCalculation_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(Method,Method)
+        ctf_string(Module,Module)
+        ctf_integer(unsigned int,AppDomainID,AppDomainID)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define MethodTransparencyCalculationT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    MethodTransparencyCalculation ,\
+    name ,\
+    MethodTransparencyCalculation_TRACEPOINT_ARGS \
+)
+
+#define FieldTransparencyCalculation_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,Field,\
+        const char* ,Module,\
+        const unsigned int ,AppDomainID,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    FieldTransparencyCalculation,
+    FieldTransparencyCalculation_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(Field,Field)
+        ctf_string(Module,Module)
+        ctf_integer(unsigned int,AppDomainID,AppDomainID)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define FieldTransparencyCalculationT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    FieldTransparencyCalculation ,\
+    name ,\
+    FieldTransparencyCalculation_TRACEPOINT_ARGS \
+)
+
+#define TokenTransparencyCalculation_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Token,\
+        const char* ,Module,\
+        const unsigned int ,AppDomainID,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    TokenTransparencyCalculation,
+    TokenTransparencyCalculation_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Token,Token)
+        ctf_string(Module,Module)
+        ctf_integer(unsigned int,AppDomainID,AppDomainID)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define TokenTransparencyCalculationT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    TokenTransparencyCalculation ,\
+    name ,\
+    TokenTransparencyCalculation_TRACEPOINT_ARGS \
+)
+
+#define ModuleTransparencyCalculationResult_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,Module,\
+        const unsigned int ,AppDomainID,\
+        const BOOL ,IsAllCritical,\
+        const BOOL ,IsAllTransparent,\
+        const BOOL ,IsTreatAsSafe,\
+        const BOOL ,IsOpportunisticallyCritical,\
+        const unsigned int ,SecurityRuleSet,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    ModuleTransparencyCalculationResult,
+    ModuleTransparencyCalculationResult_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(Module,Module)
+        ctf_integer(unsigned int,AppDomainID,AppDomainID)
+        ctf_integer(BOOL,IsAllCritical,IsAllCritical)
+        ctf_integer(BOOL,IsAllTransparent,IsAllTransparent)
+        ctf_integer(BOOL,IsTreatAsSafe,IsTreatAsSafe)
+        ctf_integer(BOOL,IsOpportunisticallyCritical,IsOpportunisticallyCritical)
+        ctf_integer(unsigned int,SecurityRuleSet,SecurityRuleSet)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define ModuleTransparencyCalculationResultT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    ModuleTransparencyCalculationResult ,\
+    name ,\
+    ModuleTransparencyCalculationResult_TRACEPOINT_ARGS \
+)
+
+#define TypeTransparencyCalculationResult_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,Type,\
+        const char* ,Module,\
+        const unsigned int ,AppDomainID,\
+        const BOOL ,IsAllCritical,\
+        const BOOL ,IsAllTransparent,\
+        const BOOL ,IsCritical,\
+        const BOOL ,IsTreatAsSafe,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    TypeTransparencyCalculationResult,
+    TypeTransparencyCalculationResult_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(Type,Type)
+        ctf_string(Module,Module)
+        ctf_integer(unsigned int,AppDomainID,AppDomainID)
+        ctf_integer(BOOL,IsAllCritical,IsAllCritical)
+        ctf_integer(BOOL,IsAllTransparent,IsAllTransparent)
+        ctf_integer(BOOL,IsCritical,IsCritical)
+        ctf_integer(BOOL,IsTreatAsSafe,IsTreatAsSafe)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define TypeTransparencyCalculationResultT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    TypeTransparencyCalculationResult ,\
+    name ,\
+    TypeTransparencyCalculationResult_TRACEPOINT_ARGS \
+)
+
+#define MethodTransparencyCalculationResult_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,Method,\
+        const char* ,Module,\
+        const unsigned int ,AppDomainID,\
+        const BOOL ,IsCritical,\
+        const BOOL ,IsTreatAsSafe,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    MethodTransparencyCalculationResult,
+    MethodTransparencyCalculationResult_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(Method,Method)
+        ctf_string(Module,Module)
+        ctf_integer(unsigned int,AppDomainID,AppDomainID)
+        ctf_integer(BOOL,IsCritical,IsCritical)
+        ctf_integer(BOOL,IsTreatAsSafe,IsTreatAsSafe)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define MethodTransparencyCalculationResultT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    MethodTransparencyCalculationResult ,\
+    name ,\
+    MethodTransparencyCalculationResult_TRACEPOINT_ARGS \
+)
+
+#define FieldTransparencyCalculationResult_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,Field,\
+        const char* ,Module,\
+        const unsigned int ,AppDomainID,\
+        const BOOL ,IsCritical,\
+        const BOOL ,IsTreatAsSafe,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    FieldTransparencyCalculationResult,
+    FieldTransparencyCalculationResult_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(Field,Field)
+        ctf_string(Module,Module)
+        ctf_integer(unsigned int,AppDomainID,AppDomainID)
+        ctf_integer(BOOL,IsCritical,IsCritical)
+        ctf_integer(BOOL,IsTreatAsSafe,IsTreatAsSafe)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define FieldTransparencyCalculationResultT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    FieldTransparencyCalculationResult ,\
+    name ,\
+    FieldTransparencyCalculationResult_TRACEPOINT_ARGS \
+)
+
+#define TokenTransparencyCalculationResult_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Token,\
+        const char* ,Module,\
+        const unsigned int ,AppDomainID,\
+        const BOOL ,IsCritical,\
+        const BOOL ,IsTreatAsSafe,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    TokenTransparencyCalculationResult,
+    TokenTransparencyCalculationResult_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Token,Token)
+        ctf_string(Module,Module)
+        ctf_integer(unsigned int,AppDomainID,AppDomainID)
+        ctf_integer(BOOL,IsCritical,IsCritical)
+        ctf_integer(BOOL,IsTreatAsSafe,IsTreatAsSafe)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define TokenTransparencyCalculationResultT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    TokenTransparencyCalculationResult ,\
+    name ,\
+    TokenTransparencyCalculationResult_TRACEPOINT_ARGS \
+)
+
+#define FailFast_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,FailFastUserMessage,\
+        const size_t ,FailedEIP,\
+        const unsigned int ,OSExitCode,\
+        const unsigned int ,ClrExitCode,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    FailFast,
+    FailFast_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(FailFastUserMessage,FailFastUserMessage)
+        ctf_integer(size_t,FailedEIP,FailedEIP)
+        ctf_integer(unsigned int,OSExitCode,OSExitCode)
+        ctf_integer(unsigned int,ClrExitCode,ClrExitCode)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define FailFastT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    FailFast ,\
+    name ,\
+    FailFast_TRACEPOINT_ARGS \
+)
+
+#define PrvFinalizeObject_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const size_t ,TypeID,\
+        const size_t ,ObjectID,\
+        const unsigned short ,ClrInstanceID,\
+        const char* ,TypeName\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    PrvFinalizeObject,
+    PrvFinalizeObject_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(size_t,TypeID,TypeID)
+        ctf_integer(size_t,ObjectID,ObjectID)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_string(TypeName,TypeName)
+    )
+)
+#define PrvFinalizeObjectT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    PrvFinalizeObject ,\
+    name ,\
+    PrvFinalizeObject_TRACEPOINT_ARGS \
+)
+
+#define CCWRefCountChange_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const size_t ,HandleID,\
+        const size_t ,ObjectID,\
+        const size_t ,COMInterfacePointer,\
+        const unsigned int ,NewRefCount,\
+        const unsigned __int64 ,AppDomainID,\
+        const char* ,ClassName,\
+        const char* ,NameSpace,\
+        const char* ,Operation,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    CCWRefCountChange,
+    CCWRefCountChange_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(size_t,HandleID,HandleID)
+        ctf_integer(size_t,ObjectID,ObjectID)
+        ctf_integer(size_t,COMInterfacePointer,COMInterfacePointer)
+        ctf_integer(unsigned int,NewRefCount,NewRefCount)
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_string(ClassName,ClassName)
+        ctf_string(NameSpace,NameSpace)
+        ctf_string(Operation,Operation)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define CCWRefCountChangeT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    CCWRefCountChange ,\
+    name ,\
+    CCWRefCountChange_TRACEPOINT_ARGS \
+)
+
+#define PinPlugAtGCTime_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const size_t ,PlugStart,\
+        const size_t ,PlugEnd,\
+        const size_t ,GapBeforeSize,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    PinPlugAtGCTime,
+    PinPlugAtGCTime_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(size_t,PlugStart,PlugStart)
+        ctf_integer(size_t,PlugEnd,PlugEnd)
+        ctf_integer(size_t,GapBeforeSize,GapBeforeSize)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define PinPlugAtGCTimeT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    PinPlugAtGCTime ,\
+    name ,\
+    PinPlugAtGCTime_TRACEPOINT_ARGS \
+)
+
+#define PrvDestroyGCHandle_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const size_t ,HandleID,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    PrvDestroyGCHandle,
+    PrvDestroyGCHandle_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(size_t,HandleID,HandleID)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define PrvDestroyGCHandleT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    PrvDestroyGCHandle ,\
+    name ,\
+    PrvDestroyGCHandle_TRACEPOINT_ARGS \
+)
+
+#define PrvSetGCHandle_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const size_t ,HandleID,\
+        const size_t ,ObjectID,\
+        const unsigned int ,Kind,\
+        const unsigned int ,Generation,\
+        const unsigned __int64 ,AppDomainID,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    PrvSetGCHandle,
+    PrvSetGCHandle_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(size_t,HandleID,HandleID)
+        ctf_integer(size_t,ObjectID,ObjectID)
+        ctf_integer(unsigned int,Kind,Kind)
+        ctf_integer(unsigned int,Generation,Generation)
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define PrvSetGCHandleT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    PrvSetGCHandle ,\
+    name ,\
+    PrvSetGCHandle_TRACEPOINT_ARGS \
+)
+
+#define LoaderHeapPrivate_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const size_t ,LoaderHeapPtr,\
+        const size_t ,MemoryAddress,\
+        const unsigned int ,RequestSize,\
+        const unsigned int ,Unused1,\
+        const unsigned __int64 ,Unused2,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    LoaderHeapPrivate,
+    LoaderHeapPrivate_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(size_t,LoaderHeapPtr,LoaderHeapPtr)
+        ctf_integer(size_t,MemoryAddress,MemoryAddress)
+        ctf_integer(unsigned int,RequestSize,RequestSize)
+        ctf_integer(unsigned int,Unused1,Unused1)
+        ctf_integer(unsigned __int64,Unused2,Unused2)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define LoaderHeapPrivateT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    LoaderHeapPrivate ,\
+    name ,\
+    LoaderHeapPrivate_TRACEPOINT_ARGS \
+)
+
+#define ModuleRangePrivate_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned int ,RangeBegin,\
+        const unsigned int ,RangeSize,\
+        const unsigned char ,RangeType,\
+        const unsigned char ,IBCType,\
+        const unsigned short ,SectionType\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    ModuleRangePrivate,
+    ModuleRangePrivate_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned int,RangeBegin,RangeBegin)
+        ctf_integer(unsigned int,RangeSize,RangeSize)
+        ctf_integer(unsigned char,RangeType,RangeType)
+        ctf_integer(unsigned char,IBCType,IBCType)
+        ctf_integer(unsigned short,SectionType,SectionType)
+    )
+)
+#define ModuleRangePrivateT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    ModuleRangePrivate ,\
+    name ,\
+    ModuleRangePrivate_TRACEPOINT_ARGS \
+)
+
+#define MulticoreJitPrivate_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID,\
+        const char* ,String1,\
+        const char* ,String2,\
+        const signed int ,Int1,\
+        const signed int ,Int2,\
+        const signed int ,Int3\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    MulticoreJitPrivate,
+    MulticoreJitPrivate_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_string(String1,String1)
+        ctf_string(String2,String2)
+        ctf_integer(signed int,Int1,Int1)
+        ctf_integer(signed int,Int2,Int2)
+        ctf_integer(signed int,Int3,Int3)
+    )
+)
+#define MulticoreJitPrivateT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    MulticoreJitPrivate ,\
+    name ,\
+    MulticoreJitPrivate_TRACEPOINT_ARGS \
+)
+
+#define MulticoreJitMethodCodeReturnedPrivate_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,MethodID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    MulticoreJitMethodCodeReturnedPrivate,
+    MulticoreJitMethodCodeReturnedPrivate_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,MethodID,MethodID)
+    )
+)
+#define MulticoreJitMethodCodeReturnedPrivateT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    MulticoreJitMethodCodeReturnedPrivate ,\
+    name ,\
+    MulticoreJitMethodCodeReturnedPrivate_TRACEPOINT_ARGS \
+)
+
+#define DynamicTypeUsePrivate_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,TypeName,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    DynamicTypeUsePrivate,
+    DynamicTypeUsePrivate_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(TypeName,TypeName)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define DynamicTypeUsePrivateT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    DynamicTypeUsePrivate ,\
+    name ,\
+    DynamicTypeUsePrivate_TRACEPOINT_ARGS \
+)
+
+#define DynamicTypeUseTwoParametersPrivate_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,TypeName,\
+        const char* ,SecondTypeName,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    DynamicTypeUseTwoParametersPrivate,
+    DynamicTypeUseTwoParametersPrivate_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(TypeName,TypeName)
+        ctf_string(SecondTypeName,SecondTypeName)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define DynamicTypeUseTwoParametersPrivateT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    DynamicTypeUseTwoParametersPrivate ,\
+    name ,\
+    DynamicTypeUseTwoParametersPrivate_TRACEPOINT_ARGS \
+)
+
+#define DynamicTypeUsePrivateVariance_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,TypeName,\
+        const char* ,InterfaceTypeName,\
+        const char* ,VariantInterfaceTypeName,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    DynamicTypeUsePrivateVariance,
+    DynamicTypeUsePrivateVariance_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(TypeName,TypeName)
+        ctf_string(InterfaceTypeName,InterfaceTypeName)
+        ctf_string(VariantInterfaceTypeName,VariantInterfaceTypeName)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define DynamicTypeUsePrivateVarianceT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    DynamicTypeUsePrivateVariance ,\
+    name ,\
+    DynamicTypeUsePrivateVariance_TRACEPOINT_ARGS \
+)
+
+#define DynamicTypeUseStringAndIntPrivate_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const char* ,TypeName,\
+        const signed int ,Int1,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    DynamicTypeUseStringAndIntPrivate,
+    DynamicTypeUseStringAndIntPrivate_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_string(TypeName,TypeName)
+        ctf_integer(signed int,Int1,Int1)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define DynamicTypeUseStringAndIntPrivateT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    DynamicTypeUseStringAndIntPrivate ,\
+    name ,\
+    DynamicTypeUseStringAndIntPrivate_TRACEPOINT_ARGS \
+)
+
+#define DynamicTypeUseNoParametersPrivate_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    DynamicTypeUseNoParametersPrivate,
+    DynamicTypeUseNoParametersPrivate_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define DynamicTypeUseNoParametersPrivateT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    DynamicTypeUseNoParametersPrivate ,\
+    name ,\
+    DynamicTypeUseNoParametersPrivate_TRACEPOINT_ARGS \
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimePrivate,
+    emptyTemplate ,
+    TP_ARGS(),
+    TP_FIELDS()
+)
+#define T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimePrivate,\
+    emptyTemplate,\
+    name ,\
+    TP_ARGS()\
+)
+GCDecisionT_TRACEPOINT_INSTANCE(GCDecision)
+GCDecision_V1T_TRACEPOINT_INSTANCE(GCDecision_V1)
+GCSettingsT_TRACEPOINT_INSTANCE(GCSettings)
+GCSettings_V1T_TRACEPOINT_INSTANCE(GCSettings_V1)
+GCOptimizedT_TRACEPOINT_INSTANCE(GCOptimized)
+GCOptimized_V1T_TRACEPOINT_INSTANCE(GCOptimized_V1)
+GCPerHeapHistoryT_TRACEPOINT_INSTANCE(GCPerHeapHistory)
+GCPerHeapHistory_V1T_TRACEPOINT_INSTANCE(GCPerHeapHistory_V1)
+GCGlobalHeapT_TRACEPOINT_INSTANCE(GCGlobalHeapHistory)
+GCGlobalHeap_V1T_TRACEPOINT_INSTANCE(GCGlobalHeapHistory_V1)
+GCJoinT_TRACEPOINT_INSTANCE(GCJoin)
+GCJoin_V1T_TRACEPOINT_INSTANCE(GCJoin_V1)
+PrvGCMarkT_TRACEPOINT_INSTANCE(PrvGCMarkStackRoots)
+PrvGCMark_V1T_TRACEPOINT_INSTANCE(PrvGCMarkStackRoots_V1)
+PrvGCMarkT_TRACEPOINT_INSTANCE(PrvGCMarkFinalizeQueueRoots)
+PrvGCMark_V1T_TRACEPOINT_INSTANCE(PrvGCMarkFinalizeQueueRoots_V1)
+PrvGCMarkT_TRACEPOINT_INSTANCE(PrvGCMarkHandles)
+PrvGCMark_V1T_TRACEPOINT_INSTANCE(PrvGCMarkHandles_V1)
+PrvGCMarkT_TRACEPOINT_INSTANCE(PrvGCMarkCards)
+PrvGCMark_V1T_TRACEPOINT_INSTANCE(PrvGCMarkCards_V1)
+GCNoUserDataT_TRACEPOINT_INSTANCE(BGCBegin)
+GCNoUserDataT_TRACEPOINT_INSTANCE(BGC1stNonConEnd)
+GCNoUserDataT_TRACEPOINT_INSTANCE(BGC1stConEnd)
+GCNoUserDataT_TRACEPOINT_INSTANCE(BGC2ndNonConBegin)
+GCNoUserDataT_TRACEPOINT_INSTANCE(BGC2ndNonConEnd)
+GCNoUserDataT_TRACEPOINT_INSTANCE(BGC2ndConBegin)
+GCNoUserDataT_TRACEPOINT_INSTANCE(BGC2ndConEnd)
+GCNoUserDataT_TRACEPOINT_INSTANCE(BGCPlanEnd)
+GCNoUserDataT_TRACEPOINT_INSTANCE(BGCSweepEnd)
+BGCDrainMarkT_TRACEPOINT_INSTANCE(BGCDrainMark)
+BGCRevisitT_TRACEPOINT_INSTANCE(BGCRevisit)
+BGCOverflowT_TRACEPOINT_INSTANCE(BGCOverflow)
+BGCAllocWaitT_TRACEPOINT_INSTANCE(BGCAllocWaitBegin)
+BGCAllocWaitT_TRACEPOINT_INSTANCE(BGCAllocWaitEnd)
+GCFullNotifyT_TRACEPOINT_INSTANCE(GCFullNotify)
+GCFullNotify_V1T_TRACEPOINT_INSTANCE(GCFullNotify_V1)
+StartupT_TRACEPOINT_INSTANCE(EEStartupStart)
+Startup_V1T_TRACEPOINT_INSTANCE(EEStartupStart_V1)
+StartupT_TRACEPOINT_INSTANCE(EEStartupEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(EEStartupEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(EEConfigSetup)
+Startup_V1T_TRACEPOINT_INSTANCE(EEConfigSetup_V1)
+StartupT_TRACEPOINT_INSTANCE(EEConfigSetupEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(EEConfigSetupEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(LdSysBases)
+Startup_V1T_TRACEPOINT_INSTANCE(LdSysBases_V1)
+StartupT_TRACEPOINT_INSTANCE(LdSysBasesEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(LdSysBasesEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(ExecExe)
+Startup_V1T_TRACEPOINT_INSTANCE(ExecExe_V1)
+StartupT_TRACEPOINT_INSTANCE(ExecExeEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(ExecExeEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(Main)
+Startup_V1T_TRACEPOINT_INSTANCE(Main_V1)
+StartupT_TRACEPOINT_INSTANCE(MainEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(MainEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(ApplyPolicyStart)
+Startup_V1T_TRACEPOINT_INSTANCE(ApplyPolicyStart_V1)
+StartupT_TRACEPOINT_INSTANCE(ApplyPolicyEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(ApplyPolicyEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(LdLibShFolder)
+Startup_V1T_TRACEPOINT_INSTANCE(LdLibShFolder_V1)
+StartupT_TRACEPOINT_INSTANCE(LdLibShFolderEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(LdLibShFolderEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(PrestubWorker)
+Startup_V1T_TRACEPOINT_INSTANCE(PrestubWorker_V1)
+StartupT_TRACEPOINT_INSTANCE(PrestubWorkerEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(PrestubWorkerEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(GetInstallationStart)
+Startup_V1T_TRACEPOINT_INSTANCE(GetInstallationStart_V1)
+StartupT_TRACEPOINT_INSTANCE(GetInstallationEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(GetInstallationEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(OpenHModule)
+Startup_V1T_TRACEPOINT_INSTANCE(OpenHModule_V1)
+StartupT_TRACEPOINT_INSTANCE(OpenHModuleEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(OpenHModuleEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(ExplicitBindStart)
+Startup_V1T_TRACEPOINT_INSTANCE(ExplicitBindStart_V1)
+StartupT_TRACEPOINT_INSTANCE(ExplicitBindEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(ExplicitBindEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(ParseXml)
+Startup_V1T_TRACEPOINT_INSTANCE(ParseXml_V1)
+StartupT_TRACEPOINT_INSTANCE(ParseXmlEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(ParseXmlEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(InitDefaultDomain)
+Startup_V1T_TRACEPOINT_INSTANCE(InitDefaultDomain_V1)
+StartupT_TRACEPOINT_INSTANCE(InitDefaultDomainEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(InitDefaultDomainEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(InitSecurity)
+Startup_V1T_TRACEPOINT_INSTANCE(InitSecurity_V1)
+StartupT_TRACEPOINT_INSTANCE(InitSecurityEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(InitSecurityEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(AllowBindingRedirs)
+Startup_V1T_TRACEPOINT_INSTANCE(AllowBindingRedirs_V1)
+StartupT_TRACEPOINT_INSTANCE(AllowBindingRedirsEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(AllowBindingRedirsEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(EEConfigSync)
+Startup_V1T_TRACEPOINT_INSTANCE(EEConfigSync_V1)
+StartupT_TRACEPOINT_INSTANCE(EEConfigSyncEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(EEConfigSyncEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(FusionBinding)
+Startup_V1T_TRACEPOINT_INSTANCE(FusionBinding_V1)
+StartupT_TRACEPOINT_INSTANCE(FusionBindingEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(FusionBindingEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(LoaderCatchCall)
+Startup_V1T_TRACEPOINT_INSTANCE(LoaderCatchCall_V1)
+StartupT_TRACEPOINT_INSTANCE(LoaderCatchCallEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(LoaderCatchCallEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(FusionInit)
+Startup_V1T_TRACEPOINT_INSTANCE(FusionInit_V1)
+StartupT_TRACEPOINT_INSTANCE(FusionInitEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(FusionInitEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(FusionAppCtx)
+Startup_V1T_TRACEPOINT_INSTANCE(FusionAppCtx_V1)
+StartupT_TRACEPOINT_INSTANCE(FusionAppCtxEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(FusionAppCtxEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(Fusion2EE)
+Startup_V1T_TRACEPOINT_INSTANCE(Fusion2EE_V1)
+StartupT_TRACEPOINT_INSTANCE(Fusion2EEEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(Fusion2EEEnd_V1)
+StartupT_TRACEPOINT_INSTANCE(SecurityCatchCall)
+Startup_V1T_TRACEPOINT_INSTANCE(SecurityCatchCall_V1)
+StartupT_TRACEPOINT_INSTANCE(SecurityCatchCallEnd)
+Startup_V1T_TRACEPOINT_INSTANCE(SecurityCatchCallEnd_V1)
+ClrStackWalkT_TRACEPOINT_INSTANCE(CLRStackWalkPrivate)
+ModuleRangePrivateT_TRACEPOINT_INSTANCE(ModuleRangeLoadPrivate)
+BindingT_TRACEPOINT_INSTANCE(BindingPolicyPhaseStart)
+BindingT_TRACEPOINT_INSTANCE(BindingPolicyPhaseEnd)
+BindingT_TRACEPOINT_INSTANCE(BindingNgenPhaseStart)
+BindingT_TRACEPOINT_INSTANCE(BindingNgenPhaseEnd)
+BindingT_TRACEPOINT_INSTANCE(BindingLookupAndProbingPhaseStart)
+BindingT_TRACEPOINT_INSTANCE(BindingLookupAndProbingPhaseEnd)
+BindingT_TRACEPOINT_INSTANCE(LoaderPhaseStart)
+BindingT_TRACEPOINT_INSTANCE(LoaderPhaseEnd)
+BindingT_TRACEPOINT_INSTANCE(BindingPhaseStart)
+BindingT_TRACEPOINT_INSTANCE(BindingPhaseEnd)
+BindingT_TRACEPOINT_INSTANCE(BindingDownloadPhaseStart)
+BindingT_TRACEPOINT_INSTANCE(BindingDownloadPhaseEnd)
+BindingT_TRACEPOINT_INSTANCE(LoaderAssemblyInitPhaseStart)
+BindingT_TRACEPOINT_INSTANCE(LoaderAssemblyInitPhaseEnd)
+BindingT_TRACEPOINT_INSTANCE(LoaderMappingPhaseStart)
+BindingT_TRACEPOINT_INSTANCE(LoaderMappingPhaseEnd)
+BindingT_TRACEPOINT_INSTANCE(LoaderDeliverEventsPhaseStart)
+BindingT_TRACEPOINT_INSTANCE(LoaderDeliverEventsPhaseEnd)
+EvidenceGeneratedT_TRACEPOINT_INSTANCE(EvidenceGenerated)
+ModuleTransparencyCalculationT_TRACEPOINT_INSTANCE(ModuleTransparencyComputationStart)
+ModuleTransparencyCalculationResultT_TRACEPOINT_INSTANCE(ModuleTransparencyComputationEnd)
+TypeTransparencyCalculationT_TRACEPOINT_INSTANCE(TypeTransparencyComputationStart)
+TypeTransparencyCalculationResultT_TRACEPOINT_INSTANCE(TypeTransparencyComputationEnd)
+MethodTransparencyCalculationT_TRACEPOINT_INSTANCE(MethodTransparencyComputationStart)
+MethodTransparencyCalculationResultT_TRACEPOINT_INSTANCE(MethodTransparencyComputationEnd)
+FieldTransparencyCalculationT_TRACEPOINT_INSTANCE(FieldTransparencyComputationStart)
+FieldTransparencyCalculationResultT_TRACEPOINT_INSTANCE(FieldTransparencyComputationEnd)
+TokenTransparencyCalculationT_TRACEPOINT_INSTANCE(TokenTransparencyComputationStart)
+TokenTransparencyCalculationResultT_TRACEPOINT_INSTANCE(TokenTransparencyComputationEnd)
+NgenBindEventT_TRACEPOINT_INSTANCE(NgenBindEvent)
+FailFastT_TRACEPOINT_INSTANCE(FailFast)
+PrvFinalizeObjectT_TRACEPOINT_INSTANCE(PrvFinalizeObject)
+CCWRefCountChangeT_TRACEPOINT_INSTANCE(CCWRefCountChange)
+PrvSetGCHandleT_TRACEPOINT_INSTANCE(PrvSetGCHandle)
+PrvDestroyGCHandleT_TRACEPOINT_INSTANCE(PrvDestroyGCHandle)
+FusionMessageT_TRACEPOINT_INSTANCE(FusionMessageEvent)
+FusionErrorCodeT_TRACEPOINT_INSTANCE(FusionErrorCodeEvent)
+PinPlugAtGCTimeT_TRACEPOINT_INSTANCE(PinPlugAtGCTime)
+LoaderHeapPrivateT_TRACEPOINT_INSTANCE(AllocRequest)
+MulticoreJitPrivateT_TRACEPOINT_INSTANCE(MulticoreJit)
+MulticoreJitMethodCodeReturnedPrivateT_TRACEPOINT_INSTANCE(MulticoreJitMethodCodeReturned)
+DynamicTypeUsePrivateT_TRACEPOINT_INSTANCE(IInspectableRuntimeClassName)
+DynamicTypeUseTwoParametersPrivateT_TRACEPOINT_INSTANCE(WinRTUnbox)
+DynamicTypeUsePrivateT_TRACEPOINT_INSTANCE(CreateRCW)
+DynamicTypeUsePrivateVarianceT_TRACEPOINT_INSTANCE(RCWVariance)
+DynamicTypeUseTwoParametersPrivateT_TRACEPOINT_INSTANCE(RCWIEnumerableCasting)
+DynamicTypeUsePrivateT_TRACEPOINT_INSTANCE(CreateCCW)
+DynamicTypeUsePrivateVarianceT_TRACEPOINT_INSTANCE(CCWVariance)
+DynamicTypeUseStringAndIntPrivateT_TRACEPOINT_INSTANCE(ObjectVariantMarshallingToNative)
+DynamicTypeUseTwoParametersPrivateT_TRACEPOINT_INSTANCE(GetTypeFromGUID)
+DynamicTypeUseTwoParametersPrivateT_TRACEPOINT_INSTANCE(GetTypeFromProgID)
+DynamicTypeUseTwoParametersPrivateT_TRACEPOINT_INSTANCE(ConvertToCallbackEtw)
+DynamicTypeUseNoParametersPrivateT_TRACEPOINT_INSTANCE(BeginCreateManagedReference)
+DynamicTypeUseNoParametersPrivateT_TRACEPOINT_INSTANCE(EndCreateManagedReference)
+DynamicTypeUseStringAndIntPrivateT_TRACEPOINT_INSTANCE(ObjectVariantMarshallingToManaged)
+#endif /* LTTNG_CORECLR_HDotNETRuntimePrivate */
+#include <lttng/tracepoint-event.h>
diff --git a/src/pal/src/eventprovider/lttng/tpdotnetruntimerundown.h b/src/pal/src/eventprovider/lttng/tpdotnetruntimerundown.h
new file mode 100644 (file)
index 0000000..789a90c
--- /dev/null
@@ -0,0 +1,822 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
+
+******************************************************************/
+
+
+#include "palrt.h"
+#include "pal.h"
+
+#undef TRACEPOINT_PROVIDER
+#define TRACEPOINT_PROVIDER DotNETRuntimeRundown
+
+#undef TRACEPOINT_INCLUDE
+#define TRACEPOINT_INCLUDE "./lttng/tpdotnetruntimerundown.h"
+
+#if !defined(LTTNG_CORECLR_HDotNETRuntimeRundown) || defined(TRACEPOINT_HEADER_MULTI_READ)
+#define LTTNG_CORECLR_HDotNETRuntimeRundown
+
+#include <lttng/tracepoint.h>
+
+
+#define RuntimeInformationRundown_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned short ,Sku,\
+        const unsigned short ,BclMajorVersion,\
+        const unsigned short ,BclMinorVersion,\
+        const unsigned short ,BclBuildNumber,\
+        const unsigned short ,BclQfeNumber,\
+        const unsigned short ,VMMajorVersion,\
+        const unsigned short ,VMMinorVersion,\
+        const unsigned short ,VMBuildNumber,\
+        const unsigned short ,VMQfeNumber\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    RuntimeInformationRundown,
+    RuntimeInformationRundown_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned short,Sku,Sku)
+        ctf_integer(unsigned short,BclMajorVersion,BclMajorVersion)
+        ctf_integer(unsigned short,BclMinorVersion,BclMinorVersion)
+        ctf_integer(unsigned short,BclBuildNumber,BclBuildNumber)
+        ctf_integer(unsigned short,BclQfeNumber,BclQfeNumber)
+        ctf_integer(unsigned short,VMMajorVersion,VMMajorVersion)
+        ctf_integer(unsigned short,VMMinorVersion,VMMinorVersion)
+        ctf_integer(unsigned short,VMBuildNumber,VMBuildNumber)
+        ctf_integer(unsigned short,VMQfeNumber,VMQfeNumber)
+    )
+)
+#define RuntimeInformationRundownT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    RuntimeInformationRundown ,\
+    name ,\
+    RuntimeInformationRundown_TRACEPOINT_ARGS \
+)
+
+#define RuntimeInformationRundown_1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,StartupFlags,\
+        const unsigned char ,StartupMode,\
+        const char* ,CommandLine,\
+        const int* ,ComObjectGuid,\
+        const char* ,RuntimeDllPath\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    RuntimeInformationRundown_1,
+    RuntimeInformationRundown_1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,StartupFlags,StartupFlags)
+        ctf_integer(unsigned char,StartupMode,StartupMode)
+        ctf_string(CommandLine,CommandLine)
+        ctf_sequence(int, ComObjectGuid, ComObjectGuid,size_t,sizeof(GUID)/sizeof(int))
+        ctf_string(RuntimeDllPath,RuntimeDllPath)
+    )
+)
+#define RuntimeInformationRundown_1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    RuntimeInformationRundown_1 ,\
+    name ,\
+    RuntimeInformationRundown_1_TRACEPOINT_ARGS \
+)
+
+#define DomainModuleLoadUnloadRundown_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,AssemblyID,\
+        const unsigned __int64 ,AppDomainID,\
+        const unsigned int ,ModuleFlags,\
+        const unsigned int ,Reserved1,\
+        const char* ,ModuleILPath,\
+        const char* ,ModuleNativePath\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    DomainModuleLoadUnloadRundown,
+    DomainModuleLoadUnloadRundown_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_integer(unsigned int,ModuleFlags,ModuleFlags)
+        ctf_integer(unsigned int,Reserved1,Reserved1)
+        ctf_string(ModuleILPath,ModuleILPath)
+        ctf_string(ModuleNativePath,ModuleNativePath)
+    )
+)
+#define DomainModuleLoadUnloadRundownT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    DomainModuleLoadUnloadRundown ,\
+    name ,\
+    DomainModuleLoadUnloadRundown_TRACEPOINT_ARGS \
+)
+
+#define DomainModuleLoadUnloadRundown_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,AssemblyID,\
+        const unsigned __int64 ,AppDomainID,\
+        const unsigned int ,ModuleFlags,\
+        const unsigned int ,Reserved1,\
+        const char* ,ModuleILPath,\
+        const char* ,ModuleNativePath,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    DomainModuleLoadUnloadRundown_V1,
+    DomainModuleLoadUnloadRundown_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_integer(unsigned int,ModuleFlags,ModuleFlags)
+        ctf_integer(unsigned int,Reserved1,Reserved1)
+        ctf_string(ModuleILPath,ModuleILPath)
+        ctf_string(ModuleNativePath,ModuleNativePath)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define DomainModuleLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    DomainModuleLoadUnloadRundown_V1 ,\
+    name ,\
+    DomainModuleLoadUnloadRundown_V1_TRACEPOINT_ARGS \
+)
+
+#define ModuleLoadUnloadRundown_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,AssemblyID,\
+        const unsigned int ,ModuleFlags,\
+        const unsigned int ,Reserved1,\
+        const char* ,ModuleILPath,\
+        const char* ,ModuleNativePath\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    ModuleLoadUnloadRundown,
+    ModuleLoadUnloadRundown_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
+        ctf_integer(unsigned int,ModuleFlags,ModuleFlags)
+        ctf_integer(unsigned int,Reserved1,Reserved1)
+        ctf_string(ModuleILPath,ModuleILPath)
+        ctf_string(ModuleNativePath,ModuleNativePath)
+    )
+)
+#define ModuleLoadUnloadRundownT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    ModuleLoadUnloadRundown ,\
+    name ,\
+    ModuleLoadUnloadRundown_TRACEPOINT_ARGS \
+)
+
+#define ModuleLoadUnloadRundown_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,AssemblyID,\
+        const unsigned int ,ModuleFlags,\
+        const unsigned int ,Reserved1,\
+        const char* ,ModuleILPath,\
+        const char* ,ModuleNativePath,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    ModuleLoadUnloadRundown_V1,
+    ModuleLoadUnloadRundown_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
+        ctf_integer(unsigned int,ModuleFlags,ModuleFlags)
+        ctf_integer(unsigned int,Reserved1,Reserved1)
+        ctf_string(ModuleILPath,ModuleILPath)
+        ctf_string(ModuleNativePath,ModuleNativePath)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define ModuleLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    ModuleLoadUnloadRundown_V1 ,\
+    name ,\
+    ModuleLoadUnloadRundown_V1_TRACEPOINT_ARGS \
+)
+
+#define ModuleLoadUnloadRundown_V2_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,AssemblyID,\
+        const unsigned int ,ModuleFlags,\
+        const unsigned int ,Reserved1,\
+        const char* ,ModuleILPath,\
+        const char* ,ModuleNativePath,\
+        const unsigned short ,ClrInstanceID,\
+        const int* ,ManagedPdbSignature,\
+        const unsigned int ,ManagedPdbAge,\
+        const char* ,ManagedPdbBuildPath\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    ModuleLoadUnloadRundown_V2,
+    ModuleLoadUnloadRundown_V2_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
+        ctf_integer(unsigned int,ModuleFlags,ModuleFlags)
+        ctf_integer(unsigned int,Reserved1,Reserved1)
+        ctf_string(ModuleILPath,ModuleILPath)
+        ctf_string(ModuleNativePath,ModuleNativePath)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_sequence(int, ManagedPdbSignature, ManagedPdbSignature,size_t,sizeof(GUID)/sizeof(int))
+        ctf_integer(unsigned int,ManagedPdbAge,ManagedPdbAge)
+        ctf_string(ManagedPdbBuildPath,ManagedPdbBuildPath)
+    )
+)
+#define ModuleLoadUnloadRundown_V2T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    ModuleLoadUnloadRundown_V2 ,\
+    name ,\
+    ModuleLoadUnloadRundown_V2_TRACEPOINT_ARGS \
+)
+
+#define ModuleLoadUnloadRundown_V2_1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const int* ,NativePdbSignature,\
+        const unsigned int ,NativePdbAge,\
+        const char* ,NativePdbBuildPath\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    ModuleLoadUnloadRundown_V2_1,
+    ModuleLoadUnloadRundown_V2_1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_sequence(int, NativePdbSignature, NativePdbSignature,size_t,sizeof(GUID)/sizeof(int))
+        ctf_integer(unsigned int,NativePdbAge,NativePdbAge)
+        ctf_string(NativePdbBuildPath,NativePdbBuildPath)
+    )
+)
+#define ModuleLoadUnloadRundown_V2_1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    ModuleLoadUnloadRundown_V2_1 ,\
+    name ,\
+    ModuleLoadUnloadRundown_V2_1_TRACEPOINT_ARGS \
+)
+
+#define AssemblyLoadUnloadRundown_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,AssemblyID,\
+        const unsigned __int64 ,AppDomainID,\
+        const unsigned int ,AssemblyFlags,\
+        const char* ,FullyQualifiedAssemblyName\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    AssemblyLoadUnloadRundown,
+    AssemblyLoadUnloadRundown_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_integer(unsigned int,AssemblyFlags,AssemblyFlags)
+        ctf_string(FullyQualifiedAssemblyName,FullyQualifiedAssemblyName)
+    )
+)
+#define AssemblyLoadUnloadRundownT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    AssemblyLoadUnloadRundown ,\
+    name ,\
+    AssemblyLoadUnloadRundown_TRACEPOINT_ARGS \
+)
+
+#define AssemblyLoadUnloadRundown_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,AssemblyID,\
+        const unsigned __int64 ,AppDomainID,\
+        const unsigned __int64 ,BindingID,\
+        const unsigned int ,AssemblyFlags,\
+        const char* ,FullyQualifiedAssemblyName,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    AssemblyLoadUnloadRundown_V1,
+    AssemblyLoadUnloadRundown_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,AssemblyID,AssemblyID)
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_integer(unsigned __int64,BindingID,BindingID)
+        ctf_integer(unsigned int,AssemblyFlags,AssemblyFlags)
+        ctf_string(FullyQualifiedAssemblyName,FullyQualifiedAssemblyName)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define AssemblyLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    AssemblyLoadUnloadRundown_V1 ,\
+    name ,\
+    AssemblyLoadUnloadRundown_V1_TRACEPOINT_ARGS \
+)
+
+#define AppDomainLoadUnloadRundown_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,AppDomainID,\
+        const unsigned int ,AppDomainFlags,\
+        const char* ,AppDomainName\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    AppDomainLoadUnloadRundown,
+    AppDomainLoadUnloadRundown_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_integer(unsigned int,AppDomainFlags,AppDomainFlags)
+        ctf_string(AppDomainName,AppDomainName)
+    )
+)
+#define AppDomainLoadUnloadRundownT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    AppDomainLoadUnloadRundown ,\
+    name ,\
+    AppDomainLoadUnloadRundown_TRACEPOINT_ARGS \
+)
+
+#define AppDomainLoadUnloadRundown_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,AppDomainID,\
+        const unsigned int ,AppDomainFlags,\
+        const char* ,AppDomainName,\
+        const unsigned int ,AppDomainIndex,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    AppDomainLoadUnloadRundown_V1,
+    AppDomainLoadUnloadRundown_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_integer(unsigned int,AppDomainFlags,AppDomainFlags)
+        ctf_string(AppDomainName,AppDomainName)
+        ctf_integer(unsigned int,AppDomainIndex,AppDomainIndex)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define AppDomainLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    AppDomainLoadUnloadRundown_V1 ,\
+    name ,\
+    AppDomainLoadUnloadRundown_V1_TRACEPOINT_ARGS \
+)
+
+#define MethodLoadUnloadRundown_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,MethodID,\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,MethodStartAddress,\
+        const unsigned int ,MethodSize,\
+        const unsigned int ,MethodToken,\
+        const unsigned int ,MethodFlags\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    MethodLoadUnloadRundown,
+    MethodLoadUnloadRundown_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,MethodID,MethodID)
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
+        ctf_integer(unsigned int,MethodSize,MethodSize)
+        ctf_integer(unsigned int,MethodToken,MethodToken)
+        ctf_integer(unsigned int,MethodFlags,MethodFlags)
+    )
+)
+#define MethodLoadUnloadRundownT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    MethodLoadUnloadRundown ,\
+    name ,\
+    MethodLoadUnloadRundown_TRACEPOINT_ARGS \
+)
+
+#define MethodLoadUnloadRundown_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,MethodID,\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,MethodStartAddress,\
+        const unsigned int ,MethodSize,\
+        const unsigned int ,MethodToken,\
+        const unsigned int ,MethodFlags,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    MethodLoadUnloadRundown_V1,
+    MethodLoadUnloadRundown_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,MethodID,MethodID)
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
+        ctf_integer(unsigned int,MethodSize,MethodSize)
+        ctf_integer(unsigned int,MethodToken,MethodToken)
+        ctf_integer(unsigned int,MethodFlags,MethodFlags)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define MethodLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    MethodLoadUnloadRundown_V1 ,\
+    name ,\
+    MethodLoadUnloadRundown_V1_TRACEPOINT_ARGS \
+)
+
+#define MethodLoadUnloadRundown_V2_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,MethodID,\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,MethodStartAddress,\
+        const unsigned int ,MethodSize,\
+        const unsigned int ,MethodToken,\
+        const unsigned int ,MethodFlags,\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned __int64 ,ReJITID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    MethodLoadUnloadRundown_V2,
+    MethodLoadUnloadRundown_V2_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,MethodID,MethodID)
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
+        ctf_integer(unsigned int,MethodSize,MethodSize)
+        ctf_integer(unsigned int,MethodToken,MethodToken)
+        ctf_integer(unsigned int,MethodFlags,MethodFlags)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned __int64,ReJITID,ReJITID)
+    )
+)
+#define MethodLoadUnloadRundown_V2T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    MethodLoadUnloadRundown_V2 ,\
+    name ,\
+    MethodLoadUnloadRundown_V2_TRACEPOINT_ARGS \
+)
+
+#define MethodLoadUnloadRundownVerbose_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,MethodID,\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,MethodStartAddress,\
+        const unsigned int ,MethodSize,\
+        const unsigned int ,MethodToken,\
+        const unsigned int ,MethodFlags,\
+        const char* ,MethodNamespace,\
+        const char* ,MethodName,\
+        const char* ,MethodSignature\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    MethodLoadUnloadRundownVerbose,
+    MethodLoadUnloadRundownVerbose_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,MethodID,MethodID)
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
+        ctf_integer(unsigned int,MethodSize,MethodSize)
+        ctf_integer(unsigned int,MethodToken,MethodToken)
+        ctf_integer(unsigned int,MethodFlags,MethodFlags)
+        ctf_string(MethodNamespace,MethodNamespace)
+        ctf_string(MethodName,MethodName)
+        ctf_string(MethodSignature,MethodSignature)
+    )
+)
+#define MethodLoadUnloadRundownVerboseT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    MethodLoadUnloadRundownVerbose ,\
+    name ,\
+    MethodLoadUnloadRundownVerbose_TRACEPOINT_ARGS \
+)
+
+#define MethodLoadUnloadRundownVerbose_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,MethodID,\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,MethodStartAddress,\
+        const unsigned int ,MethodSize,\
+        const unsigned int ,MethodToken,\
+        const unsigned int ,MethodFlags,\
+        const char* ,MethodNamespace,\
+        const char* ,MethodName,\
+        const char* ,MethodSignature,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    MethodLoadUnloadRundownVerbose_V1,
+    MethodLoadUnloadRundownVerbose_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,MethodID,MethodID)
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
+        ctf_integer(unsigned int,MethodSize,MethodSize)
+        ctf_integer(unsigned int,MethodToken,MethodToken)
+        ctf_integer(unsigned int,MethodFlags,MethodFlags)
+        ctf_string(MethodNamespace,MethodNamespace)
+        ctf_string(MethodName,MethodName)
+        ctf_string(MethodSignature,MethodSignature)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define MethodLoadUnloadRundownVerbose_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    MethodLoadUnloadRundownVerbose_V1 ,\
+    name ,\
+    MethodLoadUnloadRundownVerbose_V1_TRACEPOINT_ARGS \
+)
+
+#define MethodLoadUnloadRundownVerbose_V2_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,MethodID,\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned __int64 ,MethodStartAddress,\
+        const unsigned int ,MethodSize,\
+        const unsigned int ,MethodToken,\
+        const unsigned int ,MethodFlags,\
+        const char* ,MethodNamespace,\
+        const char* ,MethodName,\
+        const char* ,MethodSignature,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    MethodLoadUnloadRundownVerbose_V2,
+    MethodLoadUnloadRundownVerbose_V2_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,MethodID,MethodID)
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned __int64,MethodStartAddress,MethodStartAddress)
+        ctf_integer(unsigned int,MethodSize,MethodSize)
+        ctf_integer(unsigned int,MethodToken,MethodToken)
+        ctf_integer(unsigned int,MethodFlags,MethodFlags)
+        ctf_string(MethodNamespace,MethodNamespace)
+        ctf_string(MethodName,MethodName)
+        ctf_string(MethodSignature,MethodSignature)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define MethodLoadUnloadRundownVerbose_V2T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    MethodLoadUnloadRundownVerbose_V2 ,\
+    name ,\
+    MethodLoadUnloadRundownVerbose_V2_TRACEPOINT_ARGS \
+)
+
+#define MethodLoadUnloadRundownVerbose_V2_1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,ReJITID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    MethodLoadUnloadRundownVerbose_V2_1,
+    MethodLoadUnloadRundownVerbose_V2_1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,ReJITID,ReJITID)
+    )
+)
+#define MethodLoadUnloadRundownVerbose_V2_1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    MethodLoadUnloadRundownVerbose_V2_1 ,\
+    name ,\
+    MethodLoadUnloadRundownVerbose_V2_1_TRACEPOINT_ARGS \
+)
+
+#define MethodILToNativeMapRundown_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,MethodID,\
+        const unsigned __int64 ,ReJITID,\
+        const unsigned char ,MethodExtent,\
+        const unsigned short ,CountOfMapEntries,\
+        const unsigned int* ,ILOffsets,\
+        const unsigned int* ,NativeOffsets,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    MethodILToNativeMapRundown,
+    MethodILToNativeMapRundown_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,MethodID,MethodID)
+        ctf_integer(unsigned __int64,ReJITID,ReJITID)
+        ctf_integer(unsigned char,MethodExtent,MethodExtent)
+        ctf_integer(unsigned short,CountOfMapEntries,CountOfMapEntries)
+        ctf_sequence(unsigned int, ILOffsets, ILOffsets,size_t,CountOfMapEntries)
+        ctf_sequence(unsigned int, NativeOffsets, NativeOffsets,size_t,CountOfMapEntries)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define MethodILToNativeMapRundownT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    MethodILToNativeMapRundown ,\
+    name ,\
+    MethodILToNativeMapRundown_TRACEPOINT_ARGS \
+)
+
+#define DCStartEnd_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    DCStartEnd,
+    DCStartEnd_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define DCStartEndT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    DCStartEnd ,\
+    name ,\
+    DCStartEnd_TRACEPOINT_ARGS \
+)
+
+#define ClrStackWalk_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned char ,Reserved1,\
+        const unsigned char ,Reserved2,\
+        const unsigned int ,FrameCount,\
+        const size_t* ,Stack\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    ClrStackWalk,
+    ClrStackWalk_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned char,Reserved1,Reserved1)
+        ctf_integer(unsigned char,Reserved2,Reserved2)
+        ctf_integer(unsigned int,FrameCount,FrameCount)
+        ctf_sequence(size_t, Stack, Stack,size_t,2)
+    )
+)
+#define ClrStackWalkT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    ClrStackWalk ,\
+    name ,\
+    ClrStackWalk_TRACEPOINT_ARGS \
+)
+
+#define ThreadCreatedRundown_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned __int64 ,ManagedThreadID,\
+        const unsigned __int64 ,AppDomainID,\
+        const unsigned int ,Flags,\
+        const unsigned int ,ManagedThreadIndex,\
+        const unsigned int ,OSThreadID,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    ThreadCreatedRundown,
+    ThreadCreatedRundown_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned __int64,ManagedThreadID,ManagedThreadID)
+        ctf_integer(unsigned __int64,AppDomainID,AppDomainID)
+        ctf_integer(unsigned int,Flags,Flags)
+        ctf_integer(unsigned int,ManagedThreadIndex,ManagedThreadIndex)
+        ctf_integer(unsigned int,OSThreadID,OSThreadID)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define ThreadCreatedRundownT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    ThreadCreatedRundown ,\
+    name ,\
+    ThreadCreatedRundown_TRACEPOINT_ARGS \
+)
+
+#define ModuleRangeRundown_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned __int64 ,ModuleID,\
+        const unsigned int ,RangeBegin,\
+        const unsigned int ,RangeSize,\
+        const unsigned char ,RangeType\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    ModuleRangeRundown,
+    ModuleRangeRundown_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned __int64,ModuleID,ModuleID)
+        ctf_integer(unsigned int,RangeBegin,RangeBegin)
+        ctf_integer(unsigned int,RangeSize,RangeSize)
+        ctf_integer(unsigned char,RangeType,RangeType)
+    )
+)
+#define ModuleRangeRundownT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    ModuleRangeRundown ,\
+    name ,\
+    ModuleRangeRundown_TRACEPOINT_ARGS \
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeRundown,
+    emptyTemplate ,
+    TP_ARGS(),
+    TP_FIELDS()
+)
+#define T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeRundown,\
+    emptyTemplate,\
+    name ,\
+    TP_ARGS()\
+)
+ClrStackWalkT_TRACEPOINT_INSTANCE(CLRStackWalkDCStart)
+MethodLoadUnloadRundownT_TRACEPOINT_INSTANCE(MethodDCStart)
+MethodLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(MethodDCStart_V1)
+MethodLoadUnloadRundown_V2T_TRACEPOINT_INSTANCE(MethodDCStart_V2)
+MethodLoadUnloadRundownT_TRACEPOINT_INSTANCE(MethodDCEnd)
+MethodLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(MethodDCEnd_V1)
+MethodLoadUnloadRundown_V2T_TRACEPOINT_INSTANCE(MethodDCEnd_V2)
+MethodLoadUnloadRundownVerboseT_TRACEPOINT_INSTANCE(MethodDCStartVerbose)
+MethodLoadUnloadRundownVerbose_V1T_TRACEPOINT_INSTANCE(MethodDCStartVerbose_V1)
+MethodLoadUnloadRundownVerbose_V2T_TRACEPOINT_INSTANCE(MethodDCStartVerbose_V2)
+MethodLoadUnloadRundownVerbose_V2_1T_TRACEPOINT_INSTANCE(MethodDCStartVerbose_V2_1)
+MethodLoadUnloadRundownVerboseT_TRACEPOINT_INSTANCE(MethodDCEndVerbose)
+MethodLoadUnloadRundownVerbose_V1T_TRACEPOINT_INSTANCE(MethodDCEndVerbose_V1)
+MethodLoadUnloadRundownVerbose_V2T_TRACEPOINT_INSTANCE(MethodDCEndVerbose_V2)
+MethodLoadUnloadRundownVerbose_V2_1T_TRACEPOINT_INSTANCE(MethodDCEndVerbose_V2_1)
+T_TRACEPOINT_INSTANCE(DCStartComplete)
+DCStartEndT_TRACEPOINT_INSTANCE(DCStartComplete_V1)
+T_TRACEPOINT_INSTANCE(DCEndComplete)
+DCStartEndT_TRACEPOINT_INSTANCE(DCEndComplete_V1)
+T_TRACEPOINT_INSTANCE(DCStartInit)
+DCStartEndT_TRACEPOINT_INSTANCE(DCStartInit_V1)
+T_TRACEPOINT_INSTANCE(DCEndInit)
+DCStartEndT_TRACEPOINT_INSTANCE(DCEndInit_V1)
+MethodILToNativeMapRundownT_TRACEPOINT_INSTANCE(MethodDCStartILToNativeMap)
+MethodILToNativeMapRundownT_TRACEPOINT_INSTANCE(MethodDCEndILToNativeMap)
+DomainModuleLoadUnloadRundownT_TRACEPOINT_INSTANCE(DomainModuleDCStart)
+DomainModuleLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(DomainModuleDCStart_V1)
+DomainModuleLoadUnloadRundownT_TRACEPOINT_INSTANCE(DomainModuleDCEnd)
+DomainModuleLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(DomainModuleDCEnd_V1)
+ModuleLoadUnloadRundownT_TRACEPOINT_INSTANCE(ModuleDCStart)
+ModuleLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(ModuleDCStart_V1)
+ModuleLoadUnloadRundown_V2T_TRACEPOINT_INSTANCE(ModuleDCStart_V2)
+ModuleLoadUnloadRundown_V2_1T_TRACEPOINT_INSTANCE(ModuleDCStart_V2_1)
+ModuleLoadUnloadRundownT_TRACEPOINT_INSTANCE(ModuleDCEnd)
+ModuleLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(ModuleDCEnd_V1)
+ModuleLoadUnloadRundown_V2T_TRACEPOINT_INSTANCE(ModuleDCEnd_V2)
+ModuleLoadUnloadRundown_V2_1T_TRACEPOINT_INSTANCE(ModuleDCEnd_V2_1)
+AssemblyLoadUnloadRundownT_TRACEPOINT_INSTANCE(AssemblyDCStart)
+AssemblyLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(AssemblyDCStart_V1)
+AssemblyLoadUnloadRundownT_TRACEPOINT_INSTANCE(AssemblyDCEnd)
+AssemblyLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(AssemblyDCEnd_V1)
+AppDomainLoadUnloadRundownT_TRACEPOINT_INSTANCE(AppDomainDCStart)
+AppDomainLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(AppDomainDCStart_V1)
+AppDomainLoadUnloadRundownT_TRACEPOINT_INSTANCE(AppDomainDCEnd)
+AppDomainLoadUnloadRundown_V1T_TRACEPOINT_INSTANCE(AppDomainDCEnd_V1)
+ThreadCreatedRundownT_TRACEPOINT_INSTANCE(ThreadDC)
+ModuleRangeRundownT_TRACEPOINT_INSTANCE(ModuleRangeDCStart)
+ModuleRangeRundownT_TRACEPOINT_INSTANCE(ModuleRangeDCEnd)
+RuntimeInformationRundownT_TRACEPOINT_INSTANCE(RuntimeInformationDCStart)
+RuntimeInformationRundown_1T_TRACEPOINT_INSTANCE(RuntimeInformationDCStart_1)
+#endif /* LTTNG_CORECLR_HDotNETRuntimeRundown */
+#include <lttng/tracepoint-event.h>
diff --git a/src/pal/src/eventprovider/lttng/tpdotnetruntimestress.h b/src/pal/src/eventprovider/lttng/tpdotnetruntimestress.h
new file mode 100644 (file)
index 0000000..ee4c697
--- /dev/null
@@ -0,0 +1,123 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
+
+******************************************************************/
+
+
+#include "palrt.h"
+#include "pal.h"
+
+#undef TRACEPOINT_PROVIDER
+#define TRACEPOINT_PROVIDER DotNETRuntimeStress
+
+#undef TRACEPOINT_INCLUDE
+#define TRACEPOINT_INCLUDE "./lttng/tpdotnetruntimestress.h"
+
+#if !defined(LTTNG_CORECLR_HDotNETRuntimeStress) || defined(TRACEPOINT_HEADER_MULTI_READ)
+#define LTTNG_CORECLR_HDotNETRuntimeStress
+
+#include <lttng/tracepoint.h>
+
+
+#define StressLog_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Facility,\
+        const unsigned char ,LogLevel,\
+        const char* ,Message\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeStress,
+    StressLog,
+    StressLog_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Facility,Facility)
+        ctf_integer(unsigned char,LogLevel,LogLevel)
+        ctf_string(Message,Message)
+    )
+)
+#define StressLogT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeStress,\
+    StressLog ,\
+    name ,\
+    StressLog_TRACEPOINT_ARGS \
+)
+
+#define StressLog_V1_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned int ,Facility,\
+        const unsigned char ,LogLevel,\
+        const char* ,Message,\
+        const unsigned short ,ClrInstanceID\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeStress,
+    StressLog_V1,
+    StressLog_V1_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned int,Facility,Facility)
+        ctf_integer(unsigned char,LogLevel,LogLevel)
+        ctf_string(Message,Message)
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+    )
+)
+#define StressLog_V1T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeStress,\
+    StressLog_V1 ,\
+    name ,\
+    StressLog_V1_TRACEPOINT_ARGS \
+)
+
+#define ClrStackWalk_TRACEPOINT_ARGS \
+TP_ARGS(\
+        const unsigned short ,ClrInstanceID,\
+        const unsigned char ,Reserved1,\
+        const unsigned char ,Reserved2,\
+        const unsigned int ,FrameCount,\
+        const size_t* ,Stack\
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeStress,
+    ClrStackWalk,
+    ClrStackWalk_TRACEPOINT_ARGS,
+     TP_FIELDS(
+        ctf_integer(unsigned short,ClrInstanceID,ClrInstanceID)
+        ctf_integer(unsigned char,Reserved1,Reserved1)
+        ctf_integer(unsigned char,Reserved2,Reserved2)
+        ctf_integer(unsigned int,FrameCount,FrameCount)
+        ctf_sequence(size_t, Stack, Stack,size_t,2)
+    )
+)
+#define ClrStackWalkT_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeStress,\
+    ClrStackWalk ,\
+    name ,\
+    ClrStackWalk_TRACEPOINT_ARGS \
+)
+TRACEPOINT_EVENT_CLASS(
+    DotNETRuntimeStress,
+    emptyTemplate ,
+    TP_ARGS(),
+    TP_FIELDS()
+)
+#define T_TRACEPOINT_INSTANCE(name) \
+TRACEPOINT_EVENT_INSTANCE(\
+    DotNETRuntimeStress,\
+    emptyTemplate,\
+    name ,\
+    TP_ARGS()\
+)
+StressLogT_TRACEPOINT_INSTANCE(StressLogEvent)
+StressLog_V1T_TRACEPOINT_INSTANCE(StressLogEvent_V1)
+ClrStackWalkT_TRACEPOINT_INSTANCE(CLRStackWalkStress)
+#endif /* LTTNG_CORECLR_HDotNETRuntimeStress */
+#include <lttng/tracepoint-event.h>
diff --git a/src/pal/src/eventprovider/lttng/traceptprovdotnetruntime.cpp b/src/pal/src/eventprovider/lttng/traceptprovdotnetruntime.cpp
new file mode 100644 (file)
index 0000000..3179322
--- /dev/null
@@ -0,0 +1,15 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
+
+******************************************************************/
+
+
+#define TRACEPOINT_CREATE_PROBES
+#include "./lttng/tpdotnetruntime.h"
diff --git a/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimeprivate.cpp b/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimeprivate.cpp
new file mode 100644 (file)
index 0000000..3a81cdc
--- /dev/null
@@ -0,0 +1,15 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
+
+******************************************************************/
+
+
+#define TRACEPOINT_CREATE_PROBES
+#include "./lttng/tpdotnetruntimeprivate.h"
diff --git a/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimerundown.cpp b/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimerundown.cpp
new file mode 100644 (file)
index 0000000..398baee
--- /dev/null
@@ -0,0 +1,15 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
+
+******************************************************************/
+
+
+#define TRACEPOINT_CREATE_PROBES
+#include "./lttng/tpdotnetruntimerundown.h"
diff --git a/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimestress.cpp b/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimestress.cpp
new file mode 100644 (file)
index 0000000..6ecb611
--- /dev/null
@@ -0,0 +1,15 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/inc/genXplatLttng.pl
+
+******************************************************************/
+
+
+#define TRACEPOINT_CREATE_PROBES
+#include "./lttng/tpdotnetruntimestress.h"
diff --git a/src/pal/src/eventprovider/tracepointprovider/CMakeLists.txt b/src/pal/src/eventprovider/tracepointprovider/CMakeLists.txt
new file mode 100644 (file)
index 0000000..1876736
--- /dev/null
@@ -0,0 +1,27 @@
+cmake_minimum_required(VERSION 2.8.12.2)
+
+project(coreclrtraceptprovider)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)   
+
+add_definitions(-DPAL_STDCPP_COMPAT=1)
+include_directories(${COREPAL_SOURCE_DIR}/inc/rt)
+include_directories(${COREPAL_SOURCE_DIR}/src/eventprovider)
+add_compile_options(-fPIC)
+
+add_library(coreclrtraceptprovider
+    SHARED 
+    "../lttng/traceptprovdotnetruntime.cpp"
+    "../lttng/traceptprovdotnetruntimeprivate.cpp"
+    "../lttng/traceptprovdotnetruntimerundown.cpp"
+    "../lttng/traceptprovdotnetruntimestress.cpp"
+    )
+
+target_link_libraries(coreclrtraceptprovider
+    -llttng-ust
+    )
+
+
+# Install the static PAL library for VS
+install (TARGETS coreclrtraceptprovider DESTINATION .)
+
index 7095aa6..19464a3 100644 (file)
@@ -21,4 +21,5 @@ add_subdirectory(miscellaneous)
 add_subdirectory(pal_specific)
 add_subdirectory(samples)
 add_subdirectory(threading)
+add_subdirectory(eventprovider)
 
diff --git a/src/pal/tests/palsuite/eventprovider/CMakeLists.txt b/src/pal/tests/palsuite/eventprovider/CMakeLists.txt
new file mode 100644 (file)
index 0000000..32b5959
--- /dev/null
@@ -0,0 +1,35 @@
+cmake_minimum_required(VERSION 2.8.12.2)
+
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+
+set(SOURCES
+    clralltestevents.cpp
+    )
+include_directories(${COREPAL_SOURCE_DIR}/prebuilt/inc)
+include_directories(${COREPAL_SOURCE_DIR}/inc/rt)
+
+
+add_executable(eventprovidertest
+    ${SOURCES}
+    )
+set(EVENT_PROVIDER_DEPENDENCIES "")
+set(EVENT_PROVIDER_LINKER_OTPTIONS "")  
+if(CMAKE_SYSTEM_NAME STREQUAL Linux)
+
+    list(APPEND EVENT_PROVIDER_DEPENDENCIES 
+        eventprovider
+        )
+    list(APPEND EVENT_PROVIDER_LINKER_OTPTIONS  
+        ${EVENT_PROVIDER_DEPENDENCIES}
+        )
+
+endif(CMAKE_SYSTEM_NAME STREQUAL Linux)
+
+add_dependencies(eventprovidertest  ${EVENT_PROVIDER_DEPENDENCIES} coreclrpal)
+target_link_libraries(eventprovidertest
+    coreclrpal
+    ${EVENT_PROVIDER_LINKER_OTPTIONS}
+    )
+
diff --git a/src/pal/tests/palsuite/eventprovider/clralltestevents.cpp b/src/pal/tests/palsuite/eventprovider/clralltestevents.cpp
new file mode 100644 (file)
index 0000000..dd31161
--- /dev/null
@@ -0,0 +1,2690 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/inc/genXplatEtw.pl
+
+******************************************************************/
+
+/*=====================================================================
+**
+** Source:   clralltestevents.cpp
+**
+** Purpose:  Ensure Correctness of Eventing code
+**
+**
+**===================================================================*/
+#include <palsuite.h>
+#include <clrallevents.h>
+
+typedef struct _Struct1 {
+        ULONG   Data1;
+        unsigned short Data2;
+        unsigned short Data3;
+        unsigned char  Data4[8];
+} Struct1;
+
+Struct1 var21[2] = { { 245, 13, 14, "deadbea" }, { 542, 0, 14, "deadflu" } };
+
+Struct1* var11 = var21;
+Struct1* win_Struct = var21;
+
+GUID myGuid ={ 245, 13, 14, "deadbea" };
+double win_Double =34.04;
+ULONG win_ULong = 34;
+BOOL win_Boolean = FALSE;
+unsigned __int64 win_UInt64 = 114;
+unsigned int win_UInt32 = 4;
+unsigned short win_UInt16 = 12;
+unsigned char win_UInt8 = 9;
+int win_Int32 = 12;
+BYTE* win_Binary =(BYTE*)var21 ; 
+int __cdecl main(int argc, char **argv)
+{
+
+    /* Initialize the PAL.
+    */
+
+    if(0 != PAL_Initialize(argc, argv))
+    {
+        return FAIL;
+    }
+
+    ULONG Error = ERROR_SUCCESS;
+#if defined(FEATURE_EVENT_TRACE)
+    Trace("\n Starting functional  eventing APIs tests  \n");
+
+ EventEnabledGCStart();
+Error |= FireEtwGCStart(
+2,
+win_UInt32
+);
+ EventEnabledGCStart_V1();
+Error |= FireEtwGCStart_V1(
+2,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledGCStart_V2();
+Error |= FireEtwGCStart_V2(
+2,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt16,
+win_UInt64
+);
+ EventEnabledGCEnd();
+Error |= FireEtwGCEnd(
+2,
+win_UInt16
+);
+ EventEnabledGCEnd_V1();
+Error |= FireEtwGCEnd_V1(
+2,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledGCRestartEEEnd();
+Error |= FireEtwGCRestartEEEnd(
+);
+ EventEnabledGCRestartEEEnd_V1();
+Error |= FireEtwGCRestartEEEnd_V1(
+win_UInt16
+);
+ EventEnabledGCHeapStats();
+Error |= FireEtwGCHeapStats(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32
+);
+ EventEnabledGCHeapStats_V1();
+Error |= FireEtwGCHeapStats_V1(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledGCCreateSegment();
+Error |= FireEtwGCCreateSegment(
+win_UInt64,
+win_UInt64,
+win_UInt32
+);
+ EventEnabledGCCreateSegment_V1();
+Error |= FireEtwGCCreateSegment_V1(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledGCFreeSegment();
+Error |= FireEtwGCFreeSegment(
+win_UInt64
+);
+ EventEnabledGCFreeSegment_V1();
+Error |= FireEtwGCFreeSegment_V1(
+win_UInt64,
+win_UInt16
+);
+ EventEnabledGCRestartEEBegin();
+Error |= FireEtwGCRestartEEBegin(
+);
+ EventEnabledGCRestartEEBegin_V1();
+Error |= FireEtwGCRestartEEBegin_V1(
+win_UInt16
+);
+ EventEnabledGCSuspendEEEnd();
+Error |= FireEtwGCSuspendEEEnd(
+);
+ EventEnabledGCSuspendEEEnd_V1();
+Error |= FireEtwGCSuspendEEEnd_V1(
+win_UInt16
+);
+ EventEnabledGCSuspendEEBegin();
+Error |= FireEtwGCSuspendEEBegin(
+win_UInt16
+);
+ EventEnabledGCSuspendEEBegin_V1();
+Error |= FireEtwGCSuspendEEBegin_V1(
+win_UInt32,
+2,
+win_UInt16
+);
+ EventEnabledGCAllocationTick();
+Error |= FireEtwGCAllocationTick(
+win_UInt32,
+win_UInt32
+);
+ EventEnabledGCAllocationTick_V1();
+Error |= FireEtwGCAllocationTick_V1(
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledGCAllocationTick_V2();
+Error |= FireEtwGCAllocationTick_V2(
+win_UInt32,
+win_UInt32,
+win_UInt16,
+win_UInt64,
+(const void*)var11,
+W(" Testing UnicodeString "),
+win_UInt32
+);
+ EventEnabledGCAllocationTick_V3();
+Error |= FireEtwGCAllocationTick_V3(
+win_UInt32,
+win_UInt32,
+win_UInt16,
+win_UInt64,
+(const void*)var11,
+W(" Testing UnicodeString "),
+win_UInt32,
+(const void*)var11
+);
+ EventEnabledGCCreateConcurrentThread();
+Error |= FireEtwGCCreateConcurrentThread(
+);
+ EventEnabledGCCreateConcurrentThread_V1();
+Error |= FireEtwGCCreateConcurrentThread_V1(
+win_UInt16
+);
+ EventEnabledGCTerminateConcurrentThread();
+Error |= FireEtwGCTerminateConcurrentThread(
+);
+ EventEnabledGCTerminateConcurrentThread_V1();
+Error |= FireEtwGCTerminateConcurrentThread_V1(
+win_UInt16
+);
+ EventEnabledGCFinalizersEnd();
+Error |= FireEtwGCFinalizersEnd(
+2
+);
+ EventEnabledGCFinalizersEnd_V1();
+Error |= FireEtwGCFinalizersEnd_V1(
+2,
+win_UInt16
+);
+ EventEnabledGCFinalizersBegin();
+Error |= FireEtwGCFinalizersBegin(
+);
+ EventEnabledGCFinalizersBegin_V1();
+Error |= FireEtwGCFinalizersBegin_V1(
+win_UInt16
+);
+ EventEnabledBulkType();
+Error |= FireEtwBulkType(
+2,
+win_UInt16,
+win_ULong,
+&win_Struct
+);
+ EventEnabledGCBulkRootEdge();
+Error |= FireEtwGCBulkRootEdge(
+win_UInt32,
+2,
+win_UInt16,
+win_ULong,
+&win_Struct
+);
+ EventEnabledGCBulkRootConditionalWeakTableElementEdge();
+Error |= FireEtwGCBulkRootConditionalWeakTableElementEdge(
+win_UInt32,
+2,
+win_UInt16,
+win_ULong,
+&win_Struct
+);
+ EventEnabledGCBulkNode();
+Error |= FireEtwGCBulkNode(
+win_UInt32,
+2,
+win_UInt16,
+win_ULong,
+&win_Struct
+);
+ EventEnabledGCBulkEdge();
+Error |= FireEtwGCBulkEdge(
+win_UInt32,
+2,
+win_UInt16,
+win_ULong,
+&win_Struct
+);
+ EventEnabledGCSampledObjectAllocationHigh();
+Error |= FireEtwGCSampledObjectAllocationHigh(
+(const void*)var11,
+(const void*)var11,
+win_UInt32,
+win_UInt64,
+win_UInt16
+);
+ EventEnabledGCBulkSurvivingObjectRanges();
+Error |= FireEtwGCBulkSurvivingObjectRanges(
+win_UInt32,
+2,
+win_UInt16,
+win_ULong,
+&win_Struct
+);
+ EventEnabledGCBulkMovedObjectRanges();
+Error |= FireEtwGCBulkMovedObjectRanges(
+win_UInt32,
+2,
+win_UInt16,
+win_ULong,
+&win_Struct
+);
+ EventEnabledGCGenerationRange();
+Error |= FireEtwGCGenerationRange(
+win_UInt8,
+(const void*)var11,
+win_UInt64,
+win_UInt64,
+win_UInt16
+);
+ EventEnabledGCMarkStackRoots();
+Error |= FireEtwGCMarkStackRoots(
+win_UInt32,
+win_UInt16
+);
+ EventEnabledGCMarkFinalizeQueueRoots();
+Error |= FireEtwGCMarkFinalizeQueueRoots(
+win_UInt32,
+win_UInt16
+);
+ EventEnabledGCMarkHandles();
+Error |= FireEtwGCMarkHandles(
+win_UInt32,
+win_UInt16
+);
+ EventEnabledGCMarkOlderGenerationRoots();
+Error |= FireEtwGCMarkOlderGenerationRoots(
+win_UInt32,
+win_UInt16
+);
+ EventEnabledFinalizeObject();
+Error |= FireEtwFinalizeObject(
+(const void*)var11,
+(const void*)var11,
+win_UInt16
+);
+ EventEnabledSetGCHandle();
+Error |= FireEtwSetGCHandle(
+(const void*)var11,
+(const void*)var11,
+win_UInt32,
+win_UInt32,
+win_UInt64,
+win_UInt16
+);
+ EventEnabledDestroyGCHandle();
+Error |= FireEtwDestroyGCHandle(
+(const void*)var11,
+win_UInt16
+);
+ EventEnabledGCSampledObjectAllocationLow();
+Error |= FireEtwGCSampledObjectAllocationLow(
+(const void*)var11,
+(const void*)var11,
+win_UInt32,
+win_UInt64,
+win_UInt16
+);
+ EventEnabledPinObjectAtGCTime();
+Error |= FireEtwPinObjectAtGCTime(
+(const void*)var11,
+(const void*)var11,
+win_UInt64,
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledGCTriggered();
+Error |= FireEtwGCTriggered(
+win_UInt32,
+win_UInt16
+);
+ EventEnabledGCBulkRootCCW();
+Error |= FireEtwGCBulkRootCCW(
+2,
+win_UInt16,
+win_ULong,
+&win_Struct
+);
+ EventEnabledGCBulkRCW();
+Error |= FireEtwGCBulkRCW(
+2,
+win_UInt16,
+win_ULong,
+&win_Struct
+);
+ EventEnabledGCBulkRootStaticVar();
+Error |= FireEtwGCBulkRootStaticVar(
+2,
+win_UInt64,
+win_UInt16,
+win_ULong,
+&win_Struct
+);
+ EventEnabledWorkerThreadCreate();
+Error |= FireEtwWorkerThreadCreate(
+win_UInt32,
+win_UInt32
+);
+ EventEnabledWorkerThreadTerminate();
+Error |= FireEtwWorkerThreadTerminate(
+win_UInt32,
+win_UInt32
+);
+ EventEnabledWorkerThreadRetire();
+Error |= FireEtwWorkerThreadRetire(
+win_UInt32,
+win_UInt32
+);
+ EventEnabledWorkerThreadUnretire();
+Error |= FireEtwWorkerThreadUnretire(
+win_UInt32,
+win_UInt32
+);
+ EventEnabledIOThreadCreate();
+Error |= FireEtwIOThreadCreate(
+win_UInt32,
+win_UInt32
+);
+ EventEnabledIOThreadCreate_V1();
+Error |= FireEtwIOThreadCreate_V1(
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledIOThreadTerminate();
+Error |= FireEtwIOThreadTerminate(
+win_UInt32,
+win_UInt32
+);
+ EventEnabledIOThreadTerminate_V1();
+Error |= FireEtwIOThreadTerminate_V1(
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledIOThreadRetire();
+Error |= FireEtwIOThreadRetire(
+win_UInt32,
+win_UInt32
+);
+ EventEnabledIOThreadRetire_V1();
+Error |= FireEtwIOThreadRetire_V1(
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledIOThreadUnretire();
+Error |= FireEtwIOThreadUnretire(
+win_UInt32,
+win_UInt32
+);
+ EventEnabledIOThreadUnretire_V1();
+Error |= FireEtwIOThreadUnretire_V1(
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledThreadpoolSuspensionSuspendThread();
+Error |= FireEtwThreadpoolSuspensionSuspendThread(
+win_UInt32,
+win_UInt32
+);
+ EventEnabledThreadpoolSuspensionResumeThread();
+Error |= FireEtwThreadpoolSuspensionResumeThread(
+win_UInt32,
+win_UInt32
+);
+ EventEnabledThreadPoolWorkerThreadStart();
+Error |= FireEtwThreadPoolWorkerThreadStart(
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledThreadPoolWorkerThreadStop();
+Error |= FireEtwThreadPoolWorkerThreadStop(
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledThreadPoolWorkerThreadRetirementStart();
+Error |= FireEtwThreadPoolWorkerThreadRetirementStart(
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledThreadPoolWorkerThreadRetirementStop();
+Error |= FireEtwThreadPoolWorkerThreadRetirementStop(
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledThreadPoolWorkerThreadAdjustmentSample();
+Error |= FireEtwThreadPoolWorkerThreadAdjustmentSample(
+win_Double,
+win_UInt16
+);
+ EventEnabledThreadPoolWorkerThreadAdjustmentAdjustment();
+Error |= FireEtwThreadPoolWorkerThreadAdjustmentAdjustment(
+win_Double,
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledThreadPoolWorkerThreadAdjustmentStats();
+Error |= FireEtwThreadPoolWorkerThreadAdjustmentStats(
+win_Double,
+win_Double,
+win_Double,
+win_Double,
+win_Double,
+win_Double,
+win_Double,
+win_Double,
+win_Double,
+win_UInt16,
+win_UInt16
+);
+ EventEnabledThreadPoolWorkerThreadWait();
+Error |= FireEtwThreadPoolWorkerThreadWait(
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledThreadPoolWorkingThreadCount();
+Error |= FireEtwThreadPoolWorkingThreadCount(
+2,
+win_UInt16
+);
+ EventEnabledThreadPoolEnqueue();
+Error |= FireEtwThreadPoolEnqueue(
+(const void*)var11,
+win_UInt16
+);
+ EventEnabledThreadPoolDequeue();
+Error |= FireEtwThreadPoolDequeue(
+(const void*)var11,
+win_UInt16
+);
+ EventEnabledThreadPoolIOEnqueue();
+Error |= FireEtwThreadPoolIOEnqueue(
+(const void*)var11,
+(const void*)var11,
+win_Boolean,
+win_UInt16
+);
+ EventEnabledThreadPoolIODequeue();
+Error |= FireEtwThreadPoolIODequeue(
+(const void*)var11,
+(const void*)var11,
+win_UInt16
+);
+ EventEnabledThreadPoolIOPack();
+Error |= FireEtwThreadPoolIOPack(
+(const void*)var11,
+(const void*)var11,
+win_UInt16
+);
+ EventEnabledThreadCreating();
+Error |= FireEtwThreadCreating(
+(const void*)var11,
+win_UInt16
+);
+ EventEnabledThreadRunning();
+Error |= FireEtwThreadRunning(
+(const void*)var11,
+win_UInt16
+);
+ EventEnabledExceptionThrown();
+Error |= FireEtwExceptionThrown(
+);
+ EventEnabledExceptionThrown_V1();
+Error |= FireEtwExceptionThrown_V1(
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+(const void*)var11,
+win_UInt32,
+win_UInt16,
+win_UInt16
+);
+ EventEnabledExceptionCatchStart();
+Error |= FireEtwExceptionCatchStart(
+win_UInt64,
+win_UInt64,
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledExceptionCatchStop();
+Error |= FireEtwExceptionCatchStop(
+);
+ EventEnabledExceptionFinallyStart();
+Error |= FireEtwExceptionFinallyStart(
+win_UInt64,
+win_UInt64,
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledExceptionFinallyStop();
+Error |= FireEtwExceptionFinallyStop(
+);
+ EventEnabledExceptionFilterStart();
+Error |= FireEtwExceptionFilterStart(
+win_UInt64,
+win_UInt64,
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledExceptionFilterStop();
+Error |= FireEtwExceptionFilterStop(
+);
+ EventEnabledExceptionThrownStop();
+Error |= FireEtwExceptionThrownStop(
+);
+ EventEnabledContention();
+Error |= FireEtwContention(
+);
+ EventEnabledContentionStart_V1();
+Error |= FireEtwContentionStart_V1(
+win_UInt8,
+win_UInt16
+);
+ EventEnabledContentionStop();
+Error |= FireEtwContentionStop(
+win_UInt8,
+win_UInt16
+);
+ EventEnabledCLRStackWalk();
+Error |= FireEtwCLRStackWalk(
+win_UInt16,
+win_UInt8,
+win_UInt8,
+win_UInt32,
+(const void**)&var11
+);
+ EventEnabledAppDomainMemAllocated();
+Error |= FireEtwAppDomainMemAllocated(
+win_UInt64,
+win_UInt64,
+win_UInt16
+);
+ EventEnabledAppDomainMemSurvived();
+Error |= FireEtwAppDomainMemSurvived(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt16
+);
+ EventEnabledThreadCreated();
+Error |= FireEtwThreadCreated(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledThreadTerminated();
+Error |= FireEtwThreadTerminated(
+win_UInt64,
+win_UInt64,
+win_UInt16
+);
+ EventEnabledThreadDomainEnter();
+Error |= FireEtwThreadDomainEnter(
+win_UInt64,
+win_UInt64,
+win_UInt16
+);
+ EventEnabledILStubGenerated();
+Error |= FireEtwILStubGenerated(
+win_UInt16,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString ")
+);
+ EventEnabledILStubCacheHit();
+Error |= FireEtwILStubCacheHit(
+win_UInt16,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString ")
+);
+ EventEnabledDCStartCompleteV2();
+Error |= FireEtwDCStartCompleteV2(
+);
+ EventEnabledDCEndCompleteV2();
+Error |= FireEtwDCEndCompleteV2(
+);
+ EventEnabledMethodDCStartV2();
+Error |= FireEtwMethodDCStartV2(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32
+);
+ EventEnabledMethodDCEndV2();
+Error |= FireEtwMethodDCEndV2(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32
+);
+ EventEnabledMethodDCStartVerboseV2();
+Error |= FireEtwMethodDCStartVerboseV2(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString ")
+);
+ EventEnabledMethodDCEndVerboseV2();
+Error |= FireEtwMethodDCEndVerboseV2(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString ")
+);
+ EventEnabledMethodLoad();
+Error |= FireEtwMethodLoad(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32
+);
+ EventEnabledMethodLoad_V1();
+Error |= FireEtwMethodLoad_V1(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledMethodLoad_V2();
+Error |= FireEtwMethodLoad_V2(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt16,
+win_UInt64
+);
+ EventEnabledMethodUnload();
+Error |= FireEtwMethodUnload(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32
+);
+ EventEnabledMethodUnload_V1();
+Error |= FireEtwMethodUnload_V1(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledMethodUnload_V2();
+Error |= FireEtwMethodUnload_V2(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt16,
+win_UInt64
+);
+ EventEnabledMethodLoadVerbose();
+Error |= FireEtwMethodLoadVerbose(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString ")
+);
+ EventEnabledMethodLoadVerbose_V1();
+Error |= FireEtwMethodLoadVerbose_V1(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledMethodLoadVerbose_V2();
+Error |= FireEtwMethodLoadVerbose_V2(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16,
+win_UInt64
+);
+ EventEnabledMethodUnloadVerbose();
+Error |= FireEtwMethodUnloadVerbose(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString ")
+);
+ EventEnabledMethodUnloadVerbose_V1();
+Error |= FireEtwMethodUnloadVerbose_V1(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledMethodUnloadVerbose_V2();
+Error |= FireEtwMethodUnloadVerbose_V2(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16,
+win_UInt64
+);
+ EventEnabledMethodJittingStarted();
+Error |= FireEtwMethodJittingStarted(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString ")
+);
+ EventEnabledMethodJittingStarted_V1();
+Error |= FireEtwMethodJittingStarted_V1(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledMethodJitInliningSucceeded();
+Error |= FireEtwMethodJitInliningSucceeded(
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledMethodJitInliningFailed();
+Error |= FireEtwMethodJitInliningFailed(
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_Boolean,
+" Testing AniString ",
+win_UInt16
+);
+ EventEnabledMethodJitTailCallSucceeded();
+Error |= FireEtwMethodJitTailCallSucceeded(
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_Boolean,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledMethodJitTailCallFailed();
+Error |= FireEtwMethodJitTailCallFailed(
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_Boolean,
+" Testing AniString ",
+win_UInt16
+);
+ EventEnabledMethodILToNativeMap();
+Error |= FireEtwMethodILToNativeMap(
+win_UInt64,
+win_UInt64,
+win_UInt8,
+win_UInt16,
+&win_UInt32,
+&win_UInt32,
+win_UInt16
+);
+ EventEnabledModuleDCStartV2();
+Error |= FireEtwModuleDCStartV2(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString ")
+);
+ EventEnabledModuleDCEndV2();
+Error |= FireEtwModuleDCEndV2(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString ")
+);
+ EventEnabledDomainModuleLoad();
+Error |= FireEtwDomainModuleLoad(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString ")
+);
+ EventEnabledDomainModuleLoad_V1();
+Error |= FireEtwDomainModuleLoad_V1(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledModuleLoad();
+Error |= FireEtwModuleLoad(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString ")
+);
+ EventEnabledModuleLoad_V1();
+Error |= FireEtwModuleLoad_V1(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledModuleLoad_V2();
+Error |= FireEtwModuleLoad_V2(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16,
+&myGuid,
+win_UInt32,
+W(" Testing UnicodeString "),
+&myGuid,
+win_UInt32,
+W(" Testing UnicodeString ")
+);
+ EventEnabledModuleUnload();
+Error |= FireEtwModuleUnload(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString ")
+);
+ EventEnabledModuleUnload_V1();
+Error |= FireEtwModuleUnload_V1(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledModuleUnload_V2();
+Error |= FireEtwModuleUnload_V2(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16,
+&myGuid,
+win_UInt32,
+W(" Testing UnicodeString "),
+&myGuid,
+win_UInt32,
+W(" Testing UnicodeString ")
+);
+ EventEnabledAssemblyLoad();
+Error |= FireEtwAssemblyLoad(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+W(" Testing UnicodeString ")
+);
+ EventEnabledAssemblyLoad_V1();
+Error |= FireEtwAssemblyLoad_V1(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledAssemblyUnload();
+Error |= FireEtwAssemblyUnload(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+W(" Testing UnicodeString ")
+);
+ EventEnabledAssemblyUnload_V1();
+Error |= FireEtwAssemblyUnload_V1(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledAppDomainLoad();
+Error |= FireEtwAppDomainLoad(
+win_UInt64,
+win_UInt32,
+W(" Testing UnicodeString ")
+);
+ EventEnabledAppDomainLoad_V1();
+Error |= FireEtwAppDomainLoad_V1(
+win_UInt64,
+win_UInt32,
+W(" Testing UnicodeString "),
+win_UInt32,
+win_UInt16
+);
+ EventEnabledAppDomainUnload();
+Error |= FireEtwAppDomainUnload(
+win_UInt64,
+win_UInt32,
+W(" Testing UnicodeString ")
+);
+ EventEnabledAppDomainUnload_V1();
+Error |= FireEtwAppDomainUnload_V1(
+win_UInt64,
+win_UInt32,
+W(" Testing UnicodeString "),
+win_UInt32,
+win_UInt16
+);
+ EventEnabledModuleRangeLoad();
+Error |= FireEtwModuleRangeLoad(
+win_UInt16,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt8
+);
+ EventEnabledStrongNameVerificationStart();
+Error |= FireEtwStrongNameVerificationStart(
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString ")
+);
+ EventEnabledStrongNameVerificationStart_V1();
+Error |= FireEtwStrongNameVerificationStart_V1(
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledStrongNameVerificationStop();
+Error |= FireEtwStrongNameVerificationStop(
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString ")
+);
+ EventEnabledStrongNameVerificationStop_V1();
+Error |= FireEtwStrongNameVerificationStop_V1(
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledAuthenticodeVerificationStart();
+Error |= FireEtwAuthenticodeVerificationStart(
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString ")
+);
+ EventEnabledAuthenticodeVerificationStart_V1();
+Error |= FireEtwAuthenticodeVerificationStart_V1(
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledAuthenticodeVerificationStop();
+Error |= FireEtwAuthenticodeVerificationStop(
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString ")
+);
+ EventEnabledAuthenticodeVerificationStop_V1();
+Error |= FireEtwAuthenticodeVerificationStop_V1(
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledRuntimeInformationStart();
+Error |= FireEtwRuntimeInformationStart(
+win_UInt16,
+win_UInt16,
+win_UInt16,
+win_UInt16,
+win_UInt16,
+win_UInt16,
+win_UInt16,
+win_UInt16,
+win_UInt16,
+win_UInt16,
+win_UInt32,
+win_UInt8,
+W(" Testing UnicodeString "),
+&myGuid,
+W(" Testing UnicodeString ")
+);
+ EventEnabledIncreaseMemoryPressure();
+Error |= FireEtwIncreaseMemoryPressure(
+win_UInt64,
+win_UInt16
+);
+ EventEnabledDecreaseMemoryPressure();
+Error |= FireEtwDecreaseMemoryPressure(
+win_UInt64,
+win_UInt16
+);
+ EventEnabledGCMarkWithType();
+Error |= FireEtwGCMarkWithType(
+win_UInt32,
+win_UInt16,
+win_UInt32,
+win_UInt64
+);
+ EventEnabledGCJoin_V2();
+Error |= FireEtwGCJoin_V2(
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt16,
+win_UInt32
+);
+ EventEnabledGCPerHeapHistory_V3();
+Error |= FireEtwGCPerHeapHistory_V3(
+win_UInt16,
+(const void*)var11,
+(const void*)var11,
+(const void*)var11,
+(const void*)var11,
+(const void*)var11,
+(const void*)var11,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+(const void*)var11,
+2,
+win_ULong,
+&win_Struct
+);
+ EventEnabledGCGlobalHeapHistory_V2();
+Error |= FireEtwGCGlobalHeapHistory_V2(
+win_UInt64,
+win_Int32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt16,
+win_UInt32,
+win_UInt32
+);
+ EventEnabledDebugIPCEventStart();
+Error |= FireEtwDebugIPCEventStart(
+);
+ EventEnabledDebugIPCEventEnd();
+Error |= FireEtwDebugIPCEventEnd(
+);
+ EventEnabledDebugExceptionProcessingStart();
+Error |= FireEtwDebugExceptionProcessingStart(
+);
+ EventEnabledDebugExceptionProcessingEnd();
+Error |= FireEtwDebugExceptionProcessingEnd(
+);
+ EventEnabledCodeSymbols();
+Error |= FireEtwCodeSymbols(
+win_UInt64,
+win_UInt16,
+win_UInt16,
+win_UInt32,
+win_Binary,
+win_UInt16
+);
+ EventEnabledCLRStackWalkDCStart();
+Error |= FireEtwCLRStackWalkDCStart(
+win_UInt16,
+win_UInt8,
+win_UInt8,
+win_UInt32,
+(const void**)&var11
+);
+ EventEnabledMethodDCStart();
+Error |= FireEtwMethodDCStart(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32
+);
+ EventEnabledMethodDCStart_V1();
+Error |= FireEtwMethodDCStart_V1(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledMethodDCStart_V2();
+Error |= FireEtwMethodDCStart_V2(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt16,
+win_UInt64
+);
+ EventEnabledMethodDCEnd();
+Error |= FireEtwMethodDCEnd(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32
+);
+ EventEnabledMethodDCEnd_V1();
+Error |= FireEtwMethodDCEnd_V1(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledMethodDCEnd_V2();
+Error |= FireEtwMethodDCEnd_V2(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt16,
+win_UInt64
+);
+ EventEnabledMethodDCStartVerbose();
+Error |= FireEtwMethodDCStartVerbose(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString ")
+);
+ EventEnabledMethodDCStartVerbose_V1();
+Error |= FireEtwMethodDCStartVerbose_V1(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledMethodDCStartVerbose_V2();
+Error |= FireEtwMethodDCStartVerbose_V2(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16,
+win_UInt64
+);
+ EventEnabledMethodDCEndVerbose();
+Error |= FireEtwMethodDCEndVerbose(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString ")
+);
+ EventEnabledMethodDCEndVerbose_V1();
+Error |= FireEtwMethodDCEndVerbose_V1(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledMethodDCEndVerbose_V2();
+Error |= FireEtwMethodDCEndVerbose_V2(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16,
+win_UInt64
+);
+ EventEnabledDCStartComplete();
+Error |= FireEtwDCStartComplete(
+);
+ EventEnabledDCStartComplete_V1();
+Error |= FireEtwDCStartComplete_V1(
+win_UInt16
+);
+ EventEnabledDCEndComplete();
+Error |= FireEtwDCEndComplete(
+);
+ EventEnabledDCEndComplete_V1();
+Error |= FireEtwDCEndComplete_V1(
+win_UInt16
+);
+ EventEnabledDCStartInit();
+Error |= FireEtwDCStartInit(
+);
+ EventEnabledDCStartInit_V1();
+Error |= FireEtwDCStartInit_V1(
+win_UInt16
+);
+ EventEnabledDCEndInit();
+Error |= FireEtwDCEndInit(
+);
+ EventEnabledDCEndInit_V1();
+Error |= FireEtwDCEndInit_V1(
+win_UInt16
+);
+ EventEnabledMethodDCStartILToNativeMap();
+Error |= FireEtwMethodDCStartILToNativeMap(
+win_UInt64,
+win_UInt64,
+win_UInt8,
+win_UInt16,
+&win_UInt32,
+&win_UInt32,
+win_UInt16
+);
+ EventEnabledMethodDCEndILToNativeMap();
+Error |= FireEtwMethodDCEndILToNativeMap(
+win_UInt64,
+win_UInt64,
+win_UInt8,
+win_UInt16,
+&win_UInt32,
+&win_UInt32,
+win_UInt16
+);
+ EventEnabledDomainModuleDCStart();
+Error |= FireEtwDomainModuleDCStart(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString ")
+);
+ EventEnabledDomainModuleDCStart_V1();
+Error |= FireEtwDomainModuleDCStart_V1(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledDomainModuleDCEnd();
+Error |= FireEtwDomainModuleDCEnd(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString ")
+);
+ EventEnabledDomainModuleDCEnd_V1();
+Error |= FireEtwDomainModuleDCEnd_V1(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledModuleDCStart();
+Error |= FireEtwModuleDCStart(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString ")
+);
+ EventEnabledModuleDCStart_V1();
+Error |= FireEtwModuleDCStart_V1(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledModuleDCStart_V2();
+Error |= FireEtwModuleDCStart_V2(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16,
+&myGuid,
+win_UInt32,
+W(" Testing UnicodeString "),
+&myGuid,
+win_UInt32,
+W(" Testing UnicodeString ")
+);
+ EventEnabledModuleDCEnd();
+Error |= FireEtwModuleDCEnd(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString ")
+);
+ EventEnabledModuleDCEnd_V1();
+Error |= FireEtwModuleDCEnd_V1(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledModuleDCEnd_V2();
+Error |= FireEtwModuleDCEnd_V2(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16,
+&myGuid,
+win_UInt32,
+W(" Testing UnicodeString "),
+&myGuid,
+win_UInt32,
+W(" Testing UnicodeString ")
+);
+ EventEnabledAssemblyDCStart();
+Error |= FireEtwAssemblyDCStart(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+W(" Testing UnicodeString ")
+);
+ EventEnabledAssemblyDCStart_V1();
+Error |= FireEtwAssemblyDCStart_V1(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledAssemblyDCEnd();
+Error |= FireEtwAssemblyDCEnd(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+W(" Testing UnicodeString ")
+);
+ EventEnabledAssemblyDCEnd_V1();
+Error |= FireEtwAssemblyDCEnd_V1(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledAppDomainDCStart();
+Error |= FireEtwAppDomainDCStart(
+win_UInt64,
+win_UInt32,
+W(" Testing UnicodeString ")
+);
+ EventEnabledAppDomainDCStart_V1();
+Error |= FireEtwAppDomainDCStart_V1(
+win_UInt64,
+win_UInt32,
+W(" Testing UnicodeString "),
+win_UInt32,
+win_UInt16
+);
+ EventEnabledAppDomainDCEnd();
+Error |= FireEtwAppDomainDCEnd(
+win_UInt64,
+win_UInt32,
+W(" Testing UnicodeString ")
+);
+ EventEnabledAppDomainDCEnd_V1();
+Error |= FireEtwAppDomainDCEnd_V1(
+win_UInt64,
+win_UInt32,
+W(" Testing UnicodeString "),
+win_UInt32,
+win_UInt16
+);
+ EventEnabledThreadDC();
+Error |= FireEtwThreadDC(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledModuleRangeDCStart();
+Error |= FireEtwModuleRangeDCStart(
+win_UInt16,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt8
+);
+ EventEnabledModuleRangeDCEnd();
+Error |= FireEtwModuleRangeDCEnd(
+win_UInt16,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt8
+);
+ EventEnabledRuntimeInformationDCStart();
+Error |= FireEtwRuntimeInformationDCStart(
+win_UInt16,
+win_UInt16,
+win_UInt16,
+win_UInt16,
+win_UInt16,
+win_UInt16,
+win_UInt16,
+win_UInt16,
+win_UInt16,
+win_UInt16,
+win_UInt32,
+win_UInt8,
+W(" Testing UnicodeString "),
+&myGuid,
+W(" Testing UnicodeString ")
+);
+ EventEnabledStressLogEvent();
+Error |= FireEtwStressLogEvent(
+win_UInt32,
+win_UInt8,
+" Testing AniString "
+);
+ EventEnabledStressLogEvent_V1();
+Error |= FireEtwStressLogEvent_V1(
+win_UInt32,
+win_UInt8,
+" Testing AniString ",
+win_UInt16
+);
+ EventEnabledCLRStackWalkStress();
+Error |= FireEtwCLRStackWalkStress(
+win_UInt16,
+win_UInt8,
+win_UInt8,
+win_UInt32,
+(const void**)&var11
+);
+ EventEnabledGCDecision();
+Error |= FireEtwGCDecision(
+win_Boolean
+);
+ EventEnabledGCDecision_V1();
+Error |= FireEtwGCDecision_V1(
+win_Boolean,
+win_UInt16
+);
+ EventEnabledGCSettings();
+Error |= FireEtwGCSettings(
+win_UInt64,
+win_UInt64,
+win_Boolean
+);
+ EventEnabledGCSettings_V1();
+Error |= FireEtwGCSettings_V1(
+win_UInt64,
+win_UInt64,
+win_Boolean,
+win_UInt16
+);
+ EventEnabledGCOptimized();
+Error |= FireEtwGCOptimized(
+win_UInt64,
+win_UInt64,
+win_UInt32
+);
+ EventEnabledGCOptimized_V1();
+Error |= FireEtwGCOptimized_V1(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledGCPerHeapHistory();
+Error |= FireEtwGCPerHeapHistory(
+);
+ EventEnabledGCPerHeapHistory_V1();
+Error |= FireEtwGCPerHeapHistory_V1(
+win_UInt16
+);
+ EventEnabledGCGlobalHeapHistory();
+Error |= FireEtwGCGlobalHeapHistory(
+win_UInt64,
+win_Int32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32
+);
+ EventEnabledGCGlobalHeapHistory_V1();
+Error |= FireEtwGCGlobalHeapHistory_V1(
+win_UInt64,
+win_Int32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledGCJoin();
+Error |= FireEtwGCJoin(
+win_UInt32,
+win_UInt32,
+win_UInt32
+);
+ EventEnabledGCJoin_V1();
+Error |= FireEtwGCJoin_V1(
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledPrvGCMarkStackRoots();
+Error |= FireEtwPrvGCMarkStackRoots(
+win_UInt32
+);
+ EventEnabledPrvGCMarkStackRoots_V1();
+Error |= FireEtwPrvGCMarkStackRoots_V1(
+win_UInt32,
+win_UInt16
+);
+ EventEnabledPrvGCMarkFinalizeQueueRoots();
+Error |= FireEtwPrvGCMarkFinalizeQueueRoots(
+win_UInt32
+);
+ EventEnabledPrvGCMarkFinalizeQueueRoots_V1();
+Error |= FireEtwPrvGCMarkFinalizeQueueRoots_V1(
+win_UInt32,
+win_UInt16
+);
+ EventEnabledPrvGCMarkHandles();
+Error |= FireEtwPrvGCMarkHandles(
+win_UInt32
+);
+ EventEnabledPrvGCMarkHandles_V1();
+Error |= FireEtwPrvGCMarkHandles_V1(
+win_UInt32,
+win_UInt16
+);
+ EventEnabledPrvGCMarkCards();
+Error |= FireEtwPrvGCMarkCards(
+win_UInt32
+);
+ EventEnabledPrvGCMarkCards_V1();
+Error |= FireEtwPrvGCMarkCards_V1(
+win_UInt32,
+win_UInt16
+);
+ EventEnabledBGCBegin();
+Error |= FireEtwBGCBegin(
+win_UInt16
+);
+ EventEnabledBGC1stNonConEnd();
+Error |= FireEtwBGC1stNonConEnd(
+win_UInt16
+);
+ EventEnabledBGC1stConEnd();
+Error |= FireEtwBGC1stConEnd(
+win_UInt16
+);
+ EventEnabledBGC2ndNonConBegin();
+Error |= FireEtwBGC2ndNonConBegin(
+win_UInt16
+);
+ EventEnabledBGC2ndNonConEnd();
+Error |= FireEtwBGC2ndNonConEnd(
+win_UInt16
+);
+ EventEnabledBGC2ndConBegin();
+Error |= FireEtwBGC2ndConBegin(
+win_UInt16
+);
+ EventEnabledBGC2ndConEnd();
+Error |= FireEtwBGC2ndConEnd(
+win_UInt16
+);
+ EventEnabledBGCPlanEnd();
+Error |= FireEtwBGCPlanEnd(
+win_UInt16
+);
+ EventEnabledBGCSweepEnd();
+Error |= FireEtwBGCSweepEnd(
+win_UInt16
+);
+ EventEnabledBGCDrainMark();
+Error |= FireEtwBGCDrainMark(
+win_UInt64,
+win_UInt16
+);
+ EventEnabledBGCRevisit();
+Error |= FireEtwBGCRevisit(
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledBGCOverflow();
+Error |= FireEtwBGCOverflow(
+win_UInt64,
+win_UInt64,
+win_UInt64,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledBGCAllocWaitBegin();
+Error |= FireEtwBGCAllocWaitBegin(
+win_UInt32,
+win_UInt16
+);
+ EventEnabledBGCAllocWaitEnd();
+Error |= FireEtwBGCAllocWaitEnd(
+win_UInt32,
+win_UInt16
+);
+ EventEnabledGCFullNotify();
+Error |= FireEtwGCFullNotify(
+win_UInt32,
+win_UInt32
+);
+ EventEnabledGCFullNotify_V1();
+Error |= FireEtwGCFullNotify_V1(
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledEEStartupStart();
+Error |= FireEtwEEStartupStart(
+);
+ EventEnabledEEStartupStart_V1();
+Error |= FireEtwEEStartupStart_V1(
+win_UInt16
+);
+ EventEnabledEEStartupEnd();
+Error |= FireEtwEEStartupEnd(
+);
+ EventEnabledEEStartupEnd_V1();
+Error |= FireEtwEEStartupEnd_V1(
+win_UInt16
+);
+ EventEnabledEEConfigSetup();
+Error |= FireEtwEEConfigSetup(
+);
+ EventEnabledEEConfigSetup_V1();
+Error |= FireEtwEEConfigSetup_V1(
+win_UInt16
+);
+ EventEnabledEEConfigSetupEnd();
+Error |= FireEtwEEConfigSetupEnd(
+);
+ EventEnabledEEConfigSetupEnd_V1();
+Error |= FireEtwEEConfigSetupEnd_V1(
+win_UInt16
+);
+ EventEnabledLdSysBases();
+Error |= FireEtwLdSysBases(
+);
+ EventEnabledLdSysBases_V1();
+Error |= FireEtwLdSysBases_V1(
+win_UInt16
+);
+ EventEnabledLdSysBasesEnd();
+Error |= FireEtwLdSysBasesEnd(
+);
+ EventEnabledLdSysBasesEnd_V1();
+Error |= FireEtwLdSysBasesEnd_V1(
+win_UInt16
+);
+ EventEnabledExecExe();
+Error |= FireEtwExecExe(
+);
+ EventEnabledExecExe_V1();
+Error |= FireEtwExecExe_V1(
+win_UInt16
+);
+ EventEnabledExecExeEnd();
+Error |= FireEtwExecExeEnd(
+);
+ EventEnabledExecExeEnd_V1();
+Error |= FireEtwExecExeEnd_V1(
+win_UInt16
+);
+ EventEnabledMain();
+Error |= FireEtwMain(
+);
+ EventEnabledMain_V1();
+Error |= FireEtwMain_V1(
+win_UInt16
+);
+ EventEnabledMainEnd();
+Error |= FireEtwMainEnd(
+);
+ EventEnabledMainEnd_V1();
+Error |= FireEtwMainEnd_V1(
+win_UInt16
+);
+ EventEnabledApplyPolicyStart();
+Error |= FireEtwApplyPolicyStart(
+);
+ EventEnabledApplyPolicyStart_V1();
+Error |= FireEtwApplyPolicyStart_V1(
+win_UInt16
+);
+ EventEnabledApplyPolicyEnd();
+Error |= FireEtwApplyPolicyEnd(
+);
+ EventEnabledApplyPolicyEnd_V1();
+Error |= FireEtwApplyPolicyEnd_V1(
+win_UInt16
+);
+ EventEnabledLdLibShFolder();
+Error |= FireEtwLdLibShFolder(
+);
+ EventEnabledLdLibShFolder_V1();
+Error |= FireEtwLdLibShFolder_V1(
+win_UInt16
+);
+ EventEnabledLdLibShFolderEnd();
+Error |= FireEtwLdLibShFolderEnd(
+);
+ EventEnabledLdLibShFolderEnd_V1();
+Error |= FireEtwLdLibShFolderEnd_V1(
+win_UInt16
+);
+ EventEnabledPrestubWorker();
+Error |= FireEtwPrestubWorker(
+);
+ EventEnabledPrestubWorker_V1();
+Error |= FireEtwPrestubWorker_V1(
+win_UInt16
+);
+ EventEnabledPrestubWorkerEnd();
+Error |= FireEtwPrestubWorkerEnd(
+);
+ EventEnabledPrestubWorkerEnd_V1();
+Error |= FireEtwPrestubWorkerEnd_V1(
+win_UInt16
+);
+ EventEnabledGetInstallationStart();
+Error |= FireEtwGetInstallationStart(
+);
+ EventEnabledGetInstallationStart_V1();
+Error |= FireEtwGetInstallationStart_V1(
+win_UInt16
+);
+ EventEnabledGetInstallationEnd();
+Error |= FireEtwGetInstallationEnd(
+);
+ EventEnabledGetInstallationEnd_V1();
+Error |= FireEtwGetInstallationEnd_V1(
+win_UInt16
+);
+ EventEnabledOpenHModule();
+Error |= FireEtwOpenHModule(
+);
+ EventEnabledOpenHModule_V1();
+Error |= FireEtwOpenHModule_V1(
+win_UInt16
+);
+ EventEnabledOpenHModuleEnd();
+Error |= FireEtwOpenHModuleEnd(
+);
+ EventEnabledOpenHModuleEnd_V1();
+Error |= FireEtwOpenHModuleEnd_V1(
+win_UInt16
+);
+ EventEnabledExplicitBindStart();
+Error |= FireEtwExplicitBindStart(
+);
+ EventEnabledExplicitBindStart_V1();
+Error |= FireEtwExplicitBindStart_V1(
+win_UInt16
+);
+ EventEnabledExplicitBindEnd();
+Error |= FireEtwExplicitBindEnd(
+);
+ EventEnabledExplicitBindEnd_V1();
+Error |= FireEtwExplicitBindEnd_V1(
+win_UInt16
+);
+ EventEnabledParseXml();
+Error |= FireEtwParseXml(
+);
+ EventEnabledParseXml_V1();
+Error |= FireEtwParseXml_V1(
+win_UInt16
+);
+ EventEnabledParseXmlEnd();
+Error |= FireEtwParseXmlEnd(
+);
+ EventEnabledParseXmlEnd_V1();
+Error |= FireEtwParseXmlEnd_V1(
+win_UInt16
+);
+ EventEnabledInitDefaultDomain();
+Error |= FireEtwInitDefaultDomain(
+);
+ EventEnabledInitDefaultDomain_V1();
+Error |= FireEtwInitDefaultDomain_V1(
+win_UInt16
+);
+ EventEnabledInitDefaultDomainEnd();
+Error |= FireEtwInitDefaultDomainEnd(
+);
+ EventEnabledInitDefaultDomainEnd_V1();
+Error |= FireEtwInitDefaultDomainEnd_V1(
+win_UInt16
+);
+ EventEnabledInitSecurity();
+Error |= FireEtwInitSecurity(
+);
+ EventEnabledInitSecurity_V1();
+Error |= FireEtwInitSecurity_V1(
+win_UInt16
+);
+ EventEnabledInitSecurityEnd();
+Error |= FireEtwInitSecurityEnd(
+);
+ EventEnabledInitSecurityEnd_V1();
+Error |= FireEtwInitSecurityEnd_V1(
+win_UInt16
+);
+ EventEnabledAllowBindingRedirs();
+Error |= FireEtwAllowBindingRedirs(
+);
+ EventEnabledAllowBindingRedirs_V1();
+Error |= FireEtwAllowBindingRedirs_V1(
+win_UInt16
+);
+ EventEnabledAllowBindingRedirsEnd();
+Error |= FireEtwAllowBindingRedirsEnd(
+);
+ EventEnabledAllowBindingRedirsEnd_V1();
+Error |= FireEtwAllowBindingRedirsEnd_V1(
+win_UInt16
+);
+ EventEnabledEEConfigSync();
+Error |= FireEtwEEConfigSync(
+);
+ EventEnabledEEConfigSync_V1();
+Error |= FireEtwEEConfigSync_V1(
+win_UInt16
+);
+ EventEnabledEEConfigSyncEnd();
+Error |= FireEtwEEConfigSyncEnd(
+);
+ EventEnabledEEConfigSyncEnd_V1();
+Error |= FireEtwEEConfigSyncEnd_V1(
+win_UInt16
+);
+ EventEnabledFusionBinding();
+Error |= FireEtwFusionBinding(
+);
+ EventEnabledFusionBinding_V1();
+Error |= FireEtwFusionBinding_V1(
+win_UInt16
+);
+ EventEnabledFusionBindingEnd();
+Error |= FireEtwFusionBindingEnd(
+);
+ EventEnabledFusionBindingEnd_V1();
+Error |= FireEtwFusionBindingEnd_V1(
+win_UInt16
+);
+ EventEnabledLoaderCatchCall();
+Error |= FireEtwLoaderCatchCall(
+);
+ EventEnabledLoaderCatchCall_V1();
+Error |= FireEtwLoaderCatchCall_V1(
+win_UInt16
+);
+ EventEnabledLoaderCatchCallEnd();
+Error |= FireEtwLoaderCatchCallEnd(
+);
+ EventEnabledLoaderCatchCallEnd_V1();
+Error |= FireEtwLoaderCatchCallEnd_V1(
+win_UInt16
+);
+ EventEnabledFusionInit();
+Error |= FireEtwFusionInit(
+);
+ EventEnabledFusionInit_V1();
+Error |= FireEtwFusionInit_V1(
+win_UInt16
+);
+ EventEnabledFusionInitEnd();
+Error |= FireEtwFusionInitEnd(
+);
+ EventEnabledFusionInitEnd_V1();
+Error |= FireEtwFusionInitEnd_V1(
+win_UInt16
+);
+ EventEnabledFusionAppCtx();
+Error |= FireEtwFusionAppCtx(
+);
+ EventEnabledFusionAppCtx_V1();
+Error |= FireEtwFusionAppCtx_V1(
+win_UInt16
+);
+ EventEnabledFusionAppCtxEnd();
+Error |= FireEtwFusionAppCtxEnd(
+);
+ EventEnabledFusionAppCtxEnd_V1();
+Error |= FireEtwFusionAppCtxEnd_V1(
+win_UInt16
+);
+ EventEnabledFusion2EE();
+Error |= FireEtwFusion2EE(
+);
+ EventEnabledFusion2EE_V1();
+Error |= FireEtwFusion2EE_V1(
+win_UInt16
+);
+ EventEnabledFusion2EEEnd();
+Error |= FireEtwFusion2EEEnd(
+);
+ EventEnabledFusion2EEEnd_V1();
+Error |= FireEtwFusion2EEEnd_V1(
+win_UInt16
+);
+ EventEnabledSecurityCatchCall();
+Error |= FireEtwSecurityCatchCall(
+);
+ EventEnabledSecurityCatchCall_V1();
+Error |= FireEtwSecurityCatchCall_V1(
+win_UInt16
+);
+ EventEnabledSecurityCatchCallEnd();
+Error |= FireEtwSecurityCatchCallEnd(
+);
+ EventEnabledSecurityCatchCallEnd_V1();
+Error |= FireEtwSecurityCatchCallEnd_V1(
+win_UInt16
+);
+ EventEnabledCLRStackWalkPrivate();
+Error |= FireEtwCLRStackWalkPrivate(
+win_UInt16,
+win_UInt8,
+win_UInt8,
+win_UInt32,
+(const void**)&var11
+);
+ EventEnabledModuleRangeLoadPrivate();
+Error |= FireEtwModuleRangeLoadPrivate(
+win_UInt16,
+win_UInt64,
+win_UInt32,
+win_UInt32,
+win_UInt8,
+win_UInt8,
+win_UInt16
+);
+ EventEnabledBindingPolicyPhaseStart();
+Error |= FireEtwBindingPolicyPhaseStart(
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledBindingPolicyPhaseEnd();
+Error |= FireEtwBindingPolicyPhaseEnd(
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledBindingNgenPhaseStart();
+Error |= FireEtwBindingNgenPhaseStart(
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledBindingNgenPhaseEnd();
+Error |= FireEtwBindingNgenPhaseEnd(
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledBindingLookupAndProbingPhaseStart();
+Error |= FireEtwBindingLookupAndProbingPhaseStart(
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledBindingLookupAndProbingPhaseEnd();
+Error |= FireEtwBindingLookupAndProbingPhaseEnd(
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledLoaderPhaseStart();
+Error |= FireEtwLoaderPhaseStart(
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledLoaderPhaseEnd();
+Error |= FireEtwLoaderPhaseEnd(
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledBindingPhaseStart();
+Error |= FireEtwBindingPhaseStart(
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledBindingPhaseEnd();
+Error |= FireEtwBindingPhaseEnd(
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledBindingDownloadPhaseStart();
+Error |= FireEtwBindingDownloadPhaseStart(
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledBindingDownloadPhaseEnd();
+Error |= FireEtwBindingDownloadPhaseEnd(
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledLoaderAssemblyInitPhaseStart();
+Error |= FireEtwLoaderAssemblyInitPhaseStart(
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledLoaderAssemblyInitPhaseEnd();
+Error |= FireEtwLoaderAssemblyInitPhaseEnd(
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledLoaderMappingPhaseStart();
+Error |= FireEtwLoaderMappingPhaseStart(
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledLoaderMappingPhaseEnd();
+Error |= FireEtwLoaderMappingPhaseEnd(
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledLoaderDeliverEventsPhaseStart();
+Error |= FireEtwLoaderDeliverEventsPhaseStart(
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledLoaderDeliverEventsPhaseEnd();
+Error |= FireEtwLoaderDeliverEventsPhaseEnd(
+win_UInt32,
+win_UInt32,
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledEvidenceGenerated();
+Error |= FireEtwEvidenceGenerated(
+win_UInt32,
+win_UInt32,
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledModuleTransparencyComputationStart();
+Error |= FireEtwModuleTransparencyComputationStart(
+W(" Testing UnicodeString "),
+win_UInt32,
+win_UInt16
+);
+ EventEnabledModuleTransparencyComputationEnd();
+Error |= FireEtwModuleTransparencyComputationEnd(
+W(" Testing UnicodeString "),
+win_UInt32,
+win_Boolean,
+win_Boolean,
+win_Boolean,
+win_Boolean,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledTypeTransparencyComputationStart();
+Error |= FireEtwTypeTransparencyComputationStart(
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt32,
+win_UInt16
+);
+ EventEnabledTypeTransparencyComputationEnd();
+Error |= FireEtwTypeTransparencyComputationEnd(
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt32,
+win_Boolean,
+win_Boolean,
+win_Boolean,
+win_Boolean,
+win_UInt16
+);
+ EventEnabledMethodTransparencyComputationStart();
+Error |= FireEtwMethodTransparencyComputationStart(
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt32,
+win_UInt16
+);
+ EventEnabledMethodTransparencyComputationEnd();
+Error |= FireEtwMethodTransparencyComputationEnd(
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt32,
+win_Boolean,
+win_Boolean,
+win_UInt16
+);
+ EventEnabledFieldTransparencyComputationStart();
+Error |= FireEtwFieldTransparencyComputationStart(
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt32,
+win_UInt16
+);
+ EventEnabledFieldTransparencyComputationEnd();
+Error |= FireEtwFieldTransparencyComputationEnd(
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt32,
+win_Boolean,
+win_Boolean,
+win_UInt16
+);
+ EventEnabledTokenTransparencyComputationStart();
+Error |= FireEtwTokenTransparencyComputationStart(
+win_UInt32,
+W(" Testing UnicodeString "),
+win_UInt32,
+win_UInt16
+);
+ EventEnabledTokenTransparencyComputationEnd();
+Error |= FireEtwTokenTransparencyComputationEnd(
+win_UInt32,
+W(" Testing UnicodeString "),
+win_UInt32,
+win_Boolean,
+win_Boolean,
+win_UInt16
+);
+ EventEnabledNgenBindEvent();
+Error |= FireEtwNgenBindEvent(
+win_UInt16,
+win_UInt64,
+win_UInt32,
+W(" Testing UnicodeString ")
+);
+ EventEnabledFailFast();
+Error |= FireEtwFailFast(
+W(" Testing UnicodeString "),
+(const void*)var11,
+win_UInt32,
+win_UInt32,
+win_UInt16
+);
+ EventEnabledPrvFinalizeObject();
+Error |= FireEtwPrvFinalizeObject(
+(const void*)var11,
+(const void*)var11,
+win_UInt16,
+W(" Testing UnicodeString ")
+);
+ EventEnabledCCWRefCountChange();
+Error |= FireEtwCCWRefCountChange(
+(const void*)var11,
+(const void*)var11,
+(const void*)var11,
+win_UInt32,
+win_UInt64,
+" Testing AniString ",
+" Testing AniString ",
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledPrvSetGCHandle();
+Error |= FireEtwPrvSetGCHandle(
+(const void*)var11,
+(const void*)var11,
+win_UInt32,
+win_UInt32,
+win_UInt64,
+win_UInt16
+);
+ EventEnabledPrvDestroyGCHandle();
+Error |= FireEtwPrvDestroyGCHandle(
+(const void*)var11,
+win_UInt16
+);
+ EventEnabledFusionMessageEvent();
+Error |= FireEtwFusionMessageEvent(
+win_UInt16,
+win_Boolean,
+W(" Testing UnicodeString ")
+);
+ EventEnabledFusionErrorCodeEvent();
+Error |= FireEtwFusionErrorCodeEvent(
+win_UInt16,
+win_UInt32,
+win_UInt32
+);
+ EventEnabledPinPlugAtGCTime();
+Error |= FireEtwPinPlugAtGCTime(
+(const void*)var11,
+(const void*)var11,
+(const void*)var11,
+win_UInt16
+);
+ EventEnabledAllocRequest();
+Error |= FireEtwAllocRequest(
+(const void*)var11,
+(const void*)var11,
+win_UInt32,
+win_UInt32,
+win_UInt64,
+win_UInt16
+);
+ EventEnabledMulticoreJit();
+Error |= FireEtwMulticoreJit(
+win_UInt16,
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_Int32,
+win_Int32,
+win_Int32
+);
+ EventEnabledMulticoreJitMethodCodeReturned();
+Error |= FireEtwMulticoreJitMethodCodeReturned(
+win_UInt16,
+win_UInt64,
+win_UInt64
+);
+ EventEnabledIInspectableRuntimeClassName();
+Error |= FireEtwIInspectableRuntimeClassName(
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledWinRTUnbox();
+Error |= FireEtwWinRTUnbox(
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledCreateRCW();
+Error |= FireEtwCreateRCW(
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledRCWVariance();
+Error |= FireEtwRCWVariance(
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledRCWIEnumerableCasting();
+Error |= FireEtwRCWIEnumerableCasting(
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledCreateCCW();
+Error |= FireEtwCreateCCW(
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledCCWVariance();
+Error |= FireEtwCCWVariance(
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledObjectVariantMarshallingToNative();
+Error |= FireEtwObjectVariantMarshallingToNative(
+W(" Testing UnicodeString "),
+win_Int32,
+win_UInt16
+);
+ EventEnabledGetTypeFromGUID();
+Error |= FireEtwGetTypeFromGUID(
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledGetTypeFromProgID();
+Error |= FireEtwGetTypeFromProgID(
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledConvertToCallbackEtw();
+Error |= FireEtwConvertToCallbackEtw(
+W(" Testing UnicodeString "),
+W(" Testing UnicodeString "),
+win_UInt16
+);
+ EventEnabledBeginCreateManagedReference();
+Error |= FireEtwBeginCreateManagedReference(
+win_UInt16
+);
+ EventEnabledEndCreateManagedReference();
+Error |= FireEtwEndCreateManagedReference(
+win_UInt16
+);
+ EventEnabledObjectVariantMarshallingToManaged();
+Error |= FireEtwObjectVariantMarshallingToManaged(
+W(" Testing UnicodeString "),
+win_Int32,
+win_UInt16
+);
+ /* Shutdown the PAL.
+     */
+
+    if (Error != ERROR_SUCCESS)
+    {
+        Fail("One or more eventing Apis failed\n ");
+        return FAIL;
+    }
+        Trace("\n All eventing APIs were fired succesfully \n");
+#endif //defined(FEATURE_EVENT_TRACE)
+        PAL_Terminate();
+        return PASS;
+}
+
diff --git a/src/pal/tests/palsuite/eventprovider/testinfo.dat b/src/pal/tests/palsuite/eventprovider/testinfo.dat
new file mode 100644 (file)
index 0000000..6c77216
--- /dev/null
@@ -0,0 +1,13 @@
+#
+# Copyright (c) Microsoft Corporation.  All rights reserved.
+#
+
+Version = 1.0
+Section = EventProvider 
+Function = EventProvider
+Name = PAL test for FireEtW* and EventEnabled* functions
+TYPE = DEFAULT
+EXE1 = eventprovidertest 
+Description
+=This is a sanity test to check that there are no crashes in PAL eventing 
+
index 2dbcd03..dd14f75 100644 (file)
@@ -801,3 +801,4 @@ threading/WaitForSingleObject/WFSOMutexTest/paltest_waitforsingleobject_wfsomute
 threading/WaitForSingleObject/WFSOSemaphoreTest/paltest_waitforsingleobject_wfsosemaphoretest
 threading/WaitForSingleObject/WFSOThreadTest/paltest_waitforsingleobject_wfsothreadtest
 threading/YieldProcessor/test1/paltest_yieldprocessor_test1
+eventprovider/eventprovidertest
index e1e6138..e9e59f8 100644 (file)
@@ -265,6 +265,12 @@ set(VM_SOURCES_WKS
     weakreferencenative.cpp
 )
 
+if(CLR_CMAKE_PLATFORM_LINUX OR WIN32)
+    list(APPEND VM_SOURCES_WKS
+        eventtrace.cpp
+        )
+endif(CLR_CMAKE_PLATFORM_LINUX OR WIN32)
+
 if(WIN32)
 
 set(VM_SOURCES_DAC_AND_WKS_WIN32
@@ -293,7 +299,6 @@ list(APPEND VM_SOURCES_WKS
     dispparammarshaler.cpp
     dwreport.cpp
     eventreporter.cpp
-    eventtrace.cpp
     extensibleclassfactory.cpp
     microsoft.comservices_i.c
     mngstdinterfaces.cpp
index ecedc32..90dbf0b 100644 (file)
@@ -232,6 +232,7 @@ extern "C"
 /*************************************/
 /* Function to append a frame to an existing stack */
 /*************************************/
+#if  !defined(FEATURE_PAL)
 void ETW::SamplingLog::Append(SIZE_T currentFrame)
 {
     LIMITED_METHOD_CONTRACT;
@@ -323,7 +324,6 @@ ETW::SamplingLog::EtwStackWalkStatus ETW::SamplingLog::SaveCurrentStack(int skip
     if (pThread->m_State & Thread::TS_Hijacked) {
         return ETW::SamplingLog::UnInitialized;
     }
-
     if (pThread->IsEtwStackWalkInProgress())
     {
         return ETW::SamplingLog::InProgress;
@@ -412,6 +412,7 @@ ETW::SamplingLog::EtwStackWalkStatus ETW::SamplingLog::SaveCurrentStack(int skip
     return ETW::SamplingLog::Completed;
 }
 
+#endif // !defined(FEATURE_PAL)
 #endif // !FEATURE_REDHAWK
 
 /****************************************************************************/
@@ -1198,6 +1199,7 @@ void BulkComLogger::FlushRcw()
 
     unsigned short instance = GetClrInstanceId();
 
+#if !defined(FEATURE_PAL)
     EVENT_DATA_DESCRIPTOR eventData[3];
     EventDataDescCreate(&eventData[0], &m_currRcw, sizeof(const unsigned int));
     EventDataDescCreate(&eventData[1], &instance, sizeof(const unsigned short));
@@ -1205,6 +1207,9 @@ void BulkComLogger::FlushRcw()
 
     ULONG result = EventWrite(Microsoft_Windows_DotNETRuntimeHandle, &GCBulkRCW, _countof(eventData), eventData);
     _ASSERTE(result == ERROR_SUCCESS);
+#else
+// UNIXTODO: "Eventing Not Implemented"
+#endif // !defined(FEATURE_PAL)
 
     m_currRcw = 0;
 }
@@ -1282,6 +1287,7 @@ void BulkComLogger::FlushCcw()
 
     unsigned short instance = GetClrInstanceId();
 
+#if !defined(FEATURE_PAL)
     EVENT_DATA_DESCRIPTOR eventData[3];
     EventDataDescCreate(&eventData[0], &m_currCcw, sizeof(const unsigned int));
     EventDataDescCreate(&eventData[1], &instance, sizeof(const unsigned short));
@@ -1289,6 +1295,10 @@ void BulkComLogger::FlushCcw()
 
     ULONG result = EventWrite(Microsoft_Windows_DotNETRuntimeHandle, &GCBulkRootCCW, _countof(eventData), eventData);
     _ASSERTE(result == ERROR_SUCCESS);
+#else
+// UNIXTODO: "Eventing Not Implemented"
+#endif //!defined(FEATURE_PAL)
+
 
     m_currCcw = 0;
 }
@@ -1480,6 +1490,7 @@ void BulkStaticsLogger::FireBulkStaticsEvent()
     unsigned short instance = GetClrInstanceId();
     unsigned __int64 appDomain = (unsigned __int64)m_domain;
 
+#if !defined(FEATURE_PAL)
     EVENT_DATA_DESCRIPTOR eventData[4];
     EventDataDescCreate(&eventData[0], &m_count, sizeof(const unsigned int)  );
     EventDataDescCreate(&eventData[1], &appDomain, sizeof(unsigned __int64)  );
@@ -1488,6 +1499,9 @@ void BulkStaticsLogger::FireBulkStaticsEvent()
 
     ULONG result = EventWrite(Microsoft_Windows_DotNETRuntimeHandle, &GCBulkRootStaticVar, _countof(eventData), eventData);
     _ASSERTE(result == ERROR_SUCCESS);
+#else
+// UNIXTODO: "Eventing Not Implemented"
+#endif //!defined(FEATURE_PAL)
 
     m_used = 0;
     m_count = 0;
@@ -1642,12 +1656,13 @@ void BulkStaticsLogger::LogAllStatics()
 // be logged via ETW in bulk
 //---------------------------------------------------------------------------------------
 
-BulkTypeValue::BulkTypeValue() : cTypeParameters(0), rgTypeParameters()
+BulkTypeValue::BulkTypeValue() : cTypeParameters(0)
 #ifdef FEATURE_REDHAWK
 , ullSingleTypeParameter(0)
 #else // FEATURE_REDHAWK
 , sName()
 #endif // FEATURE_REDHAWK
+, rgTypeParameters()
 {
     LIMITED_METHOD_CONTRACT;
     ZeroMemory(&fixedSizedData, sizeof(fixedSizedData));
@@ -1686,6 +1701,7 @@ void BulkTypeValue::Clear()
 //
 //
 
+#if !defined(FEATURE_PAL)
 void BulkTypeEventLogger::FireBulkTypeEvent()
 {
     LIMITED_METHOD_CONTRACT;
@@ -1774,6 +1790,12 @@ void BulkTypeEventLogger::FireBulkTypeEvent()
     m_nBulkTypeValueByteCount = 0;
 }
 
+#else
+void BulkTypeEventLogger::FireBulkTypeEvent()
+{
+// UNIXTODO: "Eventing Not Implemented"
+}
+#endif //!defined(FEATURE_PAL)
 #ifndef FEATURE_REDHAWK
 
 //---------------------------------------------------------------------------------------
@@ -2278,9 +2300,9 @@ VOID ETW::GCLog::RootReference(
     switch (nRootKind)
     {
     case kEtwGCRootKindStack:
-#ifndef FEATURE_REDHAWK
+#if !defined (FEATURE_REDHAWK) && (defined(GC_PROFILING) || defined (DACCESS_COMPILE))
         pvRootID = profilingScanContext->pMD;
-#endif // !FEATURE_REDHAWK
+#endif // !defined (FEATURE_REDHAWK) && (defined(GC_PROFILING) || defined (DACCESS_COMPILE))
         break;
 
     case kEtwGCRootKindHandle:
@@ -2357,7 +2379,6 @@ VOID ETW::GCLog::RootReference(
     }
 }
 
-
 //---------------------------------------------------------------------------------------
 //
 // Called during a heap walk for each object reference encountered.  Batches up the
@@ -4205,6 +4226,7 @@ Return Value:
 
 --*/
 
+#if !defined(FEATURE_PAL)
 void InitializeEventTracing()
 {
     CONTRACTL
@@ -4235,7 +4257,6 @@ void InitializeEventTracing()
     // providers can do so now
     ETW::TypeSystemLog::PostRegistrationInit();
 }
-
 HRESULT ETW::CEtwTracer::Register()
 {
     WRAPPER_NO_CONTRACT;
@@ -4298,7 +4319,6 @@ Return Value:
 HRESULT ETW::CEtwTracer::UnRegister() 
 {
     LIMITED_METHOD_CONTRACT;
-
     EventUnregisterMicrosoft_Windows_DotNETRuntime();
     EventUnregisterMicrosoft_Windows_DotNETRuntimePrivate();
     EventUnregisterMicrosoft_Windows_DotNETRuntimeRundown();
@@ -4483,7 +4503,11 @@ extern "C"
 
     }
 }
+#else
+
+void InitializeEventTracing(){}
 
+#endif // !defined(FEATURE_PAL)
 #endif // FEATURE_REDHAWK
 
 #ifndef FEATURE_REDHAWK
@@ -4875,8 +4899,8 @@ VOID ETW::InfoLog::RuntimeInformation(INT32 type)
 
             LPCGUID comGUID=&g_EEComObjectGuid;
 
-            LPWSTR lpwszCommandLine = W("");
-            LPWSTR lpwszRuntimeDllPath = (LPWSTR)dllPath;
+            PCWSTR lpwszCommandLine = W("");
+            PCWSTR lpwszRuntimeDllPath = (PCWSTR)dllPath;
 
 #ifndef FEATURE_CORECLR
             startupFlags = CorHost2::GetStartupFlags();
@@ -4990,6 +5014,7 @@ VOID ETW::InfoLog::RuntimeInformation(INT32 type)
 
 VOID ETW::CodeSymbolLog::EmitCodeSymbols(Module* pModule)
 {
+#if  !defined(FEATURE_PAL) //UNIXTODO: Enable EmitCodeSymbols
     CONTRACTL {
         NOTHROW;
         GC_NOTRIGGER;
@@ -5047,6 +5072,7 @@ VOID ETW::CodeSymbolLog::EmitCodeSymbols(Module* pModule)
             }
         }
     } EX_CATCH{} EX_END_CATCH(SwallowAllExceptions);
+#endif//  !defined(FEATURE_PAL)
 }
 
 /* Returns the length of an in-memory symbol stream
@@ -6099,7 +6125,7 @@ VOID ETW::LoaderLog::SendModuleEvent(Module *pModule, DWORD dwEventOptions, BOOL
     CV_INFO_PDB70 cvInfoNative = {0};
     GetCodeViewInfo(pModule, &cvInfoIL, &cvInfoNative);
 
-    PWCHAR ModuleILPath=W(""), ModuleNativePath=W("");
+    PWCHAR ModuleILPath=(PWCHAR)W(""), ModuleNativePath=(PWCHAR)W("");
 
     if(bFireDomainModuleEvents)
     {
index 8abfadb..5259e91 100644 (file)
@@ -5408,7 +5408,7 @@ LONG InternalUnhandledExceptionFilter_Worker(
 #endif // DEBUGGING_SUPPORTED
 
 
-#ifdef FEATURE_EVENT_TRACE    
+#if defined(FEATURE_EVENT_TRACE) && !defined(FEATURE_PAL)
         DoReportForUnhandledException(pParam->pExceptionInfo);
 #endif // FEATURE_EVENT_TRACE    
 
index 7f404fe..e74285a 100644 (file)
@@ -5472,7 +5472,7 @@ void DoJITFailFast ()
     if(ETW_EVENT_ENABLED(MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER_Context, FailFast))
     {
         // Fire an ETW FailFast event
-        FireEtwFailFast(L"Unsafe buffer security check failure: Buffer overrun detected", 
+        FireEtwFailFast(W("Unsafe buffer security check failure: Buffer overrun detected"),
                        (const PVOID)GetThread()->GetFrame()->GetIP(), 
                        STATUS_STACK_BUFFER_OVERRUN, 
                        COR_E_EXECUTIONENGINE, 
index fcd96d3..6926ce4 100644 (file)
@@ -4456,9 +4456,7 @@ void MethodDesc::CheckRestore(ClassLoadLevel level)
                 pIMD->m_wFlags2 = pIMD->m_wFlags2 & ~InstantiatedMethodDesc::Unrestored;
             }
 
-#if defined(FEATURE_EVENT_TRACE)
-            if (MICROSOFT_WINDOWS_DOTNETRUNTIME_PROVIDER_Context.IsEnabled)
-#endif
+            if (ETW_PROVIDER_ENABLED(MICROSOFT_WINDOWS_DOTNETRUNTIME_PROVIDER))
             {
                 ETW::MethodLog::MethodRestored(this);
             }
@@ -4475,9 +4473,7 @@ void MethodDesc::CheckRestore(ClassLoadLevel level)
             PTR_DynamicMethodDesc pDynamicMD = AsDynamicMethodDesc();
             pDynamicMD->Restore();
 
-#if defined(FEATURE_EVENT_TRACE)
-            if (MICROSOFT_WINDOWS_DOTNETRUNTIME_PROVIDER_Context.IsEnabled)
-#endif
+            if (ETW_PROVIDER_ENABLED(MICROSOFT_WINDOWS_DOTNETRUNTIME_PROVIDER))
             {
                 ETW::MethodLog::MethodRestored(this);
             }
index 644b9e6..de66026 100644 (file)
@@ -604,9 +604,7 @@ void MethodTable::SetIsRestored()
         FastInterlockAnd(EnsureWritablePages(&(GetWriteableDataForWrite()->m_dwFlags)), ~MethodTableWriteableData::enum_flag_Unrestored);
     }
 #ifndef DACCESS_COMPILE
-#if defined(FEATURE_EVENT_TRACE)
-    if (MICROSOFT_WINDOWS_DOTNETRUNTIME_PROVIDER_Context.IsEnabled)
-#endif
+    if (ETW_PROVIDER_ENABLED(MICROSOFT_WINDOWS_DOTNETRUNTIME_PROVIDER))
     {
         ETW::MethodLog::MethodTableRestored(this);
     }
index 8ba9431..8704226 100644 (file)
@@ -28,6 +28,7 @@
 #include "appdomain.hpp"
 #include "qcall.h"
 
+#include "eventtracebase.h"
 #include "multicorejit.h"
 #include "multicorejitimpl.h"
 
@@ -96,7 +97,7 @@ void MulticoreJitFireEtwA(const wchar_t * pAction, const char * pTarget, int p1,
 #ifdef FEATURE_EVENT_TRACE
     EX_TRY
     {
-        if (McGenEventTracingEnabled(& MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER_Context, & MulticoreJit))
+        if (EventEnabledMulticoreJit())
         {
             SString wTarget;
 
index c9ba0fd..fb23f15 100644 (file)
@@ -480,7 +480,7 @@ extern bool     g_MulticoreJitEnabled;                           // Enable/Disab
 inline bool PrivateEtwEnabled()
 {
 #ifdef FEATURE_EVENT_TRACE
-    return MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER_Context.IsEnabled != 0;
+    return ETW_PROVIDER_ENABLED(MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER) != 0;
 #else // FEATURE_EVENT_TRACE
     return FALSE;
 #endif // FEATURE_EVENT_TRACE