File: Generated\361d1da7f942c932\Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.cs
Project: 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 struct InterfaceImplementationVtable
{
    public unsafe delegate* unmanaged[MemberFunction]<void*, global::System.Guid*, void**, int> QueryInterface_0;
    public unsafe delegate* unmanaged[MemberFunction]<void*, uint> AddRef_1;
    public unsafe delegate* unmanaged[MemberFunction]<void*, uint> Release_2;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int> Flush_3;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong*, int> StartEnumTasks_4;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong*, void**, int> EnumTask_5;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, int> EndEnumTasks_6;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, void**, int> GetTaskByOSThreadID_7;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, void**, int> GetTaskByUniqueID_8;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint*, int> GetFlags_9;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess*, int> IsSameObject_10;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int> GetManagedObject_11;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint*, int> GetDesiredExecutionState_12;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, int> SetDesiredExecutionState_13;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, global::Microsoft.Diagnostics.DataContractReader.Legacy.CLRDataAddressType*, int> GetAddressType_14;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, uint, uint, uint*, char*, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress*, int> GetRuntimeNameByAddress_15;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong*, int> StartEnumAppDomains_16;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong*, void**, int> EnumAppDomain_17;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, int> EndEnumAppDomains_18;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, void**, int> GetAppDomainByUniqueID_19;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong*, int> StartEnumAssemblies_20;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong*, void**, int> EnumAssembly_21;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, int> EndEnumAssemblies_22;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong*, int> StartEnumModules_23;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong*, void**, int> EnumModule_24;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, int> EndEnumModules_25;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, void**, int> GetModuleByAddress_26;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, void*, ulong*, int> StartEnumMethodInstancesByAddress_27;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong*, void**, int> EnumMethodInstanceByAddress_28;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, int> EndEnumMethodInstancesByAddress_29;
    public unsafe 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 unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, global::Microsoft.Diagnostics.DataContractReader.Legacy.EXCEPTION_RECORD64*, void**, int> GetExceptionStateByExceptionRecord_31;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, global::Microsoft.Diagnostics.DataContractReader.Legacy.EXCEPTION_RECORD64*, void*, int> TranslateExceptionRecordToNotification_32;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, uint, byte*, uint, byte*, int> Request_33;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void*, void*, void*, ulong, void**, int> CreateMemoryValue_34;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void*, uint, int> SetAllTypeNotifications_35;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void*, uint, int> SetAllCodeNotifications_36;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, void**, void*, uint*, uint*, int> GetTypeNotifications_37;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, void**, void*, uint*, uint*, uint, int> SetTypeNotifications_38;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, void**, void*, uint*, uint*, int> GetCodeNotifications_39;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, void**, void*, uint*, uint*, uint, int> SetCodeNotifications_40;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint*, int> GetOtherNotificationFlags_41;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, int> SetOtherNotificationFlags_42;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, ulong*, int> StartEnumMethodDefinitionsByAddress_43;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong*, void**, int> EnumMethodDefinitionByAddress_44;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, int> EndEnumMethodDefinitionsByAddress_45;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, ulong, void*, global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress*, void*, uint*, int> FollowStub_46;
    public unsafe 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 unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ulong, char*, void*, void*, void*, int> DumpNativeImage_48;
}
 
file 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 unsafe void** ManagedVirtualMethodTable
    {
        get
        {
            unsafe
            {
                return (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()
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.Flush()
    {
        unsafe
        {
            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 unsafe int ABI_Flush(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.StartEnumTasks(ulong* handle)
    {
        unsafe
        {
            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 unsafe int ABI_StartEnumTasks(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong* handle)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe int ABI_EnumTask(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong* handle, void** __task_native)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.EndEnumTasks(ulong handle)
    {
        unsafe
        {
            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 unsafe int ABI_EndEnumTasks(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong handle)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe int ABI_GetTaskByOSThreadID(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint osThreadID, void** __task_native)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe int ABI_GetTaskByUniqueID(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong taskID, void** __task_native)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.GetFlags(uint* flags)
    {
        unsafe
        {
            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 unsafe int ABI_GetFlags(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint* flags)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.IsSameObject(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess* process)
    {
        unsafe
        {
            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 unsafe int ABI_IsSameObject(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess* process)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe int ABI_GetManagedObject(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __value_native)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.GetDesiredExecutionState(uint* state)
    {
        unsafe
        {
            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 unsafe int ABI_GetDesiredExecutionState(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint* state)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.SetDesiredExecutionState(uint state)
    {
        unsafe
        {
            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 unsafe int ABI_SetDesiredExecutionState(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint state)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.GetAddressType(global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress address, global::Microsoft.Diagnostics.DataContractReader.Legacy.CLRDataAddressType* @type)
    {
        unsafe
        {
            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, global::Microsoft.Diagnostics.DataContractReader.Legacy.CLRDataAddressType*, 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 unsafe int ABI_GetAddressType(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong __address_native, global::Microsoft.Diagnostics.DataContractReader.Legacy.CLRDataAddressType* @type)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe 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)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.StartEnumAppDomains(ulong* handle)
    {
        unsafe
        {
            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 unsafe int ABI_StartEnumAppDomains(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong* handle)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.EnumAppDomain(ulong* handle, global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain> appDomain)
    {
        unsafe
        {
            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]);
            {
                void** __appDomain_native = default;
                int __retVal = default;
                // Setup - Perform required setup.
                global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain>.ManagedToUnmanaged __appDomain_native__marshaller = new();
                try
                {
                    // Marshal - Convert managed data to native data.
                    __appDomain_native__marshaller.FromManaged(appDomain);
                    {
                        // PinnedMarshal - Convert managed data to native data that requires the managed data to be pinned.
                        __appDomain_native = __appDomain_native__marshaller.ToUnmanaged();
                        __retVal = __target(__this, handle, __appDomain_native);
                    }
                    // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                    __appDomain_native__marshaller.OnInvoked();
                    global::System.GC.KeepAlive(this);
                }
                finally
                {
                    // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                    __appDomain_native__marshaller.Free();
                }
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumAppDomain(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong* handle, void** __appDomain_native)
    {
        unsafe
        {
            global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
            global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain> appDomain = default;
            int __retVal = default;
            // Setup - Perform required setup.
            global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain>.UnmanagedToManaged __appDomain_native__marshaller = new();
            try
            {
                // UnmarshalCapture - Capture the native data into marshaller instances in case conversion to managed data throws an exception.
                __appDomain_native__marshaller.FromUnmanaged(__appDomain_native);
                // Unmarshal - Convert native data to managed data.
                appDomain = __appDomain_native__marshaller.ToManaged();
                @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);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                __appDomain_native__marshaller.Free();
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.EndEnumAppDomains(ulong handle)
    {
        unsafe
        {
            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 unsafe int ABI_EndEnumAppDomains(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong handle)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.GetAppDomainByUniqueID(ulong id, global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain> appDomain)
    {
        unsafe
        {
            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]);
            {
                void** __appDomain_native = default;
                int __retVal = default;
                // Setup - Perform required setup.
                global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain>.ManagedToUnmanaged __appDomain_native__marshaller = new();
                try
                {
                    // Marshal - Convert managed data to native data.
                    __appDomain_native__marshaller.FromManaged(appDomain);
                    {
                        // PinnedMarshal - Convert managed data to native data that requires the managed data to be pinned.
                        __appDomain_native = __appDomain_native__marshaller.ToUnmanaged();
                        __retVal = __target(__this, id, __appDomain_native);
                    }
                    // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                    __appDomain_native__marshaller.OnInvoked();
                    global::System.GC.KeepAlive(this);
                }
                finally
                {
                    // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                    __appDomain_native__marshaller.Free();
                }
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetAppDomainByUniqueID(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong id, void** __appDomain_native)
    {
        unsafe
        {
            global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess @this = default;
            global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRef<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain> appDomain = default;
            int __retVal = default;
            // Setup - Perform required setup.
            global::Microsoft.Diagnostics.DataContractReader.Legacy.DacComNullableByRefMarshaller<global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataAppDomain>.UnmanagedToManaged __appDomain_native__marshaller = new();
            try
            {
                // UnmarshalCapture - Capture the native data into marshaller instances in case conversion to managed data throws an exception.
                __appDomain_native__marshaller.FromUnmanaged(__appDomain_native);
                // Unmarshal - Convert native data to managed data.
                appDomain = __appDomain_native__marshaller.ToManaged();
                @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);
            }
            finally
            {
                // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                __appDomain_native__marshaller.Free();
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.StartEnumAssemblies(ulong* handle)
    {
        unsafe
        {
            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 unsafe int ABI_StartEnumAssemblies(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong* handle)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe int ABI_EnumAssembly(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong* handle, void** __assembly_native)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.EndEnumAssemblies(ulong handle)
    {
        unsafe
        {
            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 unsafe int ABI_EndEnumAssemblies(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong handle)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.StartEnumModules(ulong* handle)
    {
        unsafe
        {
            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 unsafe int ABI_StartEnumModules(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong* handle)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe int ABI_EnumModule(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong* handle, void** __mod_native)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.EndEnumModules(ulong handle)
    {
        unsafe
        {
            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 unsafe int ABI_EndEnumModules(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong handle)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe int ABI_GetModuleByAddress(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong __address_native, void** __mod_native)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe int ABI_StartEnumMethodInstancesByAddress(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong __address_native, void* __appDomain_native, ulong* handle)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe int ABI_EnumMethodInstanceByAddress(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong* handle, void** __method_native)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.EndEnumMethodInstancesByAddress(ulong handle)
    {
        unsafe
        {
            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 unsafe int ABI_EndEnumMethodInstancesByAddress(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong handle)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe 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)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe int ABI_GetExceptionStateByExceptionRecord(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, global::Microsoft.Diagnostics.DataContractReader.Legacy.EXCEPTION_RECORD64* @record, void** __exState_native)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe int ABI_TranslateExceptionRecordToNotification(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, global::Microsoft.Diagnostics.DataContractReader.Legacy.EXCEPTION_RECORD64* @record, void* __notify_native)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.Request(uint reqCode, uint inBufferSize, byte* inBuffer, uint outBufferSize, byte* outBuffer)
    {
        unsafe
        {
            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 unsafe int ABI_Request(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint reqCode, uint inBufferSize, byte* inBuffer, uint outBufferSize, byte* outBuffer)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe 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)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.SetAllTypeNotifications(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule mod, uint flags)
    {
        unsafe
        {
            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 unsafe int ABI_SetAllTypeNotifications(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void* __mod_native, uint flags)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.SetAllCodeNotifications(global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataModule mod, uint flags)
    {
        unsafe
        {
            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 unsafe int ABI_SetAllCodeNotifications(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void* __mod_native, uint flags)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe int ABI_GetTypeNotifications(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint numTokens, void** mods, void* __singleMod_native, uint* __tokens_native, uint* __flags_native)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe 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)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe int ABI_GetCodeNotifications(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint numTokens, void** mods, void* __singleMod_native, uint* __tokens_native, uint* __flags_native)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe 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)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.GetOtherNotificationFlags(uint* flags)
    {
        unsafe
        {
            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 unsafe int ABI_GetOtherNotificationFlags(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint* flags)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.SetOtherNotificationFlags(uint flags)
    {
        unsafe
        {
            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 unsafe int ABI_SetOtherNotificationFlags(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint flags)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.StartEnumMethodDefinitionsByAddress(global::Microsoft.Diagnostics.DataContractReader.Legacy.ClrDataAddress address, ulong* handle)
    {
        unsafe
        {
            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 unsafe int ABI_StartEnumMethodDefinitionsByAddress(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong __address_native, ulong* handle)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe int ABI_EnumMethodDefinitionByAddress(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong* handle, void** __method_native)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.Diagnostics.DataContractReader.Legacy.IXCLRDataProcess.EndEnumMethodDefinitionsByAddress(ulong handle)
    {
        unsafe
        {
            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 unsafe int ABI_EndEnumMethodDefinitionsByAddress(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong handle)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe 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)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe 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)
    {
        unsafe
        {
            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", "12.0.14.48102")]
    [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)
    {
        unsafe
        {
            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 unsafe int ABI_DumpNativeImage(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ulong __loadedBase_native, char* name, void* display, void* libSupport, void* dis)
    {
        unsafe
        {
            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
    {
    }
}