File: Generated\361d1da7f942c932\Microsoft.DiaSymReader.ISymUnmanagedWriter5.cs
Project: Microsoft.DiaSymReader.csproj (Microsoft.DiaSymReader)
// <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*, ushort*, global::System.Guid*, global::System.Guid*, global::System.Guid*, void**, int> DefineDocument_3;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int> SetUserEntryPoint_4;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, int> OpenMethod_5;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int> CloseMethod_6;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, uint*, int> OpenScope_7;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int> CloseScope_8;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, uint, uint, int> SetScopeRange_9;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ushort*, uint, uint, byte*, uint, uint, uint, uint, uint, int> DefineLocalVariable_10;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ushort*, uint, uint, uint, uint, uint, uint, int> DefineParameter_11;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, ushort*, uint, uint, byte*, uint, uint, uint, uint, int> DefineField_12;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ushort*, uint, uint, byte*, uint, uint, uint, uint, int> DefineGlobalVariable_13;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int> Close_14;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, ushort*, int, byte*, int> SetSymAttribute_15;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ushort*, int> OpenNamespace_16;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int> CloseNamespace_17;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ushort*, int> UsingNamespace_18;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void*, uint, uint, void*, uint, uint, int> SetMethodSourceRange_19;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void*, ushort*, void*, int, int> Initialize_20;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, global::Microsoft.DiaSymReader.ImageDebugDirectory*, uint, uint*, byte*, int> GetDebugInfo_21;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void*, int, int*, int*, int*, int*, int*, int> DefineSequencePoints_22;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, uint, int> RemapToken_23;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void*, ushort*, void*, int, ushort*, int> Initialize2_24;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ushort*, global::System.Runtime.InteropServices.Marshalling.ComVariant, uint, byte*, int> DefineConstant_25;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int> Abort_26;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ushort*, int, int, uint, int, uint, uint, uint, uint, int> DefineLocalVariable2_27;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ushort*, int, int, uint, uint, uint, uint, int> DefineGlobalVariable2_28;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ushort*, global::Microsoft.DiaSymReader.VariantStructure, int, int> DefineConstant2_29;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, int, int, int> OpenMethod2_30;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int> Commit_31;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, global::Microsoft.DiaSymReader.ImageDebugDirectory*, uint, uint*, byte*, int> GetDebugInfoWithPadding_32;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int> OpenMapTokensToSourceSpans_33;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int> CloseMapTokensToSourceSpans_34;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, void*, int, int, int, int, int> MapTokenToSourceSpan_35;
}
 
file sealed class InterfaceInformation : global::System.Runtime.InteropServices.Marshalling.IIUnknownInterfaceType
{
    public static global::System.Guid Iid { get; } = new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]);
    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.DiaSymReader.ISymUnmanagedWriter5
{
    [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.DefineDocument_3 = &ABI_DefineDocument;
            Vtable.SetUserEntryPoint_4 = &ABI_SetUserEntryPoint;
            Vtable.OpenMethod_5 = &ABI_OpenMethod;
            Vtable.CloseMethod_6 = &ABI_CloseMethod;
            Vtable.OpenScope_7 = &ABI_OpenScope;
            Vtable.CloseScope_8 = &ABI_CloseScope;
            Vtable.SetScopeRange_9 = &ABI_SetScopeRange;
            Vtable.DefineLocalVariable_10 = &ABI_DefineLocalVariable;
            Vtable.DefineParameter_11 = &ABI_DefineParameter;
            Vtable.DefineField_12 = &ABI_DefineField;
            Vtable.DefineGlobalVariable_13 = &ABI_DefineGlobalVariable;
            Vtable.Close_14 = &ABI_Close;
            Vtable.SetSymAttribute_15 = &ABI_SetSymAttribute;
            Vtable.OpenNamespace_16 = &ABI_OpenNamespace;
            Vtable.CloseNamespace_17 = &ABI_CloseNamespace;
            Vtable.UsingNamespace_18 = &ABI_UsingNamespace;
            Vtable.SetMethodSourceRange_19 = &ABI_SetMethodSourceRange;
            Vtable.Initialize_20 = &ABI_Initialize;
            Vtable.GetDebugInfo_21 = &ABI_GetDebugInfo;
            Vtable.DefineSequencePoints_22 = &ABI_DefineSequencePoints;
            Vtable.RemapToken_23 = &ABI_RemapToken;
            Vtable.Initialize2_24 = &ABI_Initialize2;
            Vtable.DefineConstant_25 = &ABI_DefineConstant;
            Vtable.Abort_26 = &ABI_Abort;
            Vtable.DefineLocalVariable2_27 = &ABI_DefineLocalVariable2;
            Vtable.DefineGlobalVariable2_28 = &ABI_DefineGlobalVariable2;
            Vtable.DefineConstant2_29 = &ABI_DefineConstant2;
            Vtable.OpenMethod2_30 = &ABI_OpenMethod2;
            Vtable.Commit_31 = &ABI_Commit;
            Vtable.GetDebugInfoWithPadding_32 = &ABI_GetDebugInfoWithPadding;
            Vtable.OpenMapTokensToSourceSpans_33 = &ABI_OpenMapTokensToSourceSpans;
            Vtable.CloseMapTokensToSourceSpans_34 = &ABI_CloseMapTokensToSourceSpans;
            Vtable.MapTokenToSourceSpan_35 = &ABI_MapTokenToSourceSpan;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.DefineDocument(string url, ref global::System.Guid language, ref global::System.Guid languageVendor, ref global::System.Guid documentType)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, ushort*, global::System.Guid*, global::System.Guid*, global::System.Guid*, void**, int>)__vtable[3]);
            {
                bool __invokeSucceeded = default;
                global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter __retVal = default;
                void* __retVal_native = default;
                int __invokeRetVal = default;
                try
                {
                    // Pin - Pin data in preparation for calling the P/Invoke.
                    fixed (global::System.Guid* __documentType_native = &documentType)
                    fixed (global::System.Guid* __languageVendor_native = &languageVendor)
                    fixed (global::System.Guid* __language_native = &language)
                    fixed (void* __url_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(url))
                    {
                        __invokeRetVal = __target(__this, (ushort*)__url_native, __language_native, __languageVendor_native, __documentType_native, &__retVal_native);
                    }
                    // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                    global::System.GC.KeepAlive(this);
                    // Unmarshal - Convert native data to managed data.
                    global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
                    __invokeSucceeded = true;
                    // Unmarshal - Convert native data to managed data.
                    __retVal = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter>.ConvertToManaged(__retVal_native);
                }
                finally
                {
                    if (__invokeSucceeded)
                    {
                        // CleanupCalleeAllocated - Perform cleanup of callee allocated resources.
                        global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter>.Free(__retVal_native);
                    }
                }
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_DefineDocument(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ushort* __url_native, global::System.Guid* __language_native__param, global::System.Guid* __languageVendor_native__param, global::System.Guid* __documentType_native__param, void** __invokeRetValUnmanaged__param)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            string url = default;
            ref global::System.Guid __language_native = ref *__language_native__param;
            global::System.Guid language = default;
            ref global::System.Guid __languageVendor_native = ref *__languageVendor_native__param;
            global::System.Guid languageVendor = default;
            ref global::System.Guid __documentType_native = ref *__documentType_native__param;
            global::System.Guid documentType = default;
            ref void* __invokeRetValUnmanaged = ref *__invokeRetValUnmanaged__param;
            global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter __invokeRetVal = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                documentType = __documentType_native;
                languageVendor = __languageVendor_native;
                language = __language_native;
                url = global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.ConvertToManaged(__url_native);
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                __invokeRetVal = @this.DefineDocument(url, ref language, ref languageVendor, ref documentType);
                // Marshal - Convert managed data to native data.
                __invokeRetValUnmanaged = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter>.ConvertToUnmanaged(__invokeRetVal);
                __documentType_native = documentType;
                __languageVendor_native = languageVendor;
                __language_native = language;
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.SetUserEntryPoint(int entryMethodToken)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, int>)__vtable[4]);
            {
                int __invokeRetVal;
                {
                    __invokeRetVal = __target(__this, entryMethodToken);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_SetUserEntryPoint(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int entryMethodToken)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.SetUserEntryPoint(entryMethodToken);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.OpenMethod(uint methodToken)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, uint, int>)__vtable[5]);
            {
                int __invokeRetVal;
                {
                    __invokeRetVal = __target(__this, methodToken);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_OpenMethod(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint methodToken)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.OpenMethod(methodToken);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.CloseMethod()
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int>)__vtable[6]);
            {
                int __invokeRetVal;
                {
                    __invokeRetVal = __target(__this);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_CloseMethod(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.CloseMethod();
            }
            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]
    uint global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.OpenScope(int startOffset)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, uint*, int>)__vtable[7]);
            {
                uint __retVal;
                int __invokeRetVal;
                {
                    __invokeRetVal = __target(__this, startOffset, &__retVal);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_OpenScope(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int startOffset, uint* __invokeRetValUnmanaged__param)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            ref uint __invokeRetValUnmanaged = ref *__invokeRetValUnmanaged__param;
            uint __invokeRetVal = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                __invokeRetVal = @this.OpenScope(startOffset);
                // Marshal - Convert managed data to native data.
                __invokeRetValUnmanaged = __invokeRetVal;
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.CloseScope(int endOffset)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, int>)__vtable[8]);
            {
                int __invokeRetVal;
                {
                    __invokeRetVal = __target(__this, endOffset);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_CloseScope(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int endOffset)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.CloseScope(endOffset);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.SetScopeRange(uint scopeID, uint startOffset, uint endOffset)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, uint, uint, uint, int>)__vtable[9]);
            {
                int __invokeRetVal;
                {
                    __invokeRetVal = __target(__this, scopeID, startOffset, endOffset);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_SetScopeRange(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint scopeID, uint startOffset, uint endOffset)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.SetScopeRange(scopeID, startOffset, endOffset);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.DefineLocalVariable(string name, uint attributes, uint sig, byte* signature, uint addrKind, uint addr1, uint addr2, uint startOffset, uint endOffset)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, ushort*, uint, uint, byte*, uint, uint, uint, uint, uint, int>)__vtable[10]);
            {
                int __invokeRetVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void* __name_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(name))
                {
                    __invokeRetVal = __target(__this, (ushort*)__name_native, attributes, sig, signature, addrKind, addr1, addr2, startOffset, endOffset);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_DefineLocalVariable(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ushort* __name_native, uint attributes, uint sig, byte* signature, uint addrKind, uint addr1, uint addr2, uint startOffset, uint endOffset)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            string name = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                name = global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.ConvertToManaged(__name_native);
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.DefineLocalVariable(name, attributes, sig, signature, addrKind, addr1, addr2, startOffset, endOffset);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.DefineParameter(string name, uint attributes, uint sequence, uint addrKind, uint addr1, uint addr2, uint addr3)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, ushort*, uint, uint, uint, uint, uint, uint, int>)__vtable[11]);
            {
                int __invokeRetVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void* __name_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(name))
                {
                    __invokeRetVal = __target(__this, (ushort*)__name_native, attributes, sequence, addrKind, addr1, addr2, addr3);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_DefineParameter(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ushort* __name_native, uint attributes, uint sequence, uint addrKind, uint addr1, uint addr2, uint addr3)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            string name = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                name = global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.ConvertToManaged(__name_native);
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.DefineParameter(name, attributes, sequence, addrKind, addr1, addr2, addr3);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.DefineField(uint parent, string name, uint attributes, uint sig, byte* signature, uint addrKind, uint addr1, uint addr2, uint addr3)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, uint, ushort*, uint, uint, byte*, uint, uint, uint, uint, int>)__vtable[12]);
            {
                int __invokeRetVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void* __name_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(name))
                {
                    __invokeRetVal = __target(__this, parent, (ushort*)__name_native, attributes, sig, signature, addrKind, addr1, addr2, addr3);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_DefineField(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint parent, ushort* __name_native, uint attributes, uint sig, byte* signature, uint addrKind, uint addr1, uint addr2, uint addr3)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            string name = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                name = global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.ConvertToManaged(__name_native);
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.DefineField(parent, name, attributes, sig, signature, addrKind, addr1, addr2, addr3);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.DefineGlobalVariable(string name, uint attributes, uint sig, byte* signature, uint addrKind, uint addr1, uint addr2, uint addr3)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, ushort*, uint, uint, byte*, uint, uint, uint, uint, int>)__vtable[13]);
            {
                int __invokeRetVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void* __name_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(name))
                {
                    __invokeRetVal = __target(__this, (ushort*)__name_native, attributes, sig, signature, addrKind, addr1, addr2, addr3);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_DefineGlobalVariable(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ushort* __name_native, uint attributes, uint sig, byte* signature, uint addrKind, uint addr1, uint addr2, uint addr3)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            string name = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                name = global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.ConvertToManaged(__name_native);
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.DefineGlobalVariable(name, attributes, sig, signature, addrKind, addr1, addr2, addr3);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.Close()
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int>)__vtable[14]);
            {
                int __invokeRetVal;
                {
                    __invokeRetVal = __target(__this);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_Close(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.Close();
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.SetSymAttribute(uint parent, string name, int length, byte* data)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, uint, ushort*, int, byte*, int>)__vtable[15]);
            {
                int __invokeRetVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void* __name_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(name))
                {
                    __invokeRetVal = __target(__this, parent, (ushort*)__name_native, length, data);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_SetSymAttribute(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint parent, ushort* __name_native, int length, byte* data)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            string name = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                name = global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.ConvertToManaged(__name_native);
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.SetSymAttribute(parent, name, length, data);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.OpenNamespace(string name)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, ushort*, int>)__vtable[16]);
            {
                int __invokeRetVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void* __name_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(name))
                {
                    __invokeRetVal = __target(__this, (ushort*)__name_native);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_OpenNamespace(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ushort* __name_native)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            string name = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                name = global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.ConvertToManaged(__name_native);
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.OpenNamespace(name);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.CloseNamespace()
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int>)__vtable[17]);
            {
                int __invokeRetVal;
                {
                    __invokeRetVal = __target(__this);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_CloseNamespace(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.CloseNamespace();
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.UsingNamespace(string fullName)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, ushort*, int>)__vtable[18]);
            {
                int __invokeRetVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void* __fullName_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(fullName))
                {
                    __invokeRetVal = __target(__this, (ushort*)__fullName_native);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_UsingNamespace(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ushort* __fullName_native)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            string fullName = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                fullName = global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.ConvertToManaged(__fullName_native);
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.UsingNamespace(fullName);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.SetMethodSourceRange(global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter startDoc, uint startLine, uint startColumn, global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter endDoc, uint endLine, uint endColumn)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void*, uint, uint, void*, uint, uint, int>)__vtable[19]);
            {
                void* __startDoc_native = default;
                void* __endDoc_native = default;
                int __invokeRetVal = default;
                try
                {
                    // Marshal - Convert managed data to native data.
                    __endDoc_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter>.ConvertToUnmanaged(endDoc);
                    __startDoc_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter>.ConvertToUnmanaged(startDoc);
                    {
                        __invokeRetVal = __target(__this, __startDoc_native, startLine, startColumn, __endDoc_native, endLine, endColumn);
                    }
                    // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                    global::System.GC.KeepAlive(this);
                    // Unmarshal - Convert native data to managed data.
                    global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
                }
                finally
                {
                    // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                    global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter>.Free(__endDoc_native);
                    global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter>.Free(__startDoc_native);
                }
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_SetMethodSourceRange(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void* __startDoc_native, uint startLine, uint startColumn, void* __endDoc_native, uint endLine, uint endColumn)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter startDoc = default;
            global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter endDoc = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                endDoc = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter>.ConvertToManaged(__endDoc_native);
                startDoc = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter>.ConvertToManaged(__startDoc_native);
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.SetMethodSourceRange(startDoc, startLine, startColumn, endDoc, endLine, endColumn);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.Initialize(object emitter, string filename, object ptrIStream, bool fullBuild)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void*, ushort*, void*, int, int>)__vtable[20]);
            {
                void* __emitter_native = default;
                void* __ptrIStream_native = default;
                int __fullBuild_native = default;
                int __invokeRetVal = default;
                try
                {
                    // Marshal - Convert managed data to native data.
                    __fullBuild_native = (int)(fullBuild ? 1 : 0);
                    __ptrIStream_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<object>.ConvertToUnmanaged(ptrIStream);
                    __emitter_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<object>.ConvertToUnmanaged(emitter);
                    // Pin - Pin data in preparation for calling the P/Invoke.
                    fixed (void* __filename_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(filename))
                    {
                        __invokeRetVal = __target(__this, __emitter_native, (ushort*)__filename_native, __ptrIStream_native, __fullBuild_native);
                    }
                    // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                    global::System.GC.KeepAlive(this);
                    // Unmarshal - Convert native data to managed data.
                    global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
                }
                finally
                {
                    // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                    global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<object>.Free(__ptrIStream_native);
                    global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<object>.Free(__emitter_native);
                }
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_Initialize(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void* __emitter_native, ushort* __filename_native, void* __ptrIStream_native, int __fullBuild_native)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            object emitter = default;
            string filename = default;
            object ptrIStream = default;
            bool fullBuild = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                fullBuild = __fullBuild_native != 0;
                ptrIStream = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<object>.ConvertToManaged(__ptrIStream_native);
                filename = global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.ConvertToManaged(__filename_native);
                emitter = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<object>.ConvertToManaged(__emitter_native);
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.Initialize(emitter, filename, ptrIStream, fullBuild);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.GetDebugInfo(ref global::Microsoft.DiaSymReader.ImageDebugDirectory debugDirectory, uint dataCount, out uint dataCountPtr, byte* data)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, global::Microsoft.DiaSymReader.ImageDebugDirectory*, uint, uint*, byte*, int>)__vtable[21]);
            {
                dataCountPtr = default;
                int __invokeRetVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (uint* __dataCountPtr_native = &dataCountPtr)
                fixed (global::Microsoft.DiaSymReader.ImageDebugDirectory* __debugDirectory_native = &debugDirectory)
                {
                    __invokeRetVal = __target(__this, __debugDirectory_native, dataCount, __dataCountPtr_native, data);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetDebugInfo(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, global::Microsoft.DiaSymReader.ImageDebugDirectory* __debugDirectory_native__param, uint dataCount, uint* __dataCountPtr_native__param, byte* data)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            ref global::Microsoft.DiaSymReader.ImageDebugDirectory __debugDirectory_native = ref *__debugDirectory_native__param;
            global::Microsoft.DiaSymReader.ImageDebugDirectory debugDirectory = default;
            ref uint __dataCountPtr_native = ref *__dataCountPtr_native__param;
            uint dataCountPtr = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                debugDirectory = __debugDirectory_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.GetDebugInfo(ref debugDirectory, dataCount, out dataCountPtr, data);
                // Marshal - Convert managed data to native data.
                __dataCountPtr_native = dataCountPtr;
                __debugDirectory_native = debugDirectory;
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.DefineSequencePoints(global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter document, int count, int[] offsets, int[] lines, int[] columns, int[] endLines, int[] endColumns)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void*, int, int*, int*, int*, int*, int*, int>)__vtable[22]);
            {
                void* __document_native = default;
                int __invokeRetVal = default;
                try
                {
                    // Marshal - Convert managed data to native data.
                    __document_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter>.ConvertToUnmanaged(document);
                    // Pin - Pin data in preparation for calling the P/Invoke.
                    fixed (void* __endColumns_native = &global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<int, int>.ManagedToUnmanagedIn.GetPinnableReference(endColumns))
                    fixed (void* __endLines_native = &global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<int, int>.ManagedToUnmanagedIn.GetPinnableReference(endLines))
                    fixed (void* __columns_native = &global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<int, int>.ManagedToUnmanagedIn.GetPinnableReference(columns))
                    fixed (void* __lines_native = &global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<int, int>.ManagedToUnmanagedIn.GetPinnableReference(lines))
                    fixed (void* __offsets_native = &global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<int, int>.ManagedToUnmanagedIn.GetPinnableReference(offsets))
                    {
                        __invokeRetVal = __target(__this, __document_native, count, (int*)__offsets_native, (int*)__lines_native, (int*)__columns_native, (int*)__endLines_native, (int*)__endColumns_native);
                    }
                    // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                    global::System.GC.KeepAlive(this);
                    // Unmarshal - Convert native data to managed data.
                    global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
                }
                finally
                {
                    // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                    global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter>.Free(__document_native);
                }
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_DefineSequencePoints(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void* __document_native, int count, int* __offsets_native, int* __lines_native, int* __columns_native, int* __endLines_native, int* __endColumns_native)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter document = default;
            int[] offsets = default;
            int[] lines = default;
            int[] columns = default;
            int[] endLines = default;
            int[] endColumns = default;
            int __retVal = default;
            // Setup - Perform required setup.
            int __endColumns_native__numElements;
            __endColumns_native__numElements = default;
            int __endLines_native__numElements;
            __endLines_native__numElements = default;
            int __columns_native__numElements;
            __columns_native__numElements = default;
            int __lines_native__numElements;
            __lines_native__numElements = default;
            int __offsets_native__numElements;
            __offsets_native__numElements = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                __endColumns_native__numElements = count;
                endColumns = global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<int, int>.AllocateContainerForManagedElements(__endColumns_native, __endColumns_native__numElements);
                global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<int, int>.GetUnmanagedValuesSource(__endColumns_native, __endColumns_native__numElements).CopyTo(global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<int, int>.GetManagedValuesDestination(endColumns));
                __endLines_native__numElements = count;
                endLines = global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<int, int>.AllocateContainerForManagedElements(__endLines_native, __endLines_native__numElements);
                global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<int, int>.GetUnmanagedValuesSource(__endLines_native, __endLines_native__numElements).CopyTo(global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<int, int>.GetManagedValuesDestination(endLines));
                __columns_native__numElements = count;
                columns = global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<int, int>.AllocateContainerForManagedElements(__columns_native, __columns_native__numElements);
                global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<int, int>.GetUnmanagedValuesSource(__columns_native, __columns_native__numElements).CopyTo(global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<int, int>.GetManagedValuesDestination(columns));
                __lines_native__numElements = count;
                lines = global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<int, int>.AllocateContainerForManagedElements(__lines_native, __lines_native__numElements);
                global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<int, int>.GetUnmanagedValuesSource(__lines_native, __lines_native__numElements).CopyTo(global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<int, int>.GetManagedValuesDestination(lines));
                __offsets_native__numElements = count;
                offsets = global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<int, int>.AllocateContainerForManagedElements(__offsets_native, __offsets_native__numElements);
                global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<int, int>.GetUnmanagedValuesSource(__offsets_native, __offsets_native__numElements).CopyTo(global::System.Runtime.InteropServices.Marshalling.ArrayMarshaller<int, int>.GetManagedValuesDestination(offsets));
                document = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter>.ConvertToManaged(__document_native);
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.DefineSequencePoints(document, count, offsets, lines, columns, endLines, endColumns);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.RemapToken(uint oldToken, uint newToken)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, uint, uint, int>)__vtable[23]);
            {
                int __invokeRetVal;
                {
                    __invokeRetVal = __target(__this, oldToken, newToken);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_RemapToken(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint oldToken, uint newToken)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.RemapToken(oldToken, newToken);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.Initialize2(object emitter, string tempfilename, object ptrIStream, bool fullBuild, string finalfilename)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void*, ushort*, void*, int, ushort*, int>)__vtable[24]);
            {
                void* __emitter_native = default;
                void* __ptrIStream_native = default;
                int __fullBuild_native = default;
                int __invokeRetVal = default;
                try
                {
                    // Marshal - Convert managed data to native data.
                    __fullBuild_native = (int)(fullBuild ? 1 : 0);
                    __ptrIStream_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<object>.ConvertToUnmanaged(ptrIStream);
                    __emitter_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<object>.ConvertToUnmanaged(emitter);
                    // Pin - Pin data in preparation for calling the P/Invoke.
                    fixed (void* __finalfilename_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(finalfilename))
                    fixed (void* __tempfilename_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(tempfilename))
                    {
                        __invokeRetVal = __target(__this, __emitter_native, (ushort*)__tempfilename_native, __ptrIStream_native, __fullBuild_native, (ushort*)__finalfilename_native);
                    }
                    // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                    global::System.GC.KeepAlive(this);
                    // Unmarshal - Convert native data to managed data.
                    global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
                }
                finally
                {
                    // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                    global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<object>.Free(__ptrIStream_native);
                    global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<object>.Free(__emitter_native);
                }
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_Initialize2(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void* __emitter_native, ushort* __tempfilename_native, void* __ptrIStream_native, int __fullBuild_native, ushort* __finalfilename_native)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            object emitter = default;
            string tempfilename = default;
            object ptrIStream = default;
            bool fullBuild = default;
            string finalfilename = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                finalfilename = global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.ConvertToManaged(__finalfilename_native);
                fullBuild = __fullBuild_native != 0;
                ptrIStream = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<object>.ConvertToManaged(__ptrIStream_native);
                tempfilename = global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.ConvertToManaged(__tempfilename_native);
                emitter = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<object>.ConvertToManaged(__emitter_native);
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.Initialize2(emitter, tempfilename, ptrIStream, fullBuild, finalfilename);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.DefineConstant(string name, object value, uint sig, byte* signature)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, ushort*, global::System.Runtime.InteropServices.Marshalling.ComVariant, uint, byte*, int>)__vtable[25]);
            {
                global::System.Runtime.InteropServices.Marshalling.ComVariant __value_native = default;
                int __invokeRetVal = default;
                try
                {
                    // Marshal - Convert managed data to native data.
                    __value_native = global::System.Runtime.InteropServices.Marshalling.ComVariantMarshaller.ConvertToUnmanaged(value);
                    // Pin - Pin data in preparation for calling the P/Invoke.
                    fixed (void* __name_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(name))
                    {
                        __invokeRetVal = __target(__this, (ushort*)__name_native, __value_native, sig, signature);
                    }
                    // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                    global::System.GC.KeepAlive(this);
                    // Unmarshal - Convert native data to managed data.
                    global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
                }
                finally
                {
                    // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                    global::System.Runtime.InteropServices.Marshalling.ComVariantMarshaller.Free(__value_native);
                }
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_DefineConstant(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ushort* __name_native, global::System.Runtime.InteropServices.Marshalling.ComVariant __value_native, uint sig, byte* signature)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            string name = default;
            object value = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                value = global::System.Runtime.InteropServices.Marshalling.ComVariantMarshaller.ConvertToManaged(__value_native);
                name = global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.ConvertToManaged(__name_native);
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.DefineConstant(name, value, sig, signature);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.Abort()
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int>)__vtable[26]);
            {
                int __invokeRetVal;
                {
                    __invokeRetVal = __target(__this);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_Abort(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.Abort();
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.DefineLocalVariable2(string name, int attributes, int localSignatureToken, uint addrKind, int index, uint addr2, uint addr3, uint startOffset, uint endOffset)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, ushort*, int, int, uint, int, uint, uint, uint, uint, int>)__vtable[27]);
            {
                int __invokeRetVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void* __name_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(name))
                {
                    __invokeRetVal = __target(__this, (ushort*)__name_native, attributes, localSignatureToken, addrKind, index, addr2, addr3, startOffset, endOffset);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_DefineLocalVariable2(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ushort* __name_native, int attributes, int localSignatureToken, uint addrKind, int index, uint addr2, uint addr3, uint startOffset, uint endOffset)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            string name = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                name = global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.ConvertToManaged(__name_native);
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.DefineLocalVariable2(name, attributes, localSignatureToken, addrKind, index, addr2, addr3, startOffset, endOffset);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.DefineGlobalVariable2(string name, int attributes, int sigToken, uint addrKind, uint addr1, uint addr2, uint addr3)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, ushort*, int, int, uint, uint, uint, uint, int>)__vtable[28]);
            {
                int __invokeRetVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void* __name_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(name))
                {
                    __invokeRetVal = __target(__this, (ushort*)__name_native, attributes, sigToken, addrKind, addr1, addr2, addr3);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_DefineGlobalVariable2(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ushort* __name_native, int attributes, int sigToken, uint addrKind, uint addr1, uint addr2, uint addr3)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            string name = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                name = global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.ConvertToManaged(__name_native);
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.DefineGlobalVariable2(name, attributes, sigToken, addrKind, addr1, addr2, addr3);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.DefineConstant2(string name, global::Microsoft.DiaSymReader.VariantStructure value, int constantSignatureToken)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, ushort*, global::Microsoft.DiaSymReader.VariantStructure, int, int>)__vtable[29]);
            {
                int __invokeRetVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void* __name_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(name))
                {
                    __invokeRetVal = __target(__this, (ushort*)__name_native, value, constantSignatureToken);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_DefineConstant2(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ushort* __name_native, global::Microsoft.DiaSymReader.VariantStructure value, int constantSignatureToken)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            string name = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                name = global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.ConvertToManaged(__name_native);
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.DefineConstant2(name, value, constantSignatureToken);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.OpenMethod2(uint methodToken, int sectionIndex, int offsetRelativeOffset)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, uint, int, int, int>)__vtable[30]);
            {
                int __invokeRetVal;
                {
                    __invokeRetVal = __target(__this, methodToken, sectionIndex, offsetRelativeOffset);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_OpenMethod2(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint methodToken, int sectionIndex, int offsetRelativeOffset)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.OpenMethod2(methodToken, sectionIndex, offsetRelativeOffset);
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.Commit()
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int>)__vtable[31]);
            {
                int __invokeRetVal;
                {
                    __invokeRetVal = __target(__this);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_Commit(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.Commit();
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.GetDebugInfoWithPadding(ref global::Microsoft.DiaSymReader.ImageDebugDirectory debugDirectory, uint dataCount, out uint dataCountPtr, byte* data)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, global::Microsoft.DiaSymReader.ImageDebugDirectory*, uint, uint*, byte*, int>)__vtable[32]);
            {
                dataCountPtr = default;
                int __invokeRetVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (uint* __dataCountPtr_native = &dataCountPtr)
                fixed (global::Microsoft.DiaSymReader.ImageDebugDirectory* __debugDirectory_native = &debugDirectory)
                {
                    __invokeRetVal = __target(__this, __debugDirectory_native, dataCount, __dataCountPtr_native, data);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetDebugInfoWithPadding(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, global::Microsoft.DiaSymReader.ImageDebugDirectory* __debugDirectory_native__param, uint dataCount, uint* __dataCountPtr_native__param, byte* data)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            ref global::Microsoft.DiaSymReader.ImageDebugDirectory __debugDirectory_native = ref *__debugDirectory_native__param;
            global::Microsoft.DiaSymReader.ImageDebugDirectory debugDirectory = default;
            ref uint __dataCountPtr_native = ref *__dataCountPtr_native__param;
            uint dataCountPtr = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                debugDirectory = __debugDirectory_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.GetDebugInfoWithPadding(ref debugDirectory, dataCount, out dataCountPtr, data);
                // Marshal - Convert managed data to native data.
                __dataCountPtr_native = dataCountPtr;
                __debugDirectory_native = debugDirectory;
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.OpenMapTokensToSourceSpans()
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int>)__vtable[33]);
            {
                int __invokeRetVal;
                {
                    __invokeRetVal = __target(__this);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_OpenMapTokensToSourceSpans(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.OpenMapTokensToSourceSpans();
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.CloseMapTokensToSourceSpans()
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int>)__vtable[34]);
            {
                int __invokeRetVal;
                {
                    __invokeRetVal = __target(__this);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_CloseMapTokensToSourceSpans(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.CloseMapTokensToSourceSpans();
            }
            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]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.MapTokenToSourceSpan(int token, global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter document, int startLine, int startColumn, int endLine, int endColumn)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.ISymUnmanagedWriter5));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, void*, int, int, int, int, int>)__vtable[35]);
            {
                void* __document_native = default;
                int __invokeRetVal = default;
                try
                {
                    // Marshal - Convert managed data to native data.
                    __document_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter>.ConvertToUnmanaged(document);
                    {
                        __invokeRetVal = __target(__this, token, __document_native, startLine, startColumn, endLine, endColumn);
                    }
                    // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                    global::System.GC.KeepAlive(this);
                    // Unmarshal - Convert native data to managed data.
                    global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (nint)__this);
                }
                finally
                {
                    // CleanupCallerAllocated - Perform cleanup of caller allocated resources.
                    global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter>.Free(__document_native);
                }
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_MapTokenToSourceSpan(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int token, void* __document_native, int startLine, int startColumn, int endLine, int endColumn)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
            global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter document = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                __retVal = 0; // S_OK
                document = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter>.ConvertToManaged(__document_native);
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
                @this.MapTokenToSourceSpan(token, document, startLine, startColumn, endLine, endColumn);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
}
 
namespace Microsoft.DiaSymReader
{
    [global::System.Runtime.InteropServices.Marshalling.IUnknownDerivedAttribute<InterfaceInformation, InterfaceImplementation>]
    internal unsafe partial interface ISymUnmanagedWriter5
    {
    }
}