File: Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\Microsoft.DiaSymReader.IMetadataImport.cs
Project: Microsoft.DiaSymReader.csproj (Microsoft.DiaSymReader)
// <auto-generated />
#pragma warning disable CS0612, CS0618, CS0649, CS1591
 
[global::System.Runtime.InteropServices.StructLayoutAttribute(global::System.Runtime.InteropServices.LayoutKind.Sequential)]
file struct InterfaceImplementationVtable
{
    public unsafe delegate* unmanaged[MemberFunction]<void*, global::System.Guid*, void**, int> QueryInterface_0;
    public unsafe delegate* unmanaged[MemberFunction]<void*, uint> AddRef_1;
    public unsafe delegate* unmanaged[MemberFunction]<void*, uint> Release_2;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void*, void> CloseEnum_3;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void*, int*, int> CountEnum_4;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void*, int, int> ResetEnum_5;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int*, int, int*, int> EnumTypeDefs_6;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int, int*, int, int*, int> EnumInterfaceImpls_7;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int*, int, int*, int> EnumTypeRefs_8;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, ushort*, int, int*, int> FindTypeDefByName_9;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, char*, int, int*, global::System.Guid*, int> GetScopeProps_10;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int*, int> GetModuleFromScope_11;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, char*, int, int*, global::System.Reflection.TypeAttributes*, int*, int> GetTypeDefProps_12;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int*, int*, int> GetInterfaceImplProps_13;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int*, char*, int, int*, int> GetTypeRefProps_14;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, global::System.Guid*, void**, int*, int> ResolveTypeRef_15;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int, int*, int, int*, int> EnumMembers_16;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int, ushort*, int*, int, int*, int> EnumMembersWithName_17;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int, int*, int, int*, int> EnumMethods_18;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int, ushort*, int*, int, int*, int> EnumMethodsWithName_19;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int, int*, int, int*, int> EnumFields_20;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int, ushort*, int*, int, int*, int> EnumFieldsWithName_21;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int, int*, int, int*, int> EnumParams_22;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int, int*, int, int*, int> EnumMemberRefs_23;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int, int*, int*, int, int*, int> EnumMethodImpls_24;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int, uint, int*, int, int*, int> EnumPermissionSets_25;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, ushort*, byte*, int, int*, int> FindMember_26;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, ushort*, byte*, int, int*, int> FindMethod_27;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, ushort*, byte*, int, int*, int> FindField_28;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, ushort*, byte*, int, int*, int> FindMemberRef_29;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int*, char*, int, int*, global::System.Reflection.MethodAttributes*, byte**, int*, int*, global::System.Reflection.MethodImplAttributes*, int> GetMethodProps_30;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int*, char*, int, int*, byte**, int*, int> GetMemberRefProps_31;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int, int*, int, int*, int> EnumProperties_32;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int, int*, int, int*, uint> EnumEvents_33;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int*, char*, int, int*, int*, int*, int*, int*, int*, int*, int, int*, int> GetEventProps_34;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int, int*, int, int*, int> EnumMethodSemantics_35;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int, int*, int> GetMethodSemantics_36;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int*, global::Microsoft.DiaSymReader.MetadataImportFieldOffset*, int, int*, int*, int> GetClassLayout_37;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, byte**, int*, int> GetFieldMarshal_38;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int*, int*, int> GetRVA_39;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, uint*, byte**, int*, int> GetPermissionSetProps_40;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, byte**, int*, int> GetSigFromToken_41;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, char*, int, int*, int> GetModuleRefProps_42;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int*, int, int*, int> EnumModuleRefs_43;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, byte**, int*, int> GetTypeSpecFromToken_44;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, byte*, int> GetNameFromToken_45;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int*, int, int*, int> EnumUnresolvedMethods_46;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, char*, int, int*, int> GetUserString_47;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int*, char*, int, int*, int*, int> GetPinvokeMap_48;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int*, int, int*, int> EnumSignatures_49;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int*, int, int*, int> EnumTypeSpecs_50;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int*, int, int*, int> EnumUserStrings_51;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int, int*, int> GetParamForMethodIndex_52;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, void**, int, int, int*, int, int*, int> EnumCustomAttributes_53;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int*, int*, byte**, int*, int> GetCustomAttributeProps_54;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, ushort*, int*, int> FindTypeRef_55;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int*, char*, int, int*, int*, byte**, int*, int*, int*, int*, byte**, int*, int> GetMemberProps_56;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int*, char*, int, int*, int*, byte**, int*, int*, byte**, int*, int> GetFieldProps_57;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int*, char*, int, int*, int*, byte**, int*, int*, byte**, int*, int*, int*, int*, int, int*, int> GetPropertyProps_58;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int*, int*, char*, int, int*, int*, int*, byte**, int*, int> GetParamProps_59;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, ushort*, byte**, int*, int> GetCustomAttributeByName_60;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int> IsValidToken_61;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int*, int> GetNestedClassProps_62;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, byte*, int, int*, int> GetNativeCallConvFromSig_63;
    public unsafe delegate* unmanaged[MemberFunction]<global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch*, int, int, int> IsGlobal_64;
}
 
file sealed class InterfaceInformation : global::System.Runtime.InteropServices.Marshalling.IIUnknownInterfaceType
{
    public static global::System.Guid Iid { get; } = new([7, 130, 172, 125, 174, 211, 117, 76, 155, 103, 146, 128, 26, 73, 125, 68]);
    public static unsafe void** ManagedVirtualMethodTable
    {
        get
        {
            unsafe
            {
                return (void**)global::System.Runtime.CompilerServices.Unsafe.AsPointer(in InterfaceImplementation.Vtable);
            }
        }
    }
}
 
[global::System.Runtime.InteropServices.DynamicInterfaceCastableImplementationAttribute]
file unsafe interface InterfaceImplementation : global::Microsoft.DiaSymReader.IMetadataImport
{
    [global::System.Runtime.CompilerServices.FixedAddressValueTypeAttribute]
    public static readonly InterfaceImplementationVtable Vtable;
 
    static InterfaceImplementation()
    {
        unsafe
        {
            global::System.Runtime.InteropServices.ComWrappers.GetIUnknownImpl(
                out *(nint*)&((InterfaceImplementationVtable*)global::System.Runtime.CompilerServices.Unsafe.AsPointer(ref Vtable))->QueryInterface_0,
                out *(nint*)&((InterfaceImplementationVtable*)global::System.Runtime.CompilerServices.Unsafe.AsPointer(ref Vtable))->AddRef_1,
                out *(nint*)&((InterfaceImplementationVtable*)global::System.Runtime.CompilerServices.Unsafe.AsPointer(ref Vtable))->Release_2);
 
            Vtable.CloseEnum_3 = &ABI_CloseEnum;
            Vtable.CountEnum_4 = &ABI_CountEnum;
            Vtable.ResetEnum_5 = &ABI_ResetEnum;
            Vtable.EnumTypeDefs_6 = &ABI_EnumTypeDefs;
            Vtable.EnumInterfaceImpls_7 = &ABI_EnumInterfaceImpls;
            Vtable.EnumTypeRefs_8 = &ABI_EnumTypeRefs;
            Vtable.FindTypeDefByName_9 = &ABI_FindTypeDefByName;
            Vtable.GetScopeProps_10 = &ABI_GetScopeProps;
            Vtable.GetModuleFromScope_11 = &ABI_GetModuleFromScope;
            Vtable.GetTypeDefProps_12 = &ABI_GetTypeDefProps;
            Vtable.GetInterfaceImplProps_13 = &ABI_GetInterfaceImplProps;
            Vtable.GetTypeRefProps_14 = &ABI_GetTypeRefProps;
            Vtable.ResolveTypeRef_15 = &ABI_ResolveTypeRef;
            Vtable.EnumMembers_16 = &ABI_EnumMembers;
            Vtable.EnumMembersWithName_17 = &ABI_EnumMembersWithName;
            Vtable.EnumMethods_18 = &ABI_EnumMethods;
            Vtable.EnumMethodsWithName_19 = &ABI_EnumMethodsWithName;
            Vtable.EnumFields_20 = &ABI_EnumFields;
            Vtable.EnumFieldsWithName_21 = &ABI_EnumFieldsWithName;
            Vtable.EnumParams_22 = &ABI_EnumParams;
            Vtable.EnumMemberRefs_23 = &ABI_EnumMemberRefs;
            Vtable.EnumMethodImpls_24 = &ABI_EnumMethodImpls;
            Vtable.EnumPermissionSets_25 = &ABI_EnumPermissionSets;
            Vtable.FindMember_26 = &ABI_FindMember;
            Vtable.FindMethod_27 = &ABI_FindMethod;
            Vtable.FindField_28 = &ABI_FindField;
            Vtable.FindMemberRef_29 = &ABI_FindMemberRef;
            Vtable.GetMethodProps_30 = &ABI_GetMethodProps;
            Vtable.GetMemberRefProps_31 = &ABI_GetMemberRefProps;
            Vtable.EnumProperties_32 = &ABI_EnumProperties;
            Vtable.EnumEvents_33 = &ABI_EnumEvents;
            Vtable.GetEventProps_34 = &ABI_GetEventProps;
            Vtable.EnumMethodSemantics_35 = &ABI_EnumMethodSemantics;
            Vtable.GetMethodSemantics_36 = &ABI_GetMethodSemantics;
            Vtable.GetClassLayout_37 = &ABI_GetClassLayout;
            Vtable.GetFieldMarshal_38 = &ABI_GetFieldMarshal;
            Vtable.GetRVA_39 = &ABI_GetRVA;
            Vtable.GetPermissionSetProps_40 = &ABI_GetPermissionSetProps;
            Vtable.GetSigFromToken_41 = &ABI_GetSigFromToken;
            Vtable.GetModuleRefProps_42 = &ABI_GetModuleRefProps;
            Vtable.EnumModuleRefs_43 = &ABI_EnumModuleRefs;
            Vtable.GetTypeSpecFromToken_44 = &ABI_GetTypeSpecFromToken;
            Vtable.GetNameFromToken_45 = &ABI_GetNameFromToken;
            Vtable.EnumUnresolvedMethods_46 = &ABI_EnumUnresolvedMethods;
            Vtable.GetUserString_47 = &ABI_GetUserString;
            Vtable.GetPinvokeMap_48 = &ABI_GetPinvokeMap;
            Vtable.EnumSignatures_49 = &ABI_EnumSignatures;
            Vtable.EnumTypeSpecs_50 = &ABI_EnumTypeSpecs;
            Vtable.EnumUserStrings_51 = &ABI_EnumUserStrings;
            Vtable.GetParamForMethodIndex_52 = &ABI_GetParamForMethodIndex;
            Vtable.EnumCustomAttributes_53 = &ABI_EnumCustomAttributes;
            Vtable.GetCustomAttributeProps_54 = &ABI_GetCustomAttributeProps;
            Vtable.FindTypeRef_55 = &ABI_FindTypeRef;
            Vtable.GetMemberProps_56 = &ABI_GetMemberProps;
            Vtable.GetFieldProps_57 = &ABI_GetFieldProps;
            Vtable.GetPropertyProps_58 = &ABI_GetPropertyProps;
            Vtable.GetParamProps_59 = &ABI_GetParamProps;
            Vtable.GetCustomAttributeByName_60 = &ABI_GetCustomAttributeByName;
            Vtable.IsValidToken_61 = &ABI_IsValidToken;
            Vtable.GetNestedClassProps_62 = &ABI_GetNestedClassProps;
            Vtable.GetNativeCallConvFromSig_63 = &ABI_GetNativeCallConvFromSig;
            Vtable.IsGlobal_64 = &ABI_IsGlobal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    void global::Microsoft.DiaSymReader.IMetadataImport.CloseEnum(void* enumHandle)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void*, void>)__vtable[3]);
            {
                {
                    __target(__this, enumHandle);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe void ABI_CloseEnum(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void* enumHandle)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                @this.CloseEnum(enumHandle);
            }
            catch (global::System.Exception __exception)
            {
                global::System.Runtime.InteropServices.Marshalling.ExceptionAsVoidMarshaller.ConvertToUnmanaged(__exception);
            }
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.CountEnum(void* enumHandle, out int count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void*, int*, int>)__vtable[4]);
            {
                count = default;
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (int* __count_native = &count)
                {
                    __retVal = __target(__this, enumHandle, __count_native);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_CountEnum(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void* enumHandle, int* __count_native__param)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref int __count_native = ref *__count_native__param;
            int count = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.CountEnum(enumHandle, out count);
                // Marshal - Convert managed data to native data.
                __count_native = count;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.ResetEnum(void* enumHandle, int position)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void*, int, int>)__vtable[5]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, enumHandle, position);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_ResetEnum(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void* enumHandle, int position)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.ResetEnum(enumHandle, position);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumTypeDefs(ref void* enumHandle, int* typeDefs, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int*, int, int*, int>)__vtable[6]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, typeDefs, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumTypeDefs(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int* typeDefs, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumTypeDefs(ref enumHandle, typeDefs, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumInterfaceImpls(ref void* enumHandle, int typeDef, int* interfaceImpls, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int, int*, int, int*, int>)__vtable[7]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, typeDef, interfaceImpls, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumInterfaceImpls(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int typeDef, int* interfaceImpls, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumInterfaceImpls(ref enumHandle, typeDef, interfaceImpls, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumTypeRefs(ref void* enumHandle, int* typeRefs, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int*, int, int*, int>)__vtable[8]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, typeRefs, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumTypeRefs(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int* typeRefs, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumTypeRefs(ref enumHandle, typeRefs, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.FindTypeDefByName(string name, int enclosingClass, out int typeDef)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, ushort*, int, int*, int>)__vtable[9]);
            {
                typeDef = default;
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (int* __typeDef_native = &typeDef)
                fixed (void* __name_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(name))
                {
                    __retVal = __target(__this, (ushort*)__name_native, enclosingClass, __typeDef_native);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_FindTypeDefByName(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, ushort* __name_native, int enclosingClass, int* __typeDef_native__param)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            string name = default;
            ref int __typeDef_native = ref *__typeDef_native__param;
            int typeDef = 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.IMetadataImport>(__this_native);
                __retVal = @this.FindTypeDefByName(name, enclosingClass, out typeDef);
                // Marshal - Convert managed data to native data.
                __typeDef_native = typeDef;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetScopeProps(char* name, int bufferLength, int* nameLength, global::System.Guid* mvid)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, char*, int, int*, global::System.Guid*, int>)__vtable[10]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, name, bufferLength, nameLength, mvid);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetScopeProps(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, char* name, int bufferLength, int* nameLength, global::System.Guid* mvid)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetScopeProps(name, bufferLength, nameLength, mvid);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetModuleFromScope(out int moduleDef)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int*, int>)__vtable[11]);
            {
                moduleDef = default;
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (int* __moduleDef_native = &moduleDef)
                {
                    __retVal = __target(__this, __moduleDef_native);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetModuleFromScope(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int* __moduleDef_native__param)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref int __moduleDef_native = ref *__moduleDef_native__param;
            int moduleDef = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetModuleFromScope(out moduleDef);
                // Marshal - Convert managed data to native data.
                __moduleDef_native = moduleDef;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetTypeDefProps(int typeDef, char* qualifiedName, int qualifiedNameBufferLength, int* qualifiedNameLength, global::System.Reflection.TypeAttributes* attributes, int* baseType)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, char*, int, int*, global::System.Reflection.TypeAttributes*, int*, int>)__vtable[12]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, typeDef, qualifiedName, qualifiedNameBufferLength, qualifiedNameLength, attributes, baseType);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetTypeDefProps(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int typeDef, char* qualifiedName, int qualifiedNameBufferLength, int* qualifiedNameLength, global::System.Reflection.TypeAttributes* attributes, int* baseType)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetTypeDefProps(typeDef, qualifiedName, qualifiedNameBufferLength, qualifiedNameLength, attributes, baseType);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetInterfaceImplProps(int interfaceImpl, int* typeDef, int* interfaceDefRefSpec)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, int*, int*, int>)__vtable[13]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, interfaceImpl, typeDef, interfaceDefRefSpec);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetInterfaceImplProps(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int interfaceImpl, int* typeDef, int* interfaceDefRefSpec)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetInterfaceImplProps(interfaceImpl, typeDef, interfaceDefRefSpec);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetTypeRefProps(int typeRef, int* resolutionScope, char* qualifiedName, int qualifiedNameBufferLength, int* qualifiedNameLength)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, int*, char*, int, int*, int>)__vtable[14]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, typeRef, resolutionScope, qualifiedName, qualifiedNameBufferLength, qualifiedNameLength);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetTypeRefProps(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int typeRef, int* resolutionScope, char* qualifiedName, int qualifiedNameBufferLength, int* qualifiedNameLength)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetTypeRefProps(typeRef, resolutionScope, qualifiedName, qualifiedNameBufferLength, qualifiedNameLength);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.ResolveTypeRef(int typeRef, ref global::System.Guid scopeInterfaceId, out object scope, out int typeDef)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, global::System.Guid*, void**, int*, int>)__vtable[15]);
            {
                bool __invokeSucceeded = default;
                scope = default;
                typeDef = default;
                void* __scope_native = default;
                int __retVal = default;
                try
                {
                    // Pin - Pin data in preparation for calling the P/Invoke.
                    fixed (int* __typeDef_native = &typeDef)
                    fixed (global::System.Guid* __scopeInterfaceId_native = &scopeInterfaceId)
                    {
                        __retVal = __target(__this, typeRef, __scopeInterfaceId_native, &__scope_native, __typeDef_native);
                    }
                    // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                    global::System.GC.KeepAlive(this);
                    __invokeSucceeded = true;
                    // Unmarshal - Convert native data to managed data.
                    scope = global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<object>.ConvertToManaged(__scope_native);
                }
                finally
                {
                    if (__invokeSucceeded)
                    {
                        // CleanupCalleeAllocated - Perform cleanup of callee allocated resources.
                        global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<object>.Free(__scope_native);
                    }
                }
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_ResolveTypeRef(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int typeRef, global::System.Guid* __scopeInterfaceId_native__param, void** __scope_native__param, int* __typeDef_native__param)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref global::System.Guid __scopeInterfaceId_native = ref *__scopeInterfaceId_native__param;
            global::System.Guid scopeInterfaceId = default;
            ref void* __scope_native = ref *__scope_native__param;
            object scope = default;
            ref int __typeDef_native = ref *__typeDef_native__param;
            int typeDef = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                scopeInterfaceId = __scopeInterfaceId_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.ResolveTypeRef(typeRef, ref scopeInterfaceId, out scope, out typeDef);
                // Marshal - Convert managed data to native data.
                __typeDef_native = typeDef;
                __scope_native = (void*)global::System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller<object>.ConvertToUnmanaged(scope);
                __scopeInterfaceId_native = scopeInterfaceId;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumMembers(ref void* enumHandle, int typeDef, int* memberDefs, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int, int*, int, int*, int>)__vtable[16]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, typeDef, memberDefs, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumMembers(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int typeDef, int* memberDefs, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumMembers(ref enumHandle, typeDef, memberDefs, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumMembersWithName(ref void* enumHandle, int typeDef, string name, int* memberDefs, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int, ushort*, int*, int, int*, int>)__vtable[17]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void* __name_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(name))
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, typeDef, (ushort*)__name_native, memberDefs, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumMembersWithName(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int typeDef, ushort* __name_native, int* memberDefs, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = 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);
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumMembersWithName(ref enumHandle, typeDef, name, memberDefs, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumMethods(ref void* enumHandle, int typeDef, int* methodDefs, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int, int*, int, int*, int>)__vtable[18]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, typeDef, methodDefs, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumMethods(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int typeDef, int* methodDefs, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumMethods(ref enumHandle, typeDef, methodDefs, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumMethodsWithName(ref void* enumHandle, int typeDef, string name, int* methodDefs, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int, ushort*, int*, int, int*, int>)__vtable[19]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void* __name_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(name))
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, typeDef, (ushort*)__name_native, methodDefs, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumMethodsWithName(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int typeDef, ushort* __name_native, int* methodDefs, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = 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);
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumMethodsWithName(ref enumHandle, typeDef, name, methodDefs, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumFields(ref void* enumHandle, int typeDef, int* fieldDefs, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int, int*, int, int*, int>)__vtable[20]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, typeDef, fieldDefs, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumFields(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int typeDef, int* fieldDefs, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumFields(ref enumHandle, typeDef, fieldDefs, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumFieldsWithName(ref void* enumHandle, int typeDef, string name, int* fieldDefs, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int, ushort*, int*, int, int*, int>)__vtable[21]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void* __name_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(name))
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, typeDef, (ushort*)__name_native, fieldDefs, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumFieldsWithName(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int typeDef, ushort* __name_native, int* fieldDefs, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = 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);
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumFieldsWithName(ref enumHandle, typeDef, name, fieldDefs, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumParams(ref void* enumHandle, int methodDef, int* paramDefs, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int, int*, int, int*, int>)__vtable[22]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, methodDef, paramDefs, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumParams(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int methodDef, int* paramDefs, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumParams(ref enumHandle, methodDef, paramDefs, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumMemberRefs(ref void* enumHandle, int parentToken, int* memberRefs, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int, int*, int, int*, int>)__vtable[23]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, parentToken, memberRefs, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumMemberRefs(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int parentToken, int* memberRefs, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumMemberRefs(ref enumHandle, parentToken, memberRefs, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumMethodImpls(ref void* enumHandle, int typeDef, int* implementationTokens, int* declarationTokens, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int, int*, int*, int, int*, int>)__vtable[24]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, typeDef, implementationTokens, declarationTokens, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumMethodImpls(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int typeDef, int* implementationTokens, int* declarationTokens, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumMethodImpls(ref enumHandle, typeDef, implementationTokens, declarationTokens, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumPermissionSets(ref void* enumHandle, int token, uint action, int* declSecurityTokens, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int, uint, int*, int, int*, int>)__vtable[25]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, token, action, declSecurityTokens, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumPermissionSets(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int token, uint action, int* declSecurityTokens, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumPermissionSets(ref enumHandle, token, action, declSecurityTokens, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.FindMember(int typeDef, string name, byte* signature, int signatureLength, out int memberDef)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, ushort*, byte*, int, int*, int>)__vtable[26]);
            {
                memberDef = default;
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (int* __memberDef_native = &memberDef)
                fixed (void* __name_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(name))
                {
                    __retVal = __target(__this, typeDef, (ushort*)__name_native, signature, signatureLength, __memberDef_native);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_FindMember(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int typeDef, ushort* __name_native, byte* signature, int signatureLength, int* __memberDef_native__param)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            string name = default;
            ref int __memberDef_native = ref *__memberDef_native__param;
            int memberDef = 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.IMetadataImport>(__this_native);
                __retVal = @this.FindMember(typeDef, name, signature, signatureLength, out memberDef);
                // Marshal - Convert managed data to native data.
                __memberDef_native = memberDef;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.FindMethod(int typeDef, string name, byte* signature, int signatureLength, out int methodDef)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, ushort*, byte*, int, int*, int>)__vtable[27]);
            {
                methodDef = default;
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (int* __methodDef_native = &methodDef)
                fixed (void* __name_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(name))
                {
                    __retVal = __target(__this, typeDef, (ushort*)__name_native, signature, signatureLength, __methodDef_native);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_FindMethod(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int typeDef, ushort* __name_native, byte* signature, int signatureLength, int* __methodDef_native__param)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            string name = default;
            ref int __methodDef_native = ref *__methodDef_native__param;
            int methodDef = 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.IMetadataImport>(__this_native);
                __retVal = @this.FindMethod(typeDef, name, signature, signatureLength, out methodDef);
                // Marshal - Convert managed data to native data.
                __methodDef_native = methodDef;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.FindField(int typeDef, string name, byte* signature, int signatureLength, out int fieldDef)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, ushort*, byte*, int, int*, int>)__vtable[28]);
            {
                fieldDef = default;
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (int* __fieldDef_native = &fieldDef)
                fixed (void* __name_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(name))
                {
                    __retVal = __target(__this, typeDef, (ushort*)__name_native, signature, signatureLength, __fieldDef_native);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_FindField(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int typeDef, ushort* __name_native, byte* signature, int signatureLength, int* __fieldDef_native__param)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            string name = default;
            ref int __fieldDef_native = ref *__fieldDef_native__param;
            int fieldDef = 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.IMetadataImport>(__this_native);
                __retVal = @this.FindField(typeDef, name, signature, signatureLength, out fieldDef);
                // Marshal - Convert managed data to native data.
                __fieldDef_native = fieldDef;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.FindMemberRef(int typeDef, string name, byte* signature, int signatureLength, out int memberRef)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, ushort*, byte*, int, int*, int>)__vtable[29]);
            {
                memberRef = default;
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (int* __memberRef_native = &memberRef)
                fixed (void* __name_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(name))
                {
                    __retVal = __target(__this, typeDef, (ushort*)__name_native, signature, signatureLength, __memberRef_native);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_FindMemberRef(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int typeDef, ushort* __name_native, byte* signature, int signatureLength, int* __memberRef_native__param)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            string name = default;
            ref int __memberRef_native = ref *__memberRef_native__param;
            int memberRef = 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.IMetadataImport>(__this_native);
                __retVal = @this.FindMemberRef(typeDef, name, signature, signatureLength, out memberRef);
                // Marshal - Convert managed data to native data.
                __memberRef_native = memberRef;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetMethodProps(int methodDef, int* declaringTypeDef, char* name, int nameBufferLength, int* nameLength, global::System.Reflection.MethodAttributes* attributes, byte** signature, int* signatureLength, int* relativeVirtualAddress, global::System.Reflection.MethodImplAttributes* implAttributes)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, int*, char*, int, int*, global::System.Reflection.MethodAttributes*, byte**, int*, int*, global::System.Reflection.MethodImplAttributes*, int>)__vtable[30]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, methodDef, declaringTypeDef, name, nameBufferLength, nameLength, attributes, signature, signatureLength, relativeVirtualAddress, implAttributes);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetMethodProps(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int methodDef, int* declaringTypeDef, char* name, int nameBufferLength, int* nameLength, global::System.Reflection.MethodAttributes* attributes, byte** signature, int* signatureLength, int* relativeVirtualAddress, global::System.Reflection.MethodImplAttributes* implAttributes)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetMethodProps(methodDef, declaringTypeDef, name, nameBufferLength, nameLength, attributes, signature, signatureLength, relativeVirtualAddress, implAttributes);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetMemberRefProps(int memberRef, int* declaringType, char* name, int nameBufferLength, int* nameLength, byte** signature, int* signatureLength)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, int*, char*, int, int*, byte**, int*, int>)__vtable[31]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, memberRef, declaringType, name, nameBufferLength, nameLength, signature, signatureLength);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetMemberRefProps(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int memberRef, int* declaringType, char* name, int nameBufferLength, int* nameLength, byte** signature, int* signatureLength)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetMemberRefProps(memberRef, declaringType, name, nameBufferLength, nameLength, signature, signatureLength);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumProperties(ref void* enumHandle, int typeDef, int* properties, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int, int*, int, int*, int>)__vtable[32]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, typeDef, properties, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumProperties(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int typeDef, int* properties, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumProperties(ref enumHandle, typeDef, properties, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    uint global::Microsoft.DiaSymReader.IMetadataImport.EnumEvents(ref void* enumHandle, int typeDef, int* events, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int, int*, int, int*, uint>)__vtable[33]);
            {
                uint __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, typeDef, events, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe uint ABI_EnumEvents(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int typeDef, int* events, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = default;
            uint __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumEvents(ref enumHandle, typeDef, events, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<uint>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetEventProps(int @event, int* declaringTypeDef, char* name, int nameBufferLength, int* nameLength, int* attributes, int* eventType, int* adderMethodDef, int* removerMethodDef, int* raiserMethodDef, int* otherMethodDefs, int otherMethodDefBufferLength, int* methodMethodDefsLength)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, int*, char*, int, int*, int*, int*, int*, int*, int*, int*, int, int*, int>)__vtable[34]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, @event, declaringTypeDef, name, nameBufferLength, nameLength, attributes, eventType, adderMethodDef, removerMethodDef, raiserMethodDef, otherMethodDefs, otherMethodDefBufferLength, methodMethodDefsLength);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetEventProps(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int @event, int* declaringTypeDef, char* name, int nameBufferLength, int* nameLength, int* attributes, int* eventType, int* adderMethodDef, int* removerMethodDef, int* raiserMethodDef, int* otherMethodDefs, int otherMethodDefBufferLength, int* methodMethodDefsLength)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetEventProps(@event, declaringTypeDef, name, nameBufferLength, nameLength, attributes, eventType, adderMethodDef, removerMethodDef, raiserMethodDef, otherMethodDefs, otherMethodDefBufferLength, methodMethodDefsLength);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumMethodSemantics(ref void* enumHandle, int methodDef, int* eventsAndProperties, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int, int*, int, int*, int>)__vtable[35]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, methodDef, eventsAndProperties, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumMethodSemantics(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int methodDef, int* eventsAndProperties, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumMethodSemantics(ref enumHandle, methodDef, eventsAndProperties, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetMethodSemantics(int methodDef, int eventOrProperty, int* semantics)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, int, int*, int>)__vtable[36]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, methodDef, eventOrProperty, semantics);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetMethodSemantics(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int methodDef, int eventOrProperty, int* semantics)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetMethodSemantics(methodDef, eventOrProperty, semantics);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetClassLayout(int typeDef, int* packSize, global::Microsoft.DiaSymReader.MetadataImportFieldOffset* fieldOffsets, int bufferLength, int* count, int* typeSize)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, int*, global::Microsoft.DiaSymReader.MetadataImportFieldOffset*, int, int*, int*, int>)__vtable[37]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, typeDef, packSize, fieldOffsets, bufferLength, count, typeSize);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetClassLayout(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int typeDef, int* packSize, global::Microsoft.DiaSymReader.MetadataImportFieldOffset* fieldOffsets, int bufferLength, int* count, int* typeSize)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetClassLayout(typeDef, packSize, fieldOffsets, bufferLength, count, typeSize);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetFieldMarshal(int fieldDef, byte** nativeTypeSignature, int* nativeTypeSignatureLength)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, byte**, int*, int>)__vtable[38]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, fieldDef, nativeTypeSignature, nativeTypeSignatureLength);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetFieldMarshal(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int fieldDef, byte** nativeTypeSignature, int* nativeTypeSignatureLength)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetFieldMarshal(fieldDef, nativeTypeSignature, nativeTypeSignatureLength);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetRVA(int methodDef, int* relativeVirtualAddress, int* implAttributes)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, int*, int*, int>)__vtable[39]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, methodDef, relativeVirtualAddress, implAttributes);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetRVA(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int methodDef, int* relativeVirtualAddress, int* implAttributes)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetRVA(methodDef, relativeVirtualAddress, implAttributes);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetPermissionSetProps(int declSecurity, uint* action, byte** permissionBlob, int* permissionBlobLength)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, uint*, byte**, int*, int>)__vtable[40]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, declSecurity, action, permissionBlob, permissionBlobLength);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetPermissionSetProps(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int declSecurity, uint* action, byte** permissionBlob, int* permissionBlobLength)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetPermissionSetProps(declSecurity, action, permissionBlob, permissionBlobLength);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetSigFromToken(int standaloneSignature, byte** signature, int* signatureLength)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, byte**, int*, int>)__vtable[41]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, standaloneSignature, signature, signatureLength);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetSigFromToken(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int standaloneSignature, byte** signature, int* signatureLength)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetSigFromToken(standaloneSignature, signature, signatureLength);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetModuleRefProps(int moduleRef, char* name, int nameBufferLength, int* nameLength)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, char*, int, int*, int>)__vtable[42]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, moduleRef, name, nameBufferLength, nameLength);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetModuleRefProps(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int moduleRef, char* name, int nameBufferLength, int* nameLength)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetModuleRefProps(moduleRef, name, nameBufferLength, nameLength);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumModuleRefs(ref void* enumHandle, int* moduleRefs, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int*, int, int*, int>)__vtable[43]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, moduleRefs, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumModuleRefs(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int* moduleRefs, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumModuleRefs(ref enumHandle, moduleRefs, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetTypeSpecFromToken(int typeSpec, byte** signature, int* signatureLength)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, byte**, int*, int>)__vtable[44]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, typeSpec, signature, signatureLength);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetTypeSpecFromToken(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int typeSpec, byte** signature, int* signatureLength)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetTypeSpecFromToken(typeSpec, signature, signatureLength);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetNameFromToken(int token, byte* nameUTF8)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, byte*, int>)__vtable[45]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, token, nameUTF8);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetNameFromToken(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int token, byte* nameUTF8)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetNameFromToken(token, nameUTF8);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumUnresolvedMethods(ref void* enumHandle, int* methodDefs, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int*, int, int*, int>)__vtable[46]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, methodDefs, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumUnresolvedMethods(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int* methodDefs, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumUnresolvedMethods(ref enumHandle, methodDefs, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetUserString(int userStringToken, char* buffer, int bufferLength, int* length)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, char*, int, int*, int>)__vtable[47]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, userStringToken, buffer, bufferLength, length);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetUserString(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int userStringToken, char* buffer, int bufferLength, int* length)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetUserString(userStringToken, buffer, bufferLength, length);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetPinvokeMap(int memberDef, int* attributes, char* importName, int importNameBufferLength, int* importNameLength, int* moduleRef)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, int*, char*, int, int*, int*, int>)__vtable[48]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, memberDef, attributes, importName, importNameBufferLength, importNameLength, moduleRef);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetPinvokeMap(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int memberDef, int* attributes, char* importName, int importNameBufferLength, int* importNameLength, int* moduleRef)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetPinvokeMap(memberDef, attributes, importName, importNameBufferLength, importNameLength, moduleRef);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumSignatures(ref void* enumHandle, int* signatureTokens, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int*, int, int*, int>)__vtable[49]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, signatureTokens, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumSignatures(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int* signatureTokens, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumSignatures(ref enumHandle, signatureTokens, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumTypeSpecs(ref void* enumHandle, int* typeSpecs, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int*, int, int*, int>)__vtable[50]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, typeSpecs, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumTypeSpecs(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int* typeSpecs, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumTypeSpecs(ref enumHandle, typeSpecs, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumUserStrings(ref void* enumHandle, int* userStrings, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int*, int, int*, int>)__vtable[51]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, userStrings, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumUserStrings(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int* userStrings, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumUserStrings(ref enumHandle, userStrings, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetParamForMethodIndex(int methodDef, int sequenceNumber, out int parameterToken)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, int, int*, int>)__vtable[52]);
            {
                parameterToken = default;
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (int* __parameterToken_native = &parameterToken)
                {
                    __retVal = __target(__this, methodDef, sequenceNumber, __parameterToken_native);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetParamForMethodIndex(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int methodDef, int sequenceNumber, int* __parameterToken_native__param)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref int __parameterToken_native = ref *__parameterToken_native__param;
            int parameterToken = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetParamForMethodIndex(methodDef, sequenceNumber, out parameterToken);
                // Marshal - Convert managed data to native data.
                __parameterToken_native = parameterToken;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.EnumCustomAttributes(ref void* enumHandle, int parent, int attributeType, int* customAttributes, int bufferLength, int* count)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, void**, int, int, int*, int, int*, int>)__vtable[53]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void** __enumHandle_native = &enumHandle)
                {
                    __retVal = __target(__this, __enumHandle_native, parent, attributeType, customAttributes, bufferLength, count);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_EnumCustomAttributes(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, void** __enumHandle_native__param, int parent, int attributeType, int* customAttributes, int bufferLength, int* count)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref void* __enumHandle_native = ref *__enumHandle_native__param;
            void* enumHandle = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                enumHandle = __enumHandle_native;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.EnumCustomAttributes(ref enumHandle, parent, attributeType, customAttributes, bufferLength, count);
                // Marshal - Convert managed data to native data.
                __enumHandle_native = enumHandle;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetCustomAttributeProps(int customAttribute, int* parent, int* constructor, byte** value, int* valueLength)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, int*, int*, byte**, int*, int>)__vtable[54]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, customAttribute, parent, constructor, value, valueLength);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetCustomAttributeProps(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int customAttribute, int* parent, int* constructor, byte** value, int* valueLength)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetCustomAttributeProps(customAttribute, parent, constructor, value, valueLength);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.FindTypeRef(int resolutionScope, string name, out int typeRef)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, ushort*, int*, int>)__vtable[55]);
            {
                typeRef = default;
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (int* __typeRef_native = &typeRef)
                fixed (void* __name_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(name))
                {
                    __retVal = __target(__this, resolutionScope, (ushort*)__name_native, __typeRef_native);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_FindTypeRef(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int resolutionScope, ushort* __name_native, int* __typeRef_native__param)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            string name = default;
            ref int __typeRef_native = ref *__typeRef_native__param;
            int typeRef = 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.IMetadataImport>(__this_native);
                __retVal = @this.FindTypeRef(resolutionScope, name, out typeRef);
                // Marshal - Convert managed data to native data.
                __typeRef_native = typeRef;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetMemberProps(int member, int* declaringTypeDef, char* name, int nameBufferLength, int* nameLength, int* attributes, byte** signature, int* signatureLength, int* relativeVirtualAddress, int* implAttributes, int* constantType, byte** constantValue, int* constantValueLength)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, int*, char*, int, int*, int*, byte**, int*, int*, int*, int*, byte**, int*, int>)__vtable[56]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, member, declaringTypeDef, name, nameBufferLength, nameLength, attributes, signature, signatureLength, relativeVirtualAddress, implAttributes, constantType, constantValue, constantValueLength);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetMemberProps(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int member, int* declaringTypeDef, char* name, int nameBufferLength, int* nameLength, int* attributes, byte** signature, int* signatureLength, int* relativeVirtualAddress, int* implAttributes, int* constantType, byte** constantValue, int* constantValueLength)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetMemberProps(member, declaringTypeDef, name, nameBufferLength, nameLength, attributes, signature, signatureLength, relativeVirtualAddress, implAttributes, constantType, constantValue, constantValueLength);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetFieldProps(int fieldDef, int* declaringTypeDef, char* name, int nameBufferLength, int* nameLength, int* attributes, byte** signature, int* signatureLength, int* constantType, byte** constantValue, int* constantValueLength)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, int*, char*, int, int*, int*, byte**, int*, int*, byte**, int*, int>)__vtable[57]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, fieldDef, declaringTypeDef, name, nameBufferLength, nameLength, attributes, signature, signatureLength, constantType, constantValue, constantValueLength);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetFieldProps(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int fieldDef, int* declaringTypeDef, char* name, int nameBufferLength, int* nameLength, int* attributes, byte** signature, int* signatureLength, int* constantType, byte** constantValue, int* constantValueLength)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetFieldProps(fieldDef, declaringTypeDef, name, nameBufferLength, nameLength, attributes, signature, signatureLength, constantType, constantValue, constantValueLength);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetPropertyProps(int propertyDef, int* declaringTypeDef, char* name, int nameBufferLength, int* nameLength, int* attributes, byte** signature, int* signatureLength, int* constantType, byte** constantValue, int* constantValueLength, int* setterMethodDef, int* getterMethodDef, int* outerMethodDefs, int outerMethodDefsBufferLength, int* otherMethodDefCount)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, int*, char*, int, int*, int*, byte**, int*, int*, byte**, int*, int*, int*, int*, int, int*, int>)__vtable[58]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, propertyDef, declaringTypeDef, name, nameBufferLength, nameLength, attributes, signature, signatureLength, constantType, constantValue, constantValueLength, setterMethodDef, getterMethodDef, outerMethodDefs, outerMethodDefsBufferLength, otherMethodDefCount);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetPropertyProps(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int propertyDef, int* declaringTypeDef, char* name, int nameBufferLength, int* nameLength, int* attributes, byte** signature, int* signatureLength, int* constantType, byte** constantValue, int* constantValueLength, int* setterMethodDef, int* getterMethodDef, int* outerMethodDefs, int outerMethodDefsBufferLength, int* otherMethodDefCount)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetPropertyProps(propertyDef, declaringTypeDef, name, nameBufferLength, nameLength, attributes, signature, signatureLength, constantType, constantValue, constantValueLength, setterMethodDef, getterMethodDef, outerMethodDefs, outerMethodDefsBufferLength, otherMethodDefCount);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetParamProps(int parameter, int* declaringMethodDef, int* sequenceNumber, char* name, int nameBufferLength, int* nameLength, int* attributes, int* constantType, byte** constantValue, int* constantValueLength)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, int*, int*, char*, int, int*, int*, int*, byte**, int*, int>)__vtable[59]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, parameter, declaringMethodDef, sequenceNumber, name, nameBufferLength, nameLength, attributes, constantType, constantValue, constantValueLength);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetParamProps(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int parameter, int* declaringMethodDef, int* sequenceNumber, char* name, int nameBufferLength, int* nameLength, int* attributes, int* constantType, byte** constantValue, int* constantValueLength)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetParamProps(parameter, declaringMethodDef, sequenceNumber, name, nameBufferLength, nameLength, attributes, constantType, constantValue, constantValueLength);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetCustomAttributeByName(int parent, string name, byte** value, int* valueLength)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, ushort*, byte**, int*, int>)__vtable[60]);
            {
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (void* __name_native = &global::System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller.GetPinnableReference(name))
                {
                    __retVal = __target(__this, parent, (ushort*)__name_native, value, valueLength);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetCustomAttributeByName(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int parent, ushort* __name_native, byte** value, int* valueLength)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @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.IMetadataImport>(__this_native);
                __retVal = @this.GetCustomAttributeByName(parent, name, value, valueLength);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    bool global::Microsoft.DiaSymReader.IMetadataImport.IsValidToken(int token)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, int>)__vtable[61]);
            {
                bool __retVal;
                int __retVal_native;
                {
                    __retVal_native = __target(__this, token);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                // Unmarshal - Convert native data to managed data.
                __retVal = __retVal_native != 0;
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_IsValidToken(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int token)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            bool __retVal = default;
            int __retVal_native = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.IsValidToken(token);
                // Marshal - Convert managed data to native data.
                __retVal_native = (int)(__retVal ? 1 : 0);
            }
            catch (global::System.Exception __exception)
            {
                __retVal_native = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal_native;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetNestedClassProps(int nestedClass, out int enclosingClass)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, int*, int>)__vtable[62]);
            {
                enclosingClass = default;
                int __retVal;
                // Pin - Pin data in preparation for calling the P/Invoke.
                fixed (int* __enclosingClass_native = &enclosingClass)
                {
                    __retVal = __target(__this, nestedClass, __enclosingClass_native);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetNestedClassProps(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int nestedClass, int* __enclosingClass_native__param)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            ref int __enclosingClass_native = ref *__enclosingClass_native__param;
            int enclosingClass = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetNestedClassProps(nestedClass, out enclosingClass);
                // Marshal - Convert managed data to native data.
                __enclosingClass_native = enclosingClass;
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.GetNativeCallConvFromSig(byte* signature, int signatureLength, int* callingConvention)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, byte*, int, int*, int>)__vtable[63]);
            {
                int __retVal;
                {
                    __retVal = __target(__this, signature, signatureLength, callingConvention);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_GetNativeCallConvFromSig(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, byte* signature, int signatureLength, int* callingConvention)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.GetNativeCallConvFromSig(signature, signatureLength, callingConvention);
            }
            catch (global::System.Exception __exception)
            {
                __retVal = global::System.Runtime.InteropServices.Marshalling.ExceptionAsHResultMarshaller<int>.ConvertToUnmanaged(__exception);
            }
            return __retVal;
        }
    }
 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.ComInterfaceGenerator", "12.0.14.48102")]
    [global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
    int global::Microsoft.DiaSymReader.IMetadataImport.IsGlobal(int token, bool value)
    {
        unsafe
        {
            var (__this, __vtable) = ((global::System.Runtime.InteropServices.Marshalling.IUnmanagedVirtualMethodTableProvider)this).GetVirtualMethodTableInfoForKey(typeof(global::Microsoft.DiaSymReader.IMetadataImport));
            var __target = ((delegate* unmanaged[MemberFunction]<void*, int, int, int>)__vtable[64]);
            {
                int __value_native;
                int __retVal;
                // Marshal - Convert managed data to native data.
                __value_native = (int)(value ? 1 : 0);
                {
                    __retVal = __target(__this, token, __value_native);
                }
                // NotifyForSuccessfulInvoke - Keep alive any managed objects that need to stay alive across the call.
                global::System.GC.KeepAlive(this);
                return __retVal;
            }
        }
    }
 
    [global::System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute(CallConvs = new[] { typeof(global::System.Runtime.CompilerServices.CallConvMemberFunction) })]
    internal static unsafe int ABI_IsGlobal(global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch* __this_native, int token, int __value_native)
    {
        unsafe
        {
            global::Microsoft.DiaSymReader.IMetadataImport @this = default;
            bool value = default;
            int __retVal = default;
            try
            {
                // Unmarshal - Convert native data to managed data.
                value = __value_native != 0;
                @this = global::System.Runtime.InteropServices.ComWrappers.ComInterfaceDispatch.GetInstance<global::Microsoft.DiaSymReader.IMetadataImport>(__this_native);
                __retVal = @this.IsGlobal(token, value);
            }
            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 IMetadataImport
    {
    }
}