File: _generated\37\Microsoft.DiaSymReader.ISymUnmanagedWriter5.cs
Web Access
Project: src\src\symreader\src\Microsoft.DiaSymReader\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 unsafe struct InterfaceImplementationVtable
{
    public delegate* unmanaged[MemberFunction]<void*, global::System.Guid*, void**, int> QueryInterface_0;
    public delegate* unmanaged[MemberFunction]<void*, uint> AddRef_1;
    public delegate* unmanaged[MemberFunction]<void*, uint> Release_2;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ushort*, global::System.Guid*, global::System.Guid*, global::System.Guid*, void**, int> DefineDocument_3;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int> SetUserEntryPoint_4;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, int> OpenMethod_5;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int> CloseMethod_6;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, uint*, int> OpenScope_7;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int> CloseScope_8;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, uint, uint, int> SetScopeRange_9;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ushort*, uint, uint, byte*, uint, uint, uint, uint, uint, int> DefineLocalVariable_10;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ushort*, uint, uint, uint, uint, uint, uint, int> DefineParameter_11;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, ushort*, uint, uint, byte*, uint, uint, uint, uint, int> DefineField_12;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ushort*, uint, uint, byte*, uint, uint, uint, uint, int> DefineGlobalVariable_13;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int> Close_14;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, ushort*, int, byte*, int> SetSymAttribute_15;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ushort*, int> OpenNamespace_16;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int> CloseNamespace_17;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ushort*, int> UsingNamespace_18;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void*, uint, uint, void*, uint, uint, int> SetMethodSourceRange_19;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void*, ushort*, void*, int, int> Initialize_20;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, global::Microsoft.DiaSymReader.ImageDebugDirectory*, uint, uint*, byte*, int> GetDebugInfo_21;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void*, int, int*, int*, int*, int*, int*, int> DefineSequencePoints_22;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, uint, int> RemapToken_23;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void*, ushort*, void*, int, ushort*, int> Initialize2_24;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ushort*, global::System.Runtime.InteropServices.Marshalling.ComVariant, uint, byte*, int> DefineConstant_25;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int> Abort_26;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ushort*, int, int, uint, int, uint, uint, uint, uint, int> DefineLocalVariable2_27;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ushort*, int, int, uint, uint, uint, uint, int> DefineGlobalVariable2_28;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ushort*, global::Microsoft.DiaSymReader.VariantStructure, int, int> DefineConstant2_29;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, uint, int, int, int> OpenMethod2_30;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int> Commit_31;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, global::Microsoft.DiaSymReader.ImageDebugDirectory*, uint, uint*, byte*, int> GetDebugInfoWithPadding_32;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int> OpenMapTokensToSourceSpans_33;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int> CloseMapTokensToSourceSpans_34;
    public delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, void*, int, int, int, int, int> MapTokenToSourceSpan_35;
}

file unsafe 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 void** ManagedVirtualMethodTable => (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()
    {
        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", "11.0.14.22804")]
    [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)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
                global::System.GC.KeepAlive(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 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)
    {
        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.
            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);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
            // 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", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.SetUserEntryPoint(int entryMethodToken)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_SetUserEntryPoint(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int entryMethodToken)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
            @this.SetUserEntryPoint(entryMethodToken);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.OpenMethod(uint methodToken)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_OpenMethod(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint methodToken)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
            @this.OpenMethod(methodToken);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.CloseMethod()
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_CloseMethod(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
            @this.CloseMethod();
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    uint global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.OpenScope(int startOffset)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
            return __retVal;
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_OpenScope(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int startOffset, uint* __invokeRetValUnmanaged__param)
    {
        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.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
            __invokeRetVal = @this.OpenScope(startOffset);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
            // 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", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.CloseScope(int endOffset)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_CloseScope(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int endOffset)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
            @this.CloseScope(endOffset);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.SetScopeRange(uint scopeID, uint startOffset, uint endOffset)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_SetScopeRange(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint scopeID, uint startOffset, uint endOffset)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
            @this.SetScopeRange(scopeID, startOffset, endOffset);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.DefineLocalVariable(string name, uint attributes, uint sig, byte* signature, uint addrKind, uint addr1, uint addr2, uint startOffset, uint endOffset)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static 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)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        string name = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            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);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.DefineParameter(string name, uint attributes, uint sequence, uint addrKind, uint addr1, uint addr2, uint addr3)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static 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)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        string name = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            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);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.DefineField(uint parent, string name, uint attributes, uint sig, byte* signature, uint addrKind, uint addr1, uint addr2, uint addr3)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static 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)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        string name = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            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);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.DefineGlobalVariable(string name, uint attributes, uint sig, byte* signature, uint addrKind, uint addr1, uint addr2, uint addr3)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static 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)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        string name = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            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);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.Close()
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_Close(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
            @this.Close();
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.SetSymAttribute(uint parent, string name, int length, byte* data)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_SetSymAttribute(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint parent, ushort* __name_native, int length, byte* data)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        string name = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            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);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.OpenNamespace(string name)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_OpenNamespace(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ushort* __name_native)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        string name = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            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);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.CloseNamespace()
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_CloseNamespace(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
            @this.CloseNamespace();
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.UsingNamespace(string fullName)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_UsingNamespace(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ushort* __fullName_native)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        string fullName = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            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);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.SetMethodSourceRange(global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter startDoc, uint startLine, uint startColumn, global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter endDoc, uint endLine, uint endColumn)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
                global::System.GC.KeepAlive(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 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)
    {
        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.
            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);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.Initialize(object emitter, string filename, object ptrIStream, bool fullBuild)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
                global::System.GC.KeepAlive(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 int ABI_Initialize(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void* __emitter_native, ushort* __filename_native, void* __ptrIStream_native, int __fullBuild_native)
    {
        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.
            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);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.GetDebugInfo(ref global::Microsoft.DiaSymReader.ImageDebugDirectory debugDirectory, uint dataCount, out uint dataCountPtr, byte* data)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static 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)
    {
        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.
            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);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
            // 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", "11.0.14.22804")]
    [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)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
                global::System.GC.KeepAlive(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 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)
    {
        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.
            __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);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.RemapToken(uint oldToken, uint newToken)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_RemapToken(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint oldToken, uint newToken)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
            @this.RemapToken(oldToken, newToken);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.Initialize2(object emitter, string tempfilename, object ptrIStream, bool fullBuild, string finalfilename)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
                global::System.GC.KeepAlive(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 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)
    {
        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.
            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);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.DefineConstant(string name, object value, uint sig, byte* signature)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
                global::System.GC.KeepAlive(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 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)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        string name = default;
        object value = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            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);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.Abort()
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_Abort(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
            @this.Abort();
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.DefineLocalVariable2(string name, int attributes, int localSignatureToken, uint addrKind, int index, uint addr2, uint addr3, uint startOffset, uint endOffset)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static 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)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        string name = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            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);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.DefineGlobalVariable2(string name, int attributes, int sigToken, uint addrKind, uint addr1, uint addr2, uint addr3)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static 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)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        string name = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            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);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.DefineConstant2(string name, global::Microsoft.DiaSymReader.VariantStructure value, int constantSignatureToken)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_DefineConstant2(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ushort* __name_native, global::Microsoft.DiaSymReader.VariantStructure value, int constantSignatureToken)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        string name = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            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);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.OpenMethod2(uint methodToken, int sectionIndex, int offsetRelativeOffset)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_OpenMethod2(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, uint methodToken, int sectionIndex, int offsetRelativeOffset)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
            @this.OpenMethod2(methodToken, sectionIndex, offsetRelativeOffset);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.Commit()
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_Commit(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
            @this.Commit();
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.GetDebugInfoWithPadding(ref global::Microsoft.DiaSymReader.ImageDebugDirectory debugDirectory, uint dataCount, out uint dataCountPtr, byte* data)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static 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)
    {
        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.
            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);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
            // 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", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.OpenMapTokensToSourceSpans()
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_OpenMapTokensToSourceSpans(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
            @this.OpenMapTokensToSourceSpans();
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.CloseMapTokensToSourceSpans()
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
            global::System.GC.KeepAlive(this);
        }
    }

    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static int ABI_CloseMapTokensToSourceSpans(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.ISymUnmanagedWriter5>(__this_native);
            @this.CloseMapTokensToSourceSpans();
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        catch (global::System.Exception __exception)
        {
            __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
        }
    
        return __retVal;
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "11.0.14.22804")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.ISymUnmanagedWriter5.MapTokenToSourceSpan(int token, global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter document, int startLine, int startColumn, int endLine, int endColumn)
    {
        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.Runtime.InteropServices.Marshal.ThrowExceptionForHR(__invokeRetVal, new([13, 120, 247, 220, 233, 189, 223, 69, 172, 254, 33, 115, 26, 50, 0, 12]), (global::System.IntPtr)__this);
                global::System.GC.KeepAlive(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 int ABI_MapTokenToSourceSpan(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int token, void* __document_native, int startLine, int startColumn, int endLine, int endColumn)
    {
        global::Microsoft.DiaSymReader.ISymUnmanagedWriter5 @this = default;
        global::Microsoft.DiaSymReader.ISymUnmanagedDocumentWriter document = default;
        int __retVal = default;
        try
        {
            // Unmarshal - Convert native data to managed data.
            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);
            // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
            __retVal = 0; // S_OK
        }
        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
    {
    }
}