summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt10
-rw-r--r--Documentation/building/linux-instructions.md3
-rw-r--r--src/dlls/mscoree/coreclr/CMakeLists.txt9
-rw-r--r--src/gc/gc.cpp2
-rw-r--r--src/gc/gcee.cpp13
-rw-r--r--src/inc/eventtracebase.h310
-rw-r--r--src/inc/genXplatEtw.pl536
-rw-r--r--src/inc/genXplatLtnng.pl541
-rw-r--r--src/pal/inc/pal_mstypes.h1
-rw-r--r--src/pal/prebuilt/inc/clrallevents.h2628
-rw-r--r--src/pal/prebuilt/inc/etmdummy.h31
-rw-r--r--src/pal/src/CMakeLists.txt4
-rw-r--r--src/pal/src/eventprovider/CMakeLists.txt22
-rw-r--r--src/pal/src/eventprovider/lttng/eventprovdotnetruntime.cpp5791
-rw-r--r--src/pal/src/eventprovider/lttng/eventprovdotnetruntimeprivate.cpp4851
-rw-r--r--src/pal/src/eventprovider/lttng/eventprovdotnetruntimerundown.cpp1947
-rw-r--r--src/pal/src/eventprovider/lttng/eventprovdotnetruntimestress.cpp91
-rw-r--r--src/pal/src/eventprovider/lttng/tpdotnetruntime.h3208
-rw-r--r--src/pal/src/eventprovider/lttng/tpdotnetruntimeprivate.h1607
-rw-r--r--src/pal/src/eventprovider/lttng/tpdotnetruntimerundown.h822
-rw-r--r--src/pal/src/eventprovider/lttng/tpdotnetruntimestress.h123
-rw-r--r--src/pal/src/eventprovider/lttng/traceptprovdotnetruntime.cpp15
-rw-r--r--src/pal/src/eventprovider/lttng/traceptprovdotnetruntimeprivate.cpp15
-rw-r--r--src/pal/src/eventprovider/lttng/traceptprovdotnetruntimerundown.cpp15
-rw-r--r--src/pal/src/eventprovider/lttng/traceptprovdotnetruntimestress.cpp15
-rw-r--r--src/pal/src/eventprovider/tracepointprovider/CMakeLists.txt27
-rw-r--r--src/pal/tests/palsuite/CMakeLists.txt1
-rw-r--r--src/pal/tests/palsuite/eventprovider/CMakeLists.txt35
-rw-r--r--src/pal/tests/palsuite/eventprovider/clralltestevents.cpp2690
-rw-r--r--src/pal/tests/palsuite/eventprovider/testinfo.dat13
-rw-r--r--src/pal/tests/palsuite/paltestlist.txt1
-rw-r--r--src/vm/CMakeLists.txt7
-rw-r--r--src/vm/eventtrace.cpp46
-rw-r--r--src/vm/excep.cpp2
-rw-r--r--src/vm/jithelpers.cpp2
-rw-r--r--src/vm/method.cpp8
-rw-r--r--src/vm/methodtable.cpp4
-rw-r--r--src/vm/multicorejit.cpp3
-rw-r--r--src/vm/multicorejitimpl.h2
39 files changed, 25248 insertions, 203 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index aa28a5f0f1..1be2864ecb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -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)
diff --git a/Documentation/building/linux-instructions.md b/Documentation/building/linux-instructions.md
index ebccafb504..73d1b925ab 100644
--- a/Documentation/building/linux-instructions.md
+++ b/Documentation/building/linux-instructions.md
@@ -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.
diff --git a/src/dlls/mscoree/coreclr/CMakeLists.txt b/src/dlls/mscoree/coreclr/CMakeLists.txt
index 3364e7350e..297a41143c 100644
--- a/src/dlls/mscoree/coreclr/CMakeLists.txt
+++ b/src/dlls/mscoree/coreclr/CMakeLists.txt
@@ -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)
diff --git a/src/gc/gc.cpp b/src/gc/gc.cpp
index ae12b9f240..f77f482a71 100644
--- a/src/gc/gc.cpp
+++ b/src/gc/gc.cpp
@@ -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)))
{
diff --git a/src/gc/gcee.cpp b/src/gc/gcee.cpp
index c8fdef17c0..169b2170ea 100644
--- a/src/gc/gcee.cpp
+++ b/src/gc/gcee.cpp
@@ -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 &&
diff --git a/src/inc/eventtracebase.h b/src/inc/eventtracebase.h
index 768a774f42..ed3e6e00d5 100644
--- a/src/inc/eventtracebase.h
+++ b/src/inc/eventtracebase.h
@@ -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
index 0000000000..46421f5c1a
--- /dev/null
+++ b/src/inc/genXplatEtw.pl
@@ -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
index 0000000000..39aff1a834
--- /dev/null
+++ b/src/inc/genXplatLtnng.pl
@@ -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();
diff --git a/src/pal/inc/pal_mstypes.h b/src/pal/inc/pal_mstypes.h
index 3c6d7f2904..aca1c60814 100644
--- a/src/pal/inc/pal_mstypes.h
+++ b/src/pal/inc/pal_mstypes.h
@@ -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
index 0000000000..ab48f43f3f
--- /dev/null
+++ b/src/pal/prebuilt/inc/clrallevents.h
@@ -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
+);
diff --git a/src/pal/prebuilt/inc/etmdummy.h b/src/pal/prebuilt/inc/etmdummy.h
index 937a6265f9..97c592ed46 100644
--- a/src/pal/prebuilt/inc/etmdummy.h
+++ b/src/pal/prebuilt/inc/etmdummy.h
@@ -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
@@ -34,14 +41,14 @@
#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
@@ -163,7 +170,7 @@
#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
diff --git a/src/pal/src/CMakeLists.txt b/src/pal/src/CMakeLists.txt
index bc558cf05c..1e8363969a 100644
--- a/src/pal/src/CMakeLists.txt
+++ b/src/pal/src/CMakeLists.txt
@@ -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
index 0000000000..d995cde565
--- /dev/null
+++ b/src/pal/src/eventprovider/CMakeLists.txt
@@ -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
index 0000000000..c7883acf97
--- /dev/null
+++ b/src/pal/src/eventprovider/lttng/eventprovdotnetruntime.cpp
@@ -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
index 0000000000..0b24579a57
--- /dev/null
+++ b/src/pal/src/eventprovider/lttng/eventprovdotnetruntimeprivate.cpp
@@ -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
index 0000000000..5cb9b7a7db
--- /dev/null
+++ b/src/pal/src/eventprovider/lttng/eventprovdotnetruntimerundown.cpp
@@ -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
index 0000000000..73cdcb87a5
--- /dev/null
+++ b/src/pal/src/eventprovider/lttng/eventprovdotnetruntimestress.cpp
@@ -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
index 0000000000..0b3c8a7dbc
--- /dev/null
+++ b/src/pal/src/eventprovider/lttng/tpdotnetruntime.h
@@ -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
index 0000000000..12960fcc9d
--- /dev/null
+++ b/src/pal/src/eventprovider/lttng/tpdotnetruntimeprivate.h
@@ -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
index 0000000000..789a90cb05
--- /dev/null
+++ b/src/pal/src/eventprovider/lttng/tpdotnetruntimerundown.h
@@ -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
index 0000000000..ee4c697841
--- /dev/null
+++ b/src/pal/src/eventprovider/lttng/tpdotnetruntimestress.h
@@ -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
index 0000000000..317932263d
--- /dev/null
+++ b/src/pal/src/eventprovider/lttng/traceptprovdotnetruntime.cpp
@@ -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
index 0000000000..3a81cdc724
--- /dev/null
+++ b/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimeprivate.cpp
@@ -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
index 0000000000..398baee307
--- /dev/null
+++ b/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimerundown.cpp
@@ -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
index 0000000000..6ecb6110c4
--- /dev/null
+++ b/src/pal/src/eventprovider/lttng/traceptprovdotnetruntimestress.cpp
@@ -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
index 0000000000..1876736a14
--- /dev/null
+++ b/src/pal/src/eventprovider/tracepointprovider/CMakeLists.txt
@@ -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 .)
+
diff --git a/src/pal/tests/palsuite/CMakeLists.txt b/src/pal/tests/palsuite/CMakeLists.txt
index 7095aa691b..19464a3bc7 100644
--- a/src/pal/tests/palsuite/CMakeLists.txt
+++ b/src/pal/tests/palsuite/CMakeLists.txt
@@ -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
index 0000000000..32b59592ee
--- /dev/null
+++ b/src/pal/tests/palsuite/eventprovider/CMakeLists.txt
@@ -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
index 0000000000..dd31161305
--- /dev/null
+++ b/src/pal/tests/palsuite/eventprovider/clralltestevents.cpp
@@ -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
index 0000000000..6c77216121
--- /dev/null
+++ b/src/pal/tests/palsuite/eventprovider/testinfo.dat
@@ -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
+
diff --git a/src/pal/tests/palsuite/paltestlist.txt b/src/pal/tests/palsuite/paltestlist.txt
index 2dbcd034a6..dd14f757f5 100644
--- a/src/pal/tests/palsuite/paltestlist.txt
+++ b/src/pal/tests/palsuite/paltestlist.txt
@@ -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
diff --git a/src/vm/CMakeLists.txt b/src/vm/CMakeLists.txt
index e1e6138644..e9e59f82fb 100644
--- a/src/vm/CMakeLists.txt
+++ b/src/vm/CMakeLists.txt
@@ -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
diff --git a/src/vm/eventtrace.cpp b/src/vm/eventtrace.cpp
index ecedc32520..90dbf0bfc8 100644
--- a/src/vm/eventtrace.cpp
+++ b/src/vm/eventtrace.cpp
@@ -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)
{
diff --git a/src/vm/excep.cpp b/src/vm/excep.cpp
index 8abfadbf24..5259e91d1a 100644
--- a/src/vm/excep.cpp
+++ b/src/vm/excep.cpp
@@ -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
diff --git a/src/vm/jithelpers.cpp b/src/vm/jithelpers.cpp
index 7f404fe523..e74285aa34 100644
--- a/src/vm/jithelpers.cpp
+++ b/src/vm/jithelpers.cpp
@@ -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,
diff --git a/src/vm/method.cpp b/src/vm/method.cpp
index fcd96d3e9d..6926ce4b6e 100644
--- a/src/vm/method.cpp
+++ b/src/vm/method.cpp
@@ -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);
}
diff --git a/src/vm/methodtable.cpp b/src/vm/methodtable.cpp
index 644b9e60e0..de660268e4 100644
--- a/src/vm/methodtable.cpp
+++ b/src/vm/methodtable.cpp
@@ -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);
}
diff --git a/src/vm/multicorejit.cpp b/src/vm/multicorejit.cpp
index 8ba943108c..8704226fbf 100644
--- a/src/vm/multicorejit.cpp
+++ b/src/vm/multicorejit.cpp
@@ -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;
diff --git a/src/vm/multicorejitimpl.h b/src/vm/multicorejitimpl.h
index c9ba0fdf97..fb23f15157 100644
--- a/src/vm/multicorejitimpl.h
+++ b/src/vm/multicorejitimpl.h
@@ -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