The Tracepoint Providers are built as a separate shared object called libcoreclrtraceptprovider and it is
available in the same directory as libcoreclr.so
By Default the ability of Tracing will not be present
To enable the ability of Tracing, the apps need to be run like:
LD_PRELOAD=libcoreclrtraceptprovider.so ./corerun HelloWorld.exe
For now to change Xplat Event Logging mechanism add any events to:
<root>/src/vm/ClrEtwAll.man
Then regenerate files by running :
<root>/src/inc/genXplatLtnng.pl
Conflicts:
Documentation/building/linux-instructions.md
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)
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)
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)
- 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:
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.
)
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)
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)))
{
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)
}
#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
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);
// 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);
}
}
}
-#endif // defined(GC_PROFILING) || defined(FEATURE_EVENT_TRACE)
+#endif // defined(GC_PROFILING)
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 &&
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
};
class Object;
-
+#if !defined(FEATURE_PAL)
/******************************/
/* CLR ETW supported versions */
/******************************/
ETWTraceStartup::StartupTraceEvent(Microsoft_Windows_DotNETRuntimePrivateHandle, &EventName, &StartupId);
#ifndef FEATURE_REDHAWK
-
// Headers
#include <initguid.h>
#include <wmistr.h>
#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
#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" {
#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
/**************************/
namespace ETW
{
// Class to wrap the ETW infrastructure logic
+#if !defined(FEATURE_PAL)
class CEtwTracer
{
#if defined(FEATURE_EVENT_TRACE)
}
#endif // FEATURE_EVENT_TRACE
};
+#endif // !defined(FEATURE_PAL)
class LoaderLog;
class MethodLog;
// 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
{
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);
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);
}
};
+#if defined(FEATURE_EVENT_TRACE) && !defined(FEATURE_PAL)
//
// The ONE and only ONE global instantiation of this class
//
#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.
return FALSE;
}
-#endif // defined(FEATURE_EVENT_TRACE)
-#if defined(FEATURE_EVENT_TRACE)
ETW_INLINE
ULONG
ETW::SamplingLog::SendStackTrace(
return Result;
};
-#endif // FEATURE_EVENT_TRACE
-
+#endif // FEATURE_EVENT_TRACE && !defined(FEATURE_PAL)
#ifdef FEATURE_EVENT_TRACE
#ifdef _TARGET_X86_
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(
}
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
};
};
-#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_
--- /dev/null
+##
+## 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;
+}
+
--- /dev/null
+##
+## 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();
USHORT Data3;
UCHAR Data4[ 8 ];
} GUID;
+typedef const GUID *LPCGUID;
#define GUID_DEFINED
#endif // !GUID_DEFINED
--- /dev/null
+//
+// 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
+);
//
// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
+/******************************************************************
+
+DO NOT MODIFY. AUTOGENERATED FILE.
+This file is generated using the logic from <root>/src/inc/genXplatEtw.pl
+
+******************************************************************/
+
#define FireEtwGCStart(Count, Reason) 0
#define FireEtwGCStart_V1(Count, Depth, Reason, Type, ClrInstanceID) 0
#define FireEtwGCStart_V2(Count, Depth, Reason, Type, ClrInstanceID, ClientSequenceNumber) 0
#define FireEtwGCFinalizersEnd_V1(Count, ClrInstanceID) 0
#define FireEtwGCFinalizersBegin() 0
#define FireEtwGCFinalizersBegin_V1(ClrInstanceID) 0
-#define FireEtwBulkType(Count, ClrInstanceID, Values_Len_, Values) 0
-#define FireEtwGCBulkRootEdge(Index, Count, ClrInstanceID, Values_Len_, Values) 0
-#define FireEtwGCBulkRootConditionalWeakTableElementEdge(Index, Count, ClrInstanceID, Values_Len_, Values) 0
-#define FireEtwGCBulkNode(Index, Count, ClrInstanceID, Values_Len_, Values) 0
-#define FireEtwGCBulkEdge(Index, Count, ClrInstanceID, Values_Len_, Values) 0
+#define FireEtwBulkType(Count, ClrInstanceID, Arg2_Struct_Len_, Arg2_Struct_Pointer_) 0
+#define FireEtwGCBulkRootEdge(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
+#define FireEtwGCBulkRootConditionalWeakTableElementEdge(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
+#define FireEtwGCBulkNode(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
+#define FireEtwGCBulkEdge(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
#define FireEtwGCSampledObjectAllocationHigh(Address, TypeID, ObjectCountForTypeSample, TotalSizeForTypeSample, ClrInstanceID) 0
-#define FireEtwGCBulkSurvivingObjectRanges(Index, Count, ClrInstanceID, Values_Len_, Values) 0
-#define FireEtwGCBulkMovedObjectRanges(Index, Count, ClrInstanceID, Values_Len_, Values) 0
+#define FireEtwGCBulkSurvivingObjectRanges(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
+#define FireEtwGCBulkMovedObjectRanges(Index, Count, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
#define FireEtwGCGenerationRange(Generation, RangeStart, RangeUsedLength, RangeReservedLength, ClrInstanceID) 0
#define FireEtwGCMarkStackRoots(HeapNum, ClrInstanceID) 0
#define FireEtwGCMarkFinalizeQueueRoots(HeapNum, ClrInstanceID) 0
#define FireEtwGCSampledObjectAllocationLow(Address, TypeID, ObjectCountForTypeSample, TotalSizeForTypeSample, ClrInstanceID) 0
#define FireEtwPinObjectAtGCTime(HandleID, ObjectID, ObjectSize, TypeName, ClrInstanceID) 0
#define FireEtwGCTriggered(Reason, ClrInstanceID) 0
-#define FireEtwGCBulkRootCCW(Count, ClrInstanceID, Values_Len_, Values) 0
-#define FireEtwGCBulkRCW(Count, ClrInstanceID, Values_Len_, Values) 0
-#define FireEtwGCBulkRootStaticVar(Count, AppDomainID, ClrInstanceID, Values_Len_, Values) 0
+#define FireEtwGCBulkRootCCW(Count, ClrInstanceID, Arg2_Struct_Len_, Arg2_Struct_Pointer_) 0
+#define FireEtwGCBulkRCW(Count, ClrInstanceID, Arg2_Struct_Len_, Arg2_Struct_Pointer_) 0
+#define FireEtwGCBulkRootStaticVar(Count, AppDomainID, ClrInstanceID, Arg3_Struct_Len_, Arg3_Struct_Pointer_) 0
#define FireEtwWorkerThreadCreate(WorkerThreadCount, RetiredWorkerThreads) 0
#define FireEtwWorkerThreadTerminate(WorkerThreadCount, RetiredWorkerThreads) 0
#define FireEtwWorkerThreadRetire(WorkerThreadCount, RetiredWorkerThreads) 0
#define FireEtwDecreaseMemoryPressure(BytesFreed, ClrInstanceID) 0
#define FireEtwGCMarkWithType(HeapNum, ClrInstanceID, Type, Bytes) 0
#define FireEtwGCJoin_V2(Heap, JoinTime, JoinType, ClrInstanceID, JoinID) 0
-#define FireEtwGCPerHeapHistory_V3(ClrInstanceID, FreeListAllocated, FreeListRejected, EndOfSegAllocated, CondemnedAllocated, PinnedAllocated, PinnedAllocatedAdvance, RunningFreeListEfficiency, CondemnReasons0, CondemnReasons1, CompactMechanisms, ExpandMechanisms, HeapIndex, ExtraGen0Commit, Count, Values_Len_, Values) 0
+#define FireEtwGCPerHeapHistory_V3(ClrInstanceID, FreeListAllocated, FreeListRejected, EndOfSegAllocated, CondemnedAllocated, PinnedAllocated, PinnedAllocatedAdvance, RunningFreeListEfficiency, CondemnReasons0, CondemnReasons1, CompactMechanisms, ExpandMechanisms, HeapIndex, ExtraGen0Commit, Count, Arg15_Struct_Len_, Arg15_Struct_Pointer_) 0
#define FireEtwGCGlobalHeapHistory_V2(FinalYoungestDesired, NumHeaps, CondemnedGeneration, Gen0ReductionCount, Reason, GlobalMechanisms, ClrInstanceID, PauseMode, MemoryPressure) 0
#define FireEtwDebugIPCEventStart() 0
#define FireEtwDebugIPCEventEnd() 0
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)
--- /dev/null
+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)
+
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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>
--- /dev/null
+//
+// 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>
--- /dev/null
+//
+// 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>
--- /dev/null
+//
+// 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>
--- /dev/null
+//
+// 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"
--- /dev/null
+//
+// 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"
--- /dev/null
+//
+// 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"
--- /dev/null
+//
+// 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"
--- /dev/null
+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 .)
+
add_subdirectory(pal_specific)
add_subdirectory(samples)
add_subdirectory(threading)
+add_subdirectory(eventprovider)
--- /dev/null
+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}
+ )
+
--- /dev/null
+//
+// 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;
+}
+
--- /dev/null
+#
+# 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
+
threading/WaitForSingleObject/WFSOSemaphoreTest/paltest_waitforsingleobject_wfsosemaphoretest
threading/WaitForSingleObject/WFSOThreadTest/paltest_waitforsingleobject_wfsothreadtest
threading/YieldProcessor/test1/paltest_yieldprocessor_test1
+eventprovider/eventprovidertest
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
dispparammarshaler.cpp
dwreport.cpp
eventreporter.cpp
- eventtrace.cpp
extensibleclassfactory.cpp
microsoft.comservices_i.c
mngstdinterfaces.cpp
/*************************************/
/* Function to append a frame to an existing stack */
/*************************************/
+#if !defined(FEATURE_PAL)
void ETW::SamplingLog::Append(SIZE_T currentFrame)
{
LIMITED_METHOD_CONTRACT;
if (pThread->m_State & Thread::TS_Hijacked) {
return ETW::SamplingLog::UnInitialized;
}
-
if (pThread->IsEtwStackWalkInProgress())
{
return ETW::SamplingLog::InProgress;
return ETW::SamplingLog::Completed;
}
+#endif // !defined(FEATURE_PAL)
#endif // !FEATURE_REDHAWK
/****************************************************************************/
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));
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;
}
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));
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;
}
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) );
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;
// 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));
//
//
+#if !defined(FEATURE_PAL)
void BulkTypeEventLogger::FireBulkTypeEvent()
{
LIMITED_METHOD_CONTRACT;
m_nBulkTypeValueByteCount = 0;
}
+#else
+void BulkTypeEventLogger::FireBulkTypeEvent()
+{
+// UNIXTODO: "Eventing Not Implemented"
+}
+#endif //!defined(FEATURE_PAL)
#ifndef FEATURE_REDHAWK
//---------------------------------------------------------------------------------------
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:
}
}
-
//---------------------------------------------------------------------------------------
//
// Called during a heap walk for each object reference encountered. Batches up the
--*/
+#if !defined(FEATURE_PAL)
void InitializeEventTracing()
{
CONTRACTL
// providers can do so now
ETW::TypeSystemLog::PostRegistrationInit();
}
-
HRESULT ETW::CEtwTracer::Register()
{
WRAPPER_NO_CONTRACT;
HRESULT ETW::CEtwTracer::UnRegister()
{
LIMITED_METHOD_CONTRACT;
-
EventUnregisterMicrosoft_Windows_DotNETRuntime();
EventUnregisterMicrosoft_Windows_DotNETRuntimePrivate();
EventUnregisterMicrosoft_Windows_DotNETRuntimeRundown();
}
}
+#else
+
+void InitializeEventTracing(){}
+#endif // !defined(FEATURE_PAL)
#endif // FEATURE_REDHAWK
#ifndef FEATURE_REDHAWK
LPCGUID comGUID=&g_EEComObjectGuid;
- LPWSTR lpwszCommandLine = W("");
- LPWSTR lpwszRuntimeDllPath = (LPWSTR)dllPath;
+ PCWSTR lpwszCommandLine = W("");
+ PCWSTR lpwszRuntimeDllPath = (PCWSTR)dllPath;
#ifndef FEATURE_CORECLR
startupFlags = CorHost2::GetStartupFlags();
VOID ETW::CodeSymbolLog::EmitCodeSymbols(Module* pModule)
{
+#if !defined(FEATURE_PAL) //UNIXTODO: Enable EmitCodeSymbols
CONTRACTL {
NOTHROW;
GC_NOTRIGGER;
}
}
} EX_CATCH{} EX_END_CATCH(SwallowAllExceptions);
+#endif// !defined(FEATURE_PAL)
}
/* Returns the length of an in-memory symbol stream
CV_INFO_PDB70 cvInfoNative = {0};
GetCodeViewInfo(pModule, &cvInfoIL, &cvInfoNative);
- PWCHAR ModuleILPath=W(""), ModuleNativePath=W("");
+ PWCHAR ModuleILPath=(PWCHAR)W(""), ModuleNativePath=(PWCHAR)W("");
if(bFireDomainModuleEvents)
{
#endif // DEBUGGING_SUPPORTED
-#ifdef FEATURE_EVENT_TRACE
+#if defined(FEATURE_EVENT_TRACE) && !defined(FEATURE_PAL)
DoReportForUnhandledException(pParam->pExceptionInfo);
#endif // FEATURE_EVENT_TRACE
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,
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);
}
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);
}
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);
}
#include "appdomain.hpp"
#include "qcall.h"
+#include "eventtracebase.h"
#include "multicorejit.h"
#include "multicorejitimpl.h"
#ifdef FEATURE_EVENT_TRACE
EX_TRY
{
- if (McGenEventTracingEnabled(& MICROSOFT_WINDOWS_DOTNETRUNTIME_PRIVATE_PROVIDER_Context, & MulticoreJit))
+ if (EventEnabledMulticoreJit())
{
SString wTarget;
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