File: _generated\49\Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.cs
Web Access
Project: src\src\runtime\src\native\managed\cdac\Microsoft.Diagnostics.DataContractReader.Legacy\Microsoft.Diagnostics.DataContractReader.Legacy.csproj (Microsoft.Diagnostics.DataContractReader.Legacy)
// <auto-generated />
#pragma warning disable CS0612, CS0618, CS0649, CS1591

[global::System.Runtime.InteropServices.StructLayoutAttribute(global::System.Runtime.InteropServices.LayoutKind.Sequential)]
file unsafe struct InterfaceImplementationVtable
{
    public delegate* unmanaged[MemberFunction]<void*, global::System.Guid*, void**, int> QueryInterface_0;
    public delegate* unmanaged[MemberFunction]<void*, uint> AddRef_1;
    public delegate* unmanaged[MemberFunction]<void*, uint> Release_2;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int> Flush_3;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong*, int> StartEnumTasks_4;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong*, void**, int> EnumTask_5;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, int> EndEnumTasks_6;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, void**, int> GetTaskByOSThreadID_7;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, void**, int> GetTaskByUniqueID_8;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint*, int> GetFlags_9;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess*, int> IsSameObject_10;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int> GetManagedObject_11;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint*, int> GetDesiredExecutionState_12;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, int> SetDesiredExecutionState_13;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, uint*, int> GetAddressType_14;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, uint, uint, uint*, char*, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress*, int> GetRuntimeNameByAddress_15;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong*, int> StartEnumAppDomains_16;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong*, void**, int> EnumAppDomain_17;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, int> EndEnumAppDomains_18;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, void**, int> GetAppDomainByUniqueID_19;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong*, int> StartEnumAssemblies_20;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong*, void**, int> EnumAssembly_21;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, int> EndEnumAssemblies_22;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong*, int> StartEnumModules_23;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong*, void**, int> EnumModule_24;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, int> EndEnumModules_25;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, void**, int> GetModuleByAddress_26;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, void*, ulong*, int> StartEnumMethodInstancesByAddress_27;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong*, void**, int> EnumMethodInstanceByAddress_28;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, int> EndEnumMethodInstancesByAddress_29;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, uint, void*, void*, uint, uint*, char*, void**, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress*, int> GetDataByAddress_30;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, global::Microsoft.Diagnostics.DataContractReader.Legacy.EXCEPTION_RECORD64*, void**, int> GetExceptionStateByExceptionRecord_31;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, global::Microsoft.Diagnostics.DataContractReader.Legacy.EXCEPTION_RECORD64*, void*, int> TranslateExceptionRecordToNotification_32;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, uint, byte*, uint, byte*, int> Request_33;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void*, void*, void*, ulong, void**, int> CreateMemoryValue_34;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void*, uint, int> SetAllTypeNotifications_35;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void*, uint, int> SetAllCodeNotifications_36;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, void**, void*, uint*, uint*, int> GetTypeNotifications_37;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, void**, void*, uint*, uint*, uint, int> SetTypeNotifications_38;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, void**, void*, uint*, uint*, int> GetCodeNotifications_39;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, void**, void*, uint*, uint*, uint, int> SetCodeNotifications_40;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint*, int> GetOtherNotificationFlags_41;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, int> SetOtherNotificationFlags_42;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, ulong*, int> StartEnumMethodDefinitionsByAddress_43;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong*, void**, int> EnumMethodDefinitionByAddress_44;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, int> EndEnumMethodDefinitionsByAddress_45;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, ulong, void*, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress*, void*, uint*, int> FollowStub_46;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void*, uint, ulong, void*, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress*, void*, uint*, int> FollowStub2_47;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, char*, void*, void*, void*, int> DumpNativeImage_48;
}

file unsafe sealed class InterfaceInformation : global::System.Runtime.InteropServices.Marshalling.IIUnknownInterfaceType
{
    public static global::System.Guid Iid { get; } = new([182, 42, 85, 92, 9, 252, 179, 76, 142, 54, 34, 250, 3, 199, 152, 183]);
    public static void** ManagedVirtualMethodTable => (void**)global::System.Runtime.CompilerServices.Unsafe.AsPointer(in InterfaceImplementation.Vtable);
}

[global::System.Runtime.InteropServices.DynamicInterfaceCastableImplementationAttribute]
file unsafe interface InterfaceImplementation : global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess
{
    [global::System.Runtime.CompilerServices.FixedAddressValueTypeAttribute]
    public static readonly InterfaceImplementationVtable Vtable;

    static InterfaceImplementation()
    {
        global::System.Runtime.InteropServices.ComWrappers.GetIUnknownImpl(
            out *(nint*)&((InterfaceImplementationVtable*)global::System.Runtime.CompilerServices.Unsafe.AsPointer(ref Vtable))->QueryInterface_0,
            out *(nint*)&((InterfaceImplementationVtable*)global::System.Runtime.CompilerServices.Unsafe.AsPointer(ref Vtable))->AddRef_1,
            out *(nint*)&((InterfaceImplementationVtable*)global::System.Runtime.CompilerServices.Unsafe.AsPointer(ref Vtable))->Release_2);

        Vtable.Flush_3 = &ABI_Flush;
        Vtable.StartEnumTasks_4 = &ABI_StartEnumTasks;
        Vtable.EnumTask_5 = &ABI_EnumTask;
        Vtable.EndEnumTasks_6 = &ABI_EndEnumTasks;
        Vtable.GetTaskByOSThreadID_7 = &ABI_GetTaskByOSThreadID;
        Vtable.GetTaskByUniqueID_8 = &ABI_GetTaskByUniqueID;
        Vtable.GetFlags_9 = &ABI_GetFlags;
        Vtable.IsSameObject_10 = &ABI_IsSameObject;
        Vtable.GetManagedObject_11 = &ABI_GetManagedObject;
        Vtable.GetDesiredExecutionState_12 = &ABI_GetDesiredExecutionState;
        Vtable.SetDesiredExecutionState_13 = &ABI_SetDesiredExecutionState;
        Vtable.GetAddressType_14 = &ABI_GetAddressType;
        Vtable.GetRuntimeNameByAddress_15 = &ABI_GetRuntimeNameByAddress;
        Vtable.StartEnumAppDomains_16 = &ABI_StartEnumAppDomains;
        Vtable.EnumAppDomain_17 = &ABI_EnumAppDomain;
        Vtable.EndEnumAppDomains_18 = &ABI_EndEnumAppDomains;
        Vtable.GetAppDomainByUniqueID_19 = &ABI_GetAppDomainByUniqueID;
        Vtable.StartEnumAssemblies_20 = &ABI_StartEnumAssemblies;
        Vtable.EnumAssembly_21 = &ABI_EnumAssembly;
        Vtable.EndEnumAssemblies_22 = &ABI_EndEnumAssemblies;
        Vtable.StartEnumModules_23 = &ABI_StartEnumModules;
        Vtable.EnumModule_24 = &ABI_EnumModule;
        Vtable.EndEnumModules_25 = &ABI_EndEnumModules;
        Vtable.GetModuleByAddress_26 = &ABI_GetModuleByAddress;
        Vtable.StartEnumMethodInstancesByAddress_27 = &ABI_StartEnumMethodInstancesByAddress;
        Vtable.EnumMethodInstanceByAddress_28 = &ABI_EnumMethodInstanceByAddress;
        Vtable.EndEnumMethodInstancesByAddress_29 = &ABI_EndEnumMethodInstancesByAddress;
        Vtable.GetDataByAddress_30 = &ABI_GetDataByAddress;
        Vtable.GetExceptionStateByExceptionRecord_31 = &ABI_GetExceptionStateByExceptionRecord;
        Vtable.TranslateExceptionRecordToNotification_32 = &ABI_TranslateExceptionRecordToNotification;
        Vtable.Request_33 = &ABI_Request;
        Vtable.CreateMemoryValue_34 = &ABI_CreateMemoryValue;
        Vtable.SetAllTypeNotifications_35 = &ABI_SetAllTypeNotifications;
        Vtable.SetAllCodeNotifications_36 = &ABI_SetAllCodeNotifications;
        Vtable.GetTypeNotifications_37 = &ABI_GetTypeNotifications;
        Vtable.SetTypeNotifications_38 = &ABI_SetTypeNotifications;
        Vtable.GetCodeNotifications_39 = &ABI_GetCodeNotifications;
        Vtable.SetCodeNotifications_40 = &ABI_SetCodeNotifications;
        Vtable.GetOtherNotificationFlags_41 = &ABI_GetOtherNotificationFlags;
        Vtable.SetOtherNotificationFlags_42 = &ABI_SetOtherNotificationFlags;
        Vtable.StartEnumMethodDefinitionsByAddress_43 = &ABI_StartEnumMethodDefinitionsByAddress;
        Vtable.EnumMethodDefinitionByAddress_44 = &ABI_EnumMethodDefinitionByAddress;
        Vtable.EndEnumMethodDefinitionsByAddress_45 = &ABI_EndEnumMethodDefinitionsByAddress;
        Vtable.FollowStub_46 = &ABI_FollowStub;
        Vtable.FollowStub2_47 = &ABI_FollowStub2;
        Vtable.DumpNativeImage_48 = &ABI_DumpNativeImage;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.Flush()
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, int> )__vtable[3]);
        {
            int __retVal;
            {
                __retVal = __target(__this);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_Flush(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.Flush();
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.StartEnumTasks(ulong* handle)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong*, int> )__vtable[4]);
        {
            int __retVal;
            {
                __retVal = __target(__this, handle);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_StartEnumTasks(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong* handle)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.StartEnumTasks(handle);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.EnumTask(ulong* handle, global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask> task)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong*, void**, int> )__vtable[5]);
        {
            void** __task_native = default;
            int __retVal = default;
            // Setup - Perform required setup.
            global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask>.ManagedToUnmanaged __task_native__marshaller = new();
            try
            {
                // Marshal - Convert managed data to native data.
                __task_native__marshaller.FromManaged(task);
                {
                    // PinnedMarshal - Convert managed data to native data that requires the managed data to be pinned.
                    __task_native = __task_native__marshaller.ToUnmanaged();
                    __retVal = __target(__this, handle, __task_native);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                __task_native__marshaller.OnInvoked();
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                __task_native__marshaller.Free();
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_EnumTask(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong* handle, void** __task_native)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask> task = default;
        int __retVal = default;
        // Setup - Perform required setup.
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask>.UnmanagedToManaged __task_native__marshaller = new();
        try
        {
            // UnmarshalCapture - Capture the native data into marshaller instances in case conversion to managed data throws an exception.
            __task_native__marshaller.FromUnmanaged(__task_native);
            // Unmarshal - Convert native data to managed data.
            task = __task_native__marshaller.ToManaged();
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.EnumTask(handle, task);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
        finally
        {
            // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
            __task_native__marshaller.Free();
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.EndEnumTasks(ulong handle)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong, int> )__vtable[6]);
        {
            int __retVal;
            {
                __retVal = __target(__this, handle);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_EndEnumTasks(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong handle)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.EndEnumTasks(handle);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.GetTaskByOSThreadID(uint osThreadID, global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask> task)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, uint, void**, int> )__vtable[7]);
        {
            void** __task_native = default;
            int __retVal = default;
            // Setup - Perform required setup.
            global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask>.ManagedToUnmanaged __task_native__marshaller = new();
            try
            {
                // Marshal - Convert managed data to native data.
                __task_native__marshaller.FromManaged(task);
                {
                    // PinnedMarshal - Convert managed data to native data that requires the managed data to be pinned.
                    __task_native = __task_native__marshaller.ToUnmanaged();
                    __retVal = __target(__this, osThreadID, __task_native);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                __task_native__marshaller.OnInvoked();
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                __task_native__marshaller.Free();
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_GetTaskByOSThreadID(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint osThreadID, void** __task_native)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask> task = default;
        int __retVal = default;
        // Setup - Perform required setup.
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask>.UnmanagedToManaged __task_native__marshaller = new();
        try
        {
            // UnmarshalCapture - Capture the native data into marshaller instances in case conversion to managed data throws an exception.
            __task_native__marshaller.FromUnmanaged(__task_native);
            // Unmarshal - Convert native data to managed data.
            task = __task_native__marshaller.ToManaged();
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.GetTaskByOSThreadID(osThreadID, task);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
        finally
        {
            // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
            __task_native__marshaller.Free();
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.GetTaskByUniqueID(ulong taskID, global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask> task)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong, void**, int> )__vtable[8]);
        {
            void** __task_native = default;
            int __retVal = default;
            // Setup - Perform required setup.
            global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask>.ManagedToUnmanaged __task_native__marshaller = new();
            try
            {
                // Marshal - Convert managed data to native data.
                __task_native__marshaller.FromManaged(task);
                {
                    // PinnedMarshal - Convert managed data to native data that requires the managed data to be pinned.
                    __task_native = __task_native__marshaller.ToUnmanaged();
                    __retVal = __target(__this, taskID, __task_native);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                __task_native__marshaller.OnInvoked();
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                __task_native__marshaller.Free();
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_GetTaskByUniqueID(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong taskID, void** __task_native)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask> task = default;
        int __retVal = default;
        // Setup - Perform required setup.
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask>.UnmanagedToManaged __task_native__marshaller = new();
        try
        {
            // UnmarshalCapture - Capture the native data into marshaller instances in case conversion to managed data throws an exception.
            __task_native__marshaller.FromUnmanaged(__task_native);
            // Unmarshal - Convert native data to managed data.
            task = __task_native__marshaller.ToManaged();
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.GetTaskByUniqueID(taskID, task);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
        finally
        {
            // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
            __task_native__marshaller.Free();
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.GetFlags(uint* flags)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, uint*, int> )__vtable[9]);
        {
            int __retVal;
            {
                __retVal = __target(__this, flags);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_GetFlags(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint* flags)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.GetFlags(flags);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.IsSameObject(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess* process)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess*, int> )__vtable[10]);
        {
            int __retVal;
            {
                __retVal = __target(__this, process);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_IsSameObject(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess* process)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.IsSameObject(process);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.GetManagedObject(global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataValue> value)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int> )__vtable[11]);
        {
            void** __value_native = default;
            int __retVal = default;
            // Setup - Perform required setup.
            global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataValue>.ManagedToUnmanaged __value_native__marshaller = new();
            try
            {
                // Marshal - Convert managed data to native data.
                __value_native__marshaller.FromManaged(value);
                {
                    // PinnedMarshal - Convert managed data to native data that requires the managed data to be pinned.
                    __value_native = __value_native__marshaller.ToUnmanaged();
                    __retVal = __target(__this, __value_native);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                __value_native__marshaller.OnInvoked();
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                __value_native__marshaller.Free();
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_GetManagedObject(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __value_native)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataValue> value = default;
        int __retVal = default;
        // Setup - Perform required setup.
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataValue>.UnmanagedToManaged __value_native__marshaller = new();
        try
        {
            // UnmarshalCapture - Capture the native data into marshaller instances in case conversion to managed data throws an exception.
            __value_native__marshaller.FromUnmanaged(__value_native);
            // Unmarshal - Convert native data to managed data.
            value = __value_native__marshaller.ToManaged();
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.GetManagedObject(value);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
        finally
        {
            // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
            __value_native__marshaller.Free();
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.GetDesiredExecutionState(uint* state)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, uint*, int> )__vtable[12]);
        {
            int __retVal;
            {
                __retVal = __target(__this, state);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_GetDesiredExecutionState(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint* state)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.GetDesiredExecutionState(state);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.SetDesiredExecutionState(uint state)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, uint, int> )__vtable[13]);
        {
            int __retVal;
            {
                __retVal = __target(__this, state);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_SetDesiredExecutionState(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint state)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.SetDesiredExecutionState(state);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.GetAddressType(global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress address, uint* type)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong, uint*, int> )__vtable[14]);
        {
            ulong __address_native;
            int __retVal;
            // Marshal - Convert managed data to native data.
            __address_native = global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddressMarshaller.ConvertToUnmanaged(address);
            {
                __retVal = __target(__this, __address_native, type);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_GetAddressType(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong __address_native, uint* type)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress address = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            address = global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddressMarshaller.ConvertToManaged(__address_native);
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.GetAddressType(address, type);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.GetRuntimeNameByAddress(global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress address, uint flags, uint bufLen, uint* nameLen, char* nameBuf, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress* displacement)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong, uint, uint, uint*, char*, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress*, int> )__vtable[15]);
        {
            ulong __address_native;
            int __retVal;
            // Marshal - Convert managed data to native data.
            __address_native = global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddressMarshaller.ConvertToUnmanaged(address);
            {
                __retVal = __target(__this, __address_native, flags, bufLen, nameLen, nameBuf, displacement);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_GetRuntimeNameByAddress(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong __address_native, uint flags, uint bufLen, uint* nameLen, char* nameBuf, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress* displacement)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress address = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            address = global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddressMarshaller.ConvertToManaged(__address_native);
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.GetRuntimeNameByAddress(address, flags, bufLen, nameLen, nameBuf, displacement);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.StartEnumAppDomains(ulong* handle)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong*, int> )__vtable[16]);
        {
            int __retVal;
            {
                __retVal = __target(__this, handle);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_StartEnumAppDomains(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong* handle)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.StartEnumAppDomains(handle);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.EnumAppDomain(ulong* handle, void** appDomain)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong*, void**, int> )__vtable[17]);
        {
            int __retVal;
            {
                __retVal = __target(__this, handle, appDomain);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_EnumAppDomain(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong* handle, void** appDomain)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.EnumAppDomain(handle, appDomain);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.EndEnumAppDomains(ulong handle)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong, int> )__vtable[18]);
        {
            int __retVal;
            {
                __retVal = __target(__this, handle);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_EndEnumAppDomains(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong handle)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.EndEnumAppDomains(handle);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.GetAppDomainByUniqueID(ulong id, void** appDomain)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong, void**, int> )__vtable[19]);
        {
            int __retVal;
            {
                __retVal = __target(__this, id, appDomain);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_GetAppDomainByUniqueID(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong id, void** appDomain)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.GetAppDomainByUniqueID(id, appDomain);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.StartEnumAssemblies(ulong* handle)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong*, int> )__vtable[20]);
        {
            int __retVal;
            {
                __retVal = __target(__this, handle);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_StartEnumAssemblies(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong* handle)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.StartEnumAssemblies(handle);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.EnumAssembly(ulong* handle, global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAssembly> assembly)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong*, void**, int> )__vtable[21]);
        {
            void** __assembly_native = default;
            int __retVal = default;
            // Setup - Perform required setup.
            global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAssembly>.ManagedToUnmanaged __assembly_native__marshaller = new();
            try
            {
                // Marshal - Convert managed data to native data.
                __assembly_native__marshaller.FromManaged(assembly);
                {
                    // PinnedMarshal - Convert managed data to native data that requires the managed data to be pinned.
                    __assembly_native = __assembly_native__marshaller.ToUnmanaged();
                    __retVal = __target(__this, handle, __assembly_native);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                __assembly_native__marshaller.OnInvoked();
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                __assembly_native__marshaller.Free();
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_EnumAssembly(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong* handle, void** __assembly_native)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAssembly> assembly = default;
        int __retVal = default;
        // Setup - Perform required setup.
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAssembly>.UnmanagedToManaged __assembly_native__marshaller = new();
        try
        {
            // UnmarshalCapture - Capture the native data into marshaller instances in case conversion to managed data throws an exception.
            __assembly_native__marshaller.FromUnmanaged(__assembly_native);
            // Unmarshal - Convert native data to managed data.
            assembly = __assembly_native__marshaller.ToManaged();
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.EnumAssembly(handle, assembly);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
        finally
        {
            // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
            __assembly_native__marshaller.Free();
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.EndEnumAssemblies(ulong handle)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong, int> )__vtable[22]);
        {
            int __retVal;
            {
                __retVal = __target(__this, handle);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_EndEnumAssemblies(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong handle)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.EndEnumAssemblies(handle);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.StartEnumModules(ulong* handle)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong*, int> )__vtable[23]);
        {
            int __retVal;
            {
                __retVal = __target(__this, handle);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_StartEnumModules(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong* handle)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.StartEnumModules(handle);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.EnumModule(ulong* handle, global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule> mod)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong*, void**, int> )__vtable[24]);
        {
            void** __mod_native = default;
            int __retVal = default;
            // Setup - Perform required setup.
            global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.ManagedToUnmanaged __mod_native__marshaller = new();
            try
            {
                // Marshal - Convert managed data to native data.
                __mod_native__marshaller.FromManaged(mod);
                {
                    // PinnedMarshal - Convert managed data to native data that requires the managed data to be pinned.
                    __mod_native = __mod_native__marshaller.ToUnmanaged();
                    __retVal = __target(__this, handle, __mod_native);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                __mod_native__marshaller.OnInvoked();
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                __mod_native__marshaller.Free();
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_EnumModule(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong* handle, void** __mod_native)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule> mod = default;
        int __retVal = default;
        // Setup - Perform required setup.
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.UnmanagedToManaged __mod_native__marshaller = new();
        try
        {
            // UnmarshalCapture - Capture the native data into marshaller instances in case conversion to managed data throws an exception.
            __mod_native__marshaller.FromUnmanaged(__mod_native);
            // Unmarshal - Convert native data to managed data.
            mod = __mod_native__marshaller.ToManaged();
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.EnumModule(handle, mod);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
        finally
        {
            // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
            __mod_native__marshaller.Free();
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.EndEnumModules(ulong handle)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong, int> )__vtable[25]);
        {
            int __retVal;
            {
                __retVal = __target(__this, handle);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_EndEnumModules(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong handle)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.EndEnumModules(handle);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.GetModuleByAddress(global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress address, global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule> mod)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong, void**, int> )__vtable[26]);
        {
            ulong __address_native = default;
            void** __mod_native = default;
            int __retVal = default;
            // Setup - Perform required setup.
            global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.ManagedToUnmanaged __mod_native__marshaller = new();
            try
            {
                // Marshal - Convert managed data to native data.
                __mod_native__marshaller.FromManaged(mod);
                __address_native = global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddressMarshaller.ConvertToUnmanaged(address);
                {
                    // PinnedMarshal - Convert managed data to native data that requires the managed data to be pinned.
                    __mod_native = __mod_native__marshaller.ToUnmanaged();
                    __retVal = __target(__this, __address_native, __mod_native);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                __mod_native__marshaller.OnInvoked();
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                __mod_native__marshaller.Free();
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_GetModuleByAddress(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong __address_native, void** __mod_native)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress address = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule> mod = default;
        int __retVal = default;
        // Setup - Perform required setup.
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.UnmanagedToManaged __mod_native__marshaller = new();
        try
        {
            // UnmarshalCapture - Capture the native data into marshaller instances in case conversion to managed data throws an exception.
            __mod_native__marshaller.FromUnmanaged(__mod_native);
            // Unmarshal - Convert native data to managed data.
            mod = __mod_native__marshaller.ToManaged();
            address = global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddressMarshaller.ConvertToManaged(__address_native);
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.GetModuleByAddress(address, mod);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
        finally
        {
            // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
            __mod_native__marshaller.Free();
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.StartEnumMethodInstancesByAddress(global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress address, global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain appDomain, ulong* handle)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong, void*, ulong*, int> )__vtable[27]);
        {
            ulong __address_native = default;
            void* __appDomain_native = default;
            int __retVal = default;
            try
            {
                // Marshal - Convert managed data to native data.
                __appDomain_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain>.ConvertToUnmanaged(appDomain);
                __address_native = global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddressMarshaller.ConvertToUnmanaged(address);
                {
                    __retVal = __target(__this, __address_native, __appDomain_native, handle);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain>.Free(__appDomain_native);
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_StartEnumMethodInstancesByAddress(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong __address_native, void* __appDomain_native, ulong* handle)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress address = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain appDomain = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            appDomain = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain>.ConvertToManaged(__appDomain_native);
            address = global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddressMarshaller.ConvertToManaged(__address_native);
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.StartEnumMethodInstancesByAddress(address, appDomain, handle);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.EnumMethodInstanceByAddress(ulong* handle, global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataMethodInstance> method)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong*, void**, int> )__vtable[28]);
        {
            void** __method_native = default;
            int __retVal = default;
            // Setup - Perform required setup.
            global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataMethodInstance>.ManagedToUnmanaged __method_native__marshaller = new();
            try
            {
                // Marshal - Convert managed data to native data.
                __method_native__marshaller.FromManaged(method);
                {
                    // PinnedMarshal - Convert managed data to native data that requires the managed data to be pinned.
                    __method_native = __method_native__marshaller.ToUnmanaged();
                    __retVal = __target(__this, handle, __method_native);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                __method_native__marshaller.OnInvoked();
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                __method_native__marshaller.Free();
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_EnumMethodInstanceByAddress(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong* handle, void** __method_native)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataMethodInstance> method = default;
        int __retVal = default;
        // Setup - Perform required setup.
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataMethodInstance>.UnmanagedToManaged __method_native__marshaller = new();
        try
        {
            // UnmarshalCapture - Capture the native data into marshaller instances in case conversion to managed data throws an exception.
            __method_native__marshaller.FromUnmanaged(__method_native);
            // Unmarshal - Convert native data to managed data.
            method = __method_native__marshaller.ToManaged();
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.EnumMethodInstanceByAddress(handle, method);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
        finally
        {
            // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
            __method_native__marshaller.Free();
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.EndEnumMethodInstancesByAddress(ulong handle)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong, int> )__vtable[29]);
        {
            int __retVal;
            {
                __retVal = __target(__this, handle);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_EndEnumMethodInstancesByAddress(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong handle)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.EndEnumMethodInstancesByAddress(handle);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.GetDataByAddress(global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress address, uint flags, global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain appDomain, global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask tlsTask, uint bufLen, uint* nameLen, char* nameBuf, global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataValue> value, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress* displacement)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong, uint, void*, void*, uint, uint*, char*, void**, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress*, int> )__vtable[30]);
        {
            ulong __address_native = default;
            void* __appDomain_native = default;
            void* __tlsTask_native = default;
            void** __value_native = default;
            int __retVal = default;
            // Setup - Perform required setup.
            global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataValue>.ManagedToUnmanaged __value_native__marshaller = new();
            try
            {
                // Marshal - Convert managed data to native data.
                __value_native__marshaller.FromManaged(value);
                __tlsTask_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask>.ConvertToUnmanaged(tlsTask);
                __appDomain_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain>.ConvertToUnmanaged(appDomain);
                __address_native = global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddressMarshaller.ConvertToUnmanaged(address);
                {
                    // PinnedMarshal - Convert managed data to native data that requires the managed data to be pinned.
                    __value_native = __value_native__marshaller.ToUnmanaged();
                    __retVal = __target(__this, __address_native, flags, __appDomain_native, __tlsTask_native, bufLen, nameLen, nameBuf, __value_native, displacement);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                __value_native__marshaller.OnInvoked();
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                __value_native__marshaller.Free();
                global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask>.Free(__tlsTask_native);
                global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain>.Free(__appDomain_native);
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_GetDataByAddress(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong __address_native, uint flags, void* __appDomain_native, void* __tlsTask_native, uint bufLen, uint* nameLen, char* nameBuf, void** __value_native, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress* displacement)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress address = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain appDomain = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask tlsTask = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataValue> value = default;
        int __retVal = default;
        // Setup - Perform required setup.
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataValue>.UnmanagedToManaged __value_native__marshaller = new();
        try
        {
            // UnmarshalCapture - Capture the native data into marshaller instances in case conversion to managed data throws an exception.
            __value_native__marshaller.FromUnmanaged(__value_native);
            // Unmarshal - Convert native data to managed data.
            value = __value_native__marshaller.ToManaged();
            tlsTask = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask>.ConvertToManaged(__tlsTask_native);
            appDomain = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain>.ConvertToManaged(__appDomain_native);
            address = global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddressMarshaller.ConvertToManaged(__address_native);
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.GetDataByAddress(address, flags, appDomain, tlsTask, bufLen, nameLen, nameBuf, value, displacement);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
        finally
        {
            // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
            __value_native__marshaller.Free();
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.GetExceptionStateByExceptionRecord(global::Microsoft.Diagnostics.DataContractReader.Legacy.EXCEPTION_RECORD64* record, global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataExceptionState> exState)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, global::Microsoft.Diagnostics.DataContractReader.Legacy.EXCEPTION_RECORD64*, void**, int> )__vtable[31]);
        {
            void** __exState_native = default;
            int __retVal = default;
            // Setup - Perform required setup.
            global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataExceptionState>.ManagedToUnmanaged __exState_native__marshaller = new();
            try
            {
                // Marshal - Convert managed data to native data.
                __exState_native__marshaller.FromManaged(exState);
                {
                    // PinnedMarshal - Convert managed data to native data that requires the managed data to be pinned.
                    __exState_native = __exState_native__marshaller.ToUnmanaged();
                    __retVal = __target(__this, record, __exState_native);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                __exState_native__marshaller.OnInvoked();
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                __exState_native__marshaller.Free();
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_GetExceptionStateByExceptionRecord(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, global::Microsoft.Diagnostics.DataContractReader.Legacy.EXCEPTION_RECORD64* record, void** __exState_native)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataExceptionState> exState = default;
        int __retVal = default;
        // Setup - Perform required setup.
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataExceptionState>.UnmanagedToManaged __exState_native__marshaller = new();
        try
        {
            // UnmarshalCapture - Capture the native data into marshaller instances in case conversion to managed data throws an exception.
            __exState_native__marshaller.FromUnmanaged(__exState_native);
            // Unmarshal - Convert native data to managed data.
            exState = __exState_native__marshaller.ToManaged();
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.GetExceptionStateByExceptionRecord(record, exState);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
        finally
        {
            // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
            __exState_native__marshaller.Free();
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.TranslateExceptionRecordToNotification(global::Microsoft.Diagnostics.DataContractReader.Legacy.EXCEPTION_RECORD64* record, global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataExceptionNotification notify)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, global::Microsoft.Diagnostics.DataContractReader.Legacy.EXCEPTION_RECORD64*, void*, int> )__vtable[32]);
        {
            void* __notify_native = default;
            int __retVal = default;
            try
            {
                // Marshal - Convert managed data to native data.
                __notify_native = (void*)global::System.Runtime.InteropServices.Marshalling.UniqueComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataExceptionNotification>.ConvertToUnmanaged(notify);
                {
                    __retVal = __target(__this, record, __notify_native);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                global::System.Runtime.InteropServices.Marshalling.UniqueComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataExceptionNotification>.Free(__notify_native);
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_TranslateExceptionRecordToNotification(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, global::Microsoft.Diagnostics.DataContractReader.Legacy.EXCEPTION_RECORD64* record, void* __notify_native)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataExceptionNotification notify = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            notify = global::System.Runtime.InteropServices.Marshalling.UniqueComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataExceptionNotification>.ConvertToManaged(__notify_native);
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.TranslateExceptionRecordToNotification(record, notify);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.Request(uint reqCode, uint inBufferSize, byte* inBuffer, uint outBufferSize, byte* outBuffer)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, uint, uint, byte*, uint, byte*, int> )__vtable[33]);
        {
            int __retVal;
            {
                __retVal = __target(__this, reqCode, inBufferSize, inBuffer, outBufferSize, outBuffer);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_Request(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint reqCode, uint inBufferSize, byte* inBuffer, uint outBufferSize, byte* outBuffer)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.Request(reqCode, inBufferSize, inBuffer, outBufferSize, outBuffer);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.CreateMemoryValue(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain appDomain, global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask tlsTask, global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTypeInstance type, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress addr, global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataValue> value)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, void*, void*, void*, ulong, void**, int> )__vtable[34]);
        {
            void* __appDomain_native = default;
            void* __tlsTask_native = default;
            void* __type_native = default;
            ulong __addr_native = default;
            void** __value_native = default;
            int __retVal = default;
            // Setup - Perform required setup.
            global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataValue>.ManagedToUnmanaged __value_native__marshaller = new();
            try
            {
                // Marshal - Convert managed data to native data.
                __value_native__marshaller.FromManaged(value);
                __addr_native = global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddressMarshaller.ConvertToUnmanaged(addr);
                __type_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTypeInstance>.ConvertToUnmanaged(type);
                __tlsTask_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask>.ConvertToUnmanaged(tlsTask);
                __appDomain_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain>.ConvertToUnmanaged(appDomain);
                {
                    // PinnedMarshal - Convert managed data to native data that requires the managed data to be pinned.
                    __value_native = __value_native__marshaller.ToUnmanaged();
                    __retVal = __target(__this, __appDomain_native, __tlsTask_native, __type_native, __addr_native, __value_native);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                __value_native__marshaller.OnInvoked();
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                __value_native__marshaller.Free();
                global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTypeInstance>.Free(__type_native);
                global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask>.Free(__tlsTask_native);
                global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain>.Free(__appDomain_native);
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_CreateMemoryValue(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void* __appDomain_native, void* __tlsTask_native, void* __type_native, ulong __addr_native, void** __value_native)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain appDomain = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask tlsTask = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTypeInstance type = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress addr = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataValue> value = default;
        int __retVal = default;
        // Setup - Perform required setup.
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataValue>.UnmanagedToManaged __value_native__marshaller = new();
        try
        {
            // UnmarshalCapture - Capture the native data into marshaller instances in case conversion to managed data throws an exception.
            __value_native__marshaller.FromUnmanaged(__value_native);
            // Unmarshal - Convert native data to managed data.
            value = __value_native__marshaller.ToManaged();
            addr = global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddressMarshaller.ConvertToManaged(__addr_native);
            type = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTypeInstance>.ConvertToManaged(__type_native);
            tlsTask = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask>.ConvertToManaged(__tlsTask_native);
            appDomain = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain>.ConvertToManaged(__appDomain_native);
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.CreateMemoryValue(appDomain, tlsTask, type, addr, value);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
        finally
        {
            // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
            __value_native__marshaller.Free();
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.SetAllTypeNotifications(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule mod, uint flags)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, void*, uint, int> )__vtable[35]);
        {
            void* __mod_native = default;
            int __retVal = default;
            try
            {
                // Marshal - Convert managed data to native data.
                __mod_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.ConvertToUnmanaged(mod);
                {
                    __retVal = __target(__this, __mod_native, flags);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.Free(__mod_native);
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_SetAllTypeNotifications(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void* __mod_native, uint flags)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule mod = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            mod = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.ConvertToManaged(__mod_native);
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.SetAllTypeNotifications(mod, flags);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.SetAllCodeNotifications(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule mod, uint flags)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, void*, uint, int> )__vtable[36]);
        {
            void* __mod_native = default;
            int __retVal = default;
            try
            {
                // Marshal - Convert managed data to native data.
                __mod_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.ConvertToUnmanaged(mod);
                {
                    __retVal = __target(__this, __mod_native, flags);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.Free(__mod_native);
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_SetAllCodeNotifications(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void* __mod_native, uint flags)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule mod = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            mod = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.ConvertToManaged(__mod_native);
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.SetAllCodeNotifications(mod, flags);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.GetTypeNotifications(uint numTokens, void** mods, global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule singleMod, uint[] tokens, uint[] flags)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, uint, void**, void*, uint*, uint*, int> )__vtable[37]);
        {
            void* __singleMod_native = default;
            int __retVal = default;
            try
            {
                // Marshal - Convert managed data to native data.
                __singleMod_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.ConvertToUnmanaged(singleMod);
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void* __flags_native = &global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.ManagedToUnmanagedIn.GetPinnableReference(flags))
                fixed (void* __tokens_native = &global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.ManagedToUnmanagedIn.GetPinnableReference(tokens))
                {
                    __retVal = __target(__this, numTokens, mods, __singleMod_native, (uint*)__tokens_native, (uint*)__flags_native);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.Free(__singleMod_native);
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_GetTypeNotifications(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint numTokens, void** mods, void* __singleMod_native, uint* __tokens_native, uint* __flags_native)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule singleMod = default;
        uint[] tokens = default;
        uint[] flags = default;
        int __retVal = default;
        // Setup - Perform required setup.
        int __flags_native__numElements;
        __flags_native__numElements = default;
        int __tokens_native__numElements;
        __tokens_native__numElements = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            singleMod = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.ConvertToManaged(__singleMod_native);
            __flags_native__numElements = checked((int)(numTokens));
            flags = global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.AllocateContainerForManagedElements(__flags_native, __flags_native__numElements);
            global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetUnmanagedValuesSource(__flags_native, __flags_native__numElements).CopyTo(global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetManagedValuesDestination(flags));
            __tokens_native__numElements = checked((int)(numTokens));
            tokens = global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.AllocateContainerForManagedElements(__tokens_native, __tokens_native__numElements);
            global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetUnmanagedValuesSource(__tokens_native, __tokens_native__numElements).CopyTo(global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetManagedValuesDestination(tokens));
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.GetTypeNotifications(numTokens, mods, singleMod, tokens, flags);
            // Marshal - Convert managed data to native data.
            global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetManagedValuesDestination(flags).CopyTo(global::System.Runtime.InteropServices.MemoryMarshal.CreateSpan(ref global::System.Runtime.InteropServices.MemoryMarshal.GetReference(global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetUnmanagedValuesSource(__flags_native, __flags_native__numElements)), global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetUnmanagedValuesSource(__flags_native, __flags_native__numElements).Length));
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.SetTypeNotifications(uint numTokens, void** mods, global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule singleMod, uint[] tokens, uint[] flags, uint singleFlags)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, uint, void**, void*, uint*, uint*, uint, int> )__vtable[38]);
        {
            void* __singleMod_native = default;
            int __retVal = default;
            try
            {
                // Marshal - Convert managed data to native data.
                __singleMod_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.ConvertToUnmanaged(singleMod);
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void* __flags_native = &global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.ManagedToUnmanagedIn.GetPinnableReference(flags))
                fixed (void* __tokens_native = &global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.ManagedToUnmanagedIn.GetPinnableReference(tokens))
                {
                    __retVal = __target(__this, numTokens, mods, __singleMod_native, (uint*)__tokens_native, (uint*)__flags_native, singleFlags);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.Free(__singleMod_native);
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_SetTypeNotifications(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint numTokens, void** mods, void* __singleMod_native, uint* __tokens_native, uint* __flags_native, uint singleFlags)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule singleMod = default;
        uint[] tokens = default;
        uint[] flags = default;
        int __retVal = default;
        // Setup - Perform required setup.
        int __flags_native__numElements;
        __flags_native__numElements = default;
        int __tokens_native__numElements;
        __tokens_native__numElements = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            singleMod = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.ConvertToManaged(__singleMod_native);
            __flags_native__numElements = checked((int)(numTokens));
            flags = global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.AllocateContainerForManagedElements(__flags_native, __flags_native__numElements);
            global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetUnmanagedValuesSource(__flags_native, __flags_native__numElements).CopyTo(global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetManagedValuesDestination(flags));
            __tokens_native__numElements = checked((int)(numTokens));
            tokens = global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.AllocateContainerForManagedElements(__tokens_native, __tokens_native__numElements);
            global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetUnmanagedValuesSource(__tokens_native, __tokens_native__numElements).CopyTo(global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetManagedValuesDestination(tokens));
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.SetTypeNotifications(numTokens, mods, singleMod, tokens, flags, singleFlags);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.GetCodeNotifications(uint numTokens, void** mods, global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule singleMod, uint[] tokens, uint[] flags)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, uint, void**, void*, uint*, uint*, int> )__vtable[39]);
        {
            void* __singleMod_native = default;
            int __retVal = default;
            try
            {
                // Marshal - Convert managed data to native data.
                __singleMod_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.ConvertToUnmanaged(singleMod);
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void* __flags_native = &global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.ManagedToUnmanagedIn.GetPinnableReference(flags))
                fixed (void* __tokens_native = &global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.ManagedToUnmanagedIn.GetPinnableReference(tokens))
                {
                    __retVal = __target(__this, numTokens, mods, __singleMod_native, (uint*)__tokens_native, (uint*)__flags_native);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.Free(__singleMod_native);
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_GetCodeNotifications(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint numTokens, void** mods, void* __singleMod_native, uint* __tokens_native, uint* __flags_native)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule singleMod = default;
        uint[] tokens = default;
        uint[] flags = default;
        int __retVal = default;
        // Setup - Perform required setup.
        int __flags_native__numElements;
        __flags_native__numElements = default;
        int __tokens_native__numElements;
        __tokens_native__numElements = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            singleMod = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.ConvertToManaged(__singleMod_native);
            __flags_native__numElements = checked((int)(numTokens));
            flags = global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.AllocateContainerForManagedElements(__flags_native, __flags_native__numElements);
            global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetUnmanagedValuesSource(__flags_native, __flags_native__numElements).CopyTo(global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetManagedValuesDestination(flags));
            __tokens_native__numElements = checked((int)(numTokens));
            tokens = global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.AllocateContainerForManagedElements(__tokens_native, __tokens_native__numElements);
            global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetUnmanagedValuesSource(__tokens_native, __tokens_native__numElements).CopyTo(global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetManagedValuesDestination(tokens));
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.GetCodeNotifications(numTokens, mods, singleMod, tokens, flags);
            // Marshal - Convert managed data to native data.
            global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetManagedValuesDestination(flags).CopyTo(global::System.Runtime.InteropServices.MemoryMarshal.CreateSpan(ref global::System.Runtime.InteropServices.MemoryMarshal.GetReference(global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetUnmanagedValuesSource(__flags_native, __flags_native__numElements)), global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetUnmanagedValuesSource(__flags_native, __flags_native__numElements).Length));
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.SetCodeNotifications(uint numTokens, void** mods, global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule singleMod, uint[] tokens, uint[] flags, uint singleFlags)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, uint, void**, void*, uint*, uint*, uint, int> )__vtable[40]);
        {
            void* __singleMod_native = default;
            int __retVal = default;
            try
            {
                // Marshal - Convert managed data to native data.
                __singleMod_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.ConvertToUnmanaged(singleMod);
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void* __flags_native = &global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.ManagedToUnmanagedIn.GetPinnableReference(flags))
                fixed (void* __tokens_native = &global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.ManagedToUnmanagedIn.GetPinnableReference(tokens))
                {
                    __retVal = __target(__this, numTokens, mods, __singleMod_native, (uint*)__tokens_native, (uint*)__flags_native, singleFlags);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.Free(__singleMod_native);
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_SetCodeNotifications(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint numTokens, void** mods, void* __singleMod_native, uint* __tokens_native, uint* __flags_native, uint singleFlags)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule singleMod = default;
        uint[] tokens = default;
        uint[] flags = default;
        int __retVal = default;
        // Setup - Perform required setup.
        int __flags_native__numElements;
        __flags_native__numElements = default;
        int __tokens_native__numElements;
        __tokens_native__numElements = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            singleMod = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule>.ConvertToManaged(__singleMod_native);
            __flags_native__numElements = checked((int)(numTokens));
            flags = global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.AllocateContainerForManagedElements(__flags_native, __flags_native__numElements);
            global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetUnmanagedValuesSource(__flags_native, __flags_native__numElements).CopyTo(global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetManagedValuesDestination(flags));
            __tokens_native__numElements = checked((int)(numTokens));
            tokens = global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.AllocateContainerForManagedElements(__tokens_native, __tokens_native__numElements);
            global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetUnmanagedValuesSource(__tokens_native, __tokens_native__numElements).CopyTo(global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<uint, uint>.GetManagedValuesDestination(tokens));
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.SetCodeNotifications(numTokens, mods, singleMod, tokens, flags, singleFlags);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.GetOtherNotificationFlags(uint* flags)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, uint*, int> )__vtable[41]);
        {
            int __retVal;
            {
                __retVal = __target(__this, flags);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_GetOtherNotificationFlags(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint* flags)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.GetOtherNotificationFlags(flags);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.SetOtherNotificationFlags(uint flags)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, uint, int> )__vtable[42]);
        {
            int __retVal;
            {
                __retVal = __target(__this, flags);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_SetOtherNotificationFlags(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint flags)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.SetOtherNotificationFlags(flags);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.StartEnumMethodDefinitionsByAddress(global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress address, ulong* handle)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong, ulong*, int> )__vtable[43]);
        {
            ulong __address_native;
            int __retVal;
            // Marshal - Convert managed data to native data.
            __address_native = global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddressMarshaller.ConvertToUnmanaged(address);
            {
                __retVal = __target(__this, __address_native, handle);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_StartEnumMethodDefinitionsByAddress(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong __address_native, ulong* handle)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress address = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            address = global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddressMarshaller.ConvertToManaged(__address_native);
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.StartEnumMethodDefinitionsByAddress(address, handle);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.EnumMethodDefinitionByAddress(ulong* handle, global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataMethodDefinition> method)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong*, void**, int> )__vtable[44]);
        {
            void** __method_native = default;
            int __retVal = default;
            // Setup - Perform required setup.
            global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataMethodDefinition>.ManagedToUnmanaged __method_native__marshaller = new();
            try
            {
                // Marshal - Convert managed data to native data.
                __method_native__marshaller.FromManaged(method);
                {
                    // PinnedMarshal - Convert managed data to native data that requires the managed data to be pinned.
                    __method_native = __method_native__marshaller.ToUnmanaged();
                    __retVal = __target(__this, handle, __method_native);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                __method_native__marshaller.OnInvoked();
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                __method_native__marshaller.Free();
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_EnumMethodDefinitionByAddress(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong* handle, void** __method_native)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataMethodDefinition> method = default;
        int __retVal = default;
        // Setup - Perform required setup.
        global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataMethodDefinition>.UnmanagedToManaged __method_native__marshaller = new();
        try
        {
            // UnmarshalCapture - Capture the native data into marshaller instances in case conversion to managed data throws an exception.
            __method_native__marshaller.FromUnmanaged(__method_native);
            // Unmarshal - Convert native data to managed data.
            method = __method_native__marshaller.ToManaged();
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.EnumMethodDefinitionByAddress(handle, method);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
        finally
        {
            // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
            __method_native__marshaller.Free();
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.EndEnumMethodDefinitionsByAddress(ulong handle)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong, int> )__vtable[45]);
        {
            int __retVal;
            {
                __retVal = __target(__this, handle);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_EndEnumMethodDefinitionsByAddress(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong handle)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.EndEnumMethodDefinitionsByAddress(handle);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.FollowStub(uint inFlags, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress inAddr, void* inBuffer, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress* outAddr, void* outBuffer, uint* outFlags)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, uint, ulong, void*, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress*, void*, uint*, int> )__vtable[46]);
        {
            ulong __inAddr_native;
            int __retVal;
            // Marshal - Convert managed data to native data.
            __inAddr_native = global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddressMarshaller.ConvertToUnmanaged(inAddr);
            {
                __retVal = __target(__this, inFlags, __inAddr_native, inBuffer, outAddr, outBuffer, outFlags);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_FollowStub(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint inFlags, ulong __inAddr_native, void* inBuffer, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress* outAddr, void* outBuffer, uint* outFlags)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress inAddr = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            inAddr = global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddressMarshaller.ConvertToManaged(__inAddr_native);
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.FollowStub(inFlags, inAddr, inBuffer, outAddr, outBuffer, outFlags);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.FollowStub2(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask task, uint inFlags, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress inAddr, void* inBuffer, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress* outAddr, void* outBuffer, uint* outFlags)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, void*, uint, ulong, void*, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress*, void*, uint*, int> )__vtable[47]);
        {
            void* __task_native = default;
            ulong __inAddr_native = default;
            int __retVal = default;
            try
            {
                // Marshal - Convert managed data to native data.
                __inAddr_native = global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddressMarshaller.ConvertToUnmanaged(inAddr);
                __task_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask>.ConvertToUnmanaged(task);
                {
                    __retVal = __target(__this, __task_native, inFlags, __inAddr_native, inBuffer, outAddr, outBuffer, outFlags);
                }
    
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask>.Free(__task_native);
            }
    
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_FollowStub2(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void* __task_native, uint inFlags, ulong __inAddr_native, void* inBuffer, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress* outAddr, void* outBuffer, uint* outFlags)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask task = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress inAddr = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            inAddr = global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddressMarshaller.ConvertToManaged(__inAddr_native);
            task = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataTask>.ConvertToManaged(__task_native);
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.FollowStub2(task, inFlags, inAddr, inBuffer, outAddr, outBuffer, outFlags);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.DumpNativeImage(global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress loadedBase, char* name, void* display, void* libSupport, void* dis)
    {
        var(__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess));
        var __target = ((delegate* unmanaged[MemberFunction]<void*, ulong, char*, void*, void*, void*, int> )__vtable[48]);
        {
            ulong __loadedBase_native;
            int __retVal;
            // Marshal - Convert managed data to native data.
            __loadedBase_native = global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddressMarshaller.ConvertToUnmanaged(loadedBase);
            {
                __retVal = __target(__this, __loadedBase_native, name, display, libSupport, dis);
            }
    
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_DumpNativeImage(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong __loadedBase_native, char* name, void* display, void* libSupport, void* dis)
    {
        global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
        global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress loadedBase = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            loadedBase = global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddressMarshaller.ConvertToManaged(__loadedBase_native);
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess>(__this_native);
            __retVal = @this.DumpNativeImage(loadedBase, name, display, libSupport, dis);
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }
}

namespace Microsoft.Diagnostics.DataContractReader.Legacy
{
    [global::System.Runtime.InteropServices.Marshalling.IUnknownDerivedAttribute<InterfaceInformation, InterfaceImplementation>]
    public unsafe partial interface IXCLRDataProcess
    {
    }
}