mirror of
https://github.com/AssetRipper/AssetRipper.Bindings.MsPdbCore.git
synced 2026-11-13 17:06:45 -10:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
951ae3f5a9 | ||
|
|
2da6a26e6c | ||
|
|
669b610293 | ||
|
|
95bd100464 | ||
|
|
99f4083140 |
No files matched your search
@@ -1,42 +0,0 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.13.35507.96 d17.13
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AssetRipper.Bindings.MsPdbCore", "AssetRipper.Bindings.MsPdbCore\AssetRipper.Bindings.MsPdbCore.csproj", "{EBB175D6-106F-4A44-91CB-70E08858E2AF}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "include", "include", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
include\pdb.h = include\pdb.h
|
||||
include\README.md = include\README.md
|
||||
include\vcver.h = include\vcver.h
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8EC462FD-D22E-90A8-E5CE-7E832BA40C5D}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.editorconfig = .editorconfig
|
||||
.gitignore = .gitignore
|
||||
generate.bat = generate.bat
|
||||
generate.rsp = generate.rsp
|
||||
LICENSE.txt = LICENSE.txt
|
||||
README.md = README.md
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{EBB175D6-106F-4A44-91CB-70E08858E2AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{EBB175D6-106F-4A44-91CB-70E08858E2AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{EBB175D6-106F-4A44-91CB-70E08858E2AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{EBB175D6-106F-4A44-91CB-70E08858E2AF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {BDA49DF3-F340-417D-91A1-C64B37ADFB3A}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,16 @@
|
||||
<Solution>
|
||||
<Folder Name="/include/">
|
||||
<File Path="include/pdb.h" />
|
||||
<File Path="include/README.md" />
|
||||
<File Path="include/vcver.h" />
|
||||
</Folder>
|
||||
<Folder Name="/Solution Items/">
|
||||
<File Path=".editorconfig" />
|
||||
<File Path=".gitignore" />
|
||||
<File Path="generate.bat" />
|
||||
<File Path="generate.rsp" />
|
||||
<File Path="LICENSE.txt" />
|
||||
<File Path="README.md" />
|
||||
</Folder>
|
||||
<Project Path="AssetRipper.Bindings.MsPdbCore/AssetRipper.Bindings.MsPdbCore.csproj" />
|
||||
</Solution>
|
||||
@@ -1,14 +1,13 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<IsAotCompatible>true</IsAotCompatible>
|
||||
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
|
||||
|
||||
<Version>1.0.1</Version>
|
||||
<AssemblyVersion>$(Version)</AssemblyVersion>
|
||||
<VersionPrefix>1.1.0</VersionPrefix>
|
||||
<Copyright>Copyright © ds5678</Copyright>
|
||||
<Authors>ds5678</Authors>
|
||||
<Company>AssetRipper</Company>
|
||||
@@ -19,13 +18,11 @@
|
||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||
<RepositoryType>git</RepositoryType>
|
||||
<PackageProjectUrl>$(RepositoryUrl)</PackageProjectUrl>
|
||||
<Copyright>Copyright (c) 2024 ds5678</Copyright>
|
||||
<Copyright>Copyright (c) 2024 - 2026 ds5678</Copyright>
|
||||
<Description>Managed wrapper library for mspdbcore.dll</Description>
|
||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
<DocumentationFile>bin\AssetRipper.Bindings.MsPdbCore.xml</DocumentationFile>
|
||||
|
||||
|
||||
<NoWarn>SYSLIB1054;1591</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct CV_Column_t
|
||||
{
|
||||
}
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct CV_Line_t
|
||||
{
|
||||
}
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public enum DBGTYPE
|
||||
{
|
||||
dbgtypeFPO,
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct DBI : DBI.Interface
|
||||
{
|
||||
public void** lpVtbl;
|
||||
@@ -271,16 +273,16 @@ public unsafe partial struct DBI : DBI.Interface
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
[VtblIndex(33)]
|
||||
[return: NativeTypeName("AGE")]
|
||||
public uint QueryAge()
|
||||
public readonly uint QueryAge()
|
||||
{
|
||||
return ((delegate* unmanaged[MemberFunction]<DBI*, uint>)(lpVtbl[33]))((DBI*)Unsafe.AsPointer(ref this));
|
||||
return ((delegate* unmanaged[MemberFunction]<DBI*, uint>)(lpVtbl[33]))((DBI*)Unsafe.AsPointer(in this));
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
[VtblIndex(34)]
|
||||
public void* QueryHeader()
|
||||
public readonly void* QueryHeader()
|
||||
{
|
||||
return ((delegate* unmanaged[MemberFunction]<DBI*, void*>)(lpVtbl[34]))((DBI*)Unsafe.AsPointer(ref this));
|
||||
return ((delegate* unmanaged[MemberFunction]<DBI*, void*>)(lpVtbl[34]))((DBI*)Unsafe.AsPointer(in this));
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
@@ -348,9 +350,9 @@ public unsafe partial struct DBI : DBI.Interface
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
[VtblIndex(43)]
|
||||
public ushort QueryMachineType()
|
||||
public readonly ushort QueryMachineType()
|
||||
{
|
||||
return ((delegate* unmanaged[MemberFunction]<DBI*, ushort>)(lpVtbl[43]))((DBI*)Unsafe.AsPointer(ref this));
|
||||
return ((delegate* unmanaged[MemberFunction]<DBI*, ushort>)(lpVtbl[43]))((DBI*)Unsafe.AsPointer(in this));
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public enum DOVC
|
||||
{
|
||||
dovcNotePdbUsed,
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct Dbg : Dbg.Interface
|
||||
{
|
||||
public void** lpVtbl;
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct DbgBlob
|
||||
{
|
||||
[NativeTypeName("ULONG")]
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct DbgRvaVaBlob
|
||||
{
|
||||
[NativeTypeName("ULONG")]
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct Enum : Enum.Interface
|
||||
{
|
||||
public void** lpVtbl;
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[NativeTypeName("struct EnumContrib : Enum")]
|
||||
[NativeInheritance("Enum")]
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct EnumContrib : EnumContrib.Interface
|
||||
{
|
||||
public void** lpVtbl;
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[NativeTypeName("struct EnumLines : Enum")]
|
||||
[NativeInheritance("Enum")]
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct EnumLines : EnumLines.Interface
|
||||
{
|
||||
public void** lpVtbl;
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[NativeTypeName("struct EnumNameMap : Enum")]
|
||||
[NativeInheritance("Enum")]
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct EnumNameMap : EnumNameMap.Interface
|
||||
{
|
||||
public void** lpVtbl;
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[NativeTypeName("struct EnumSrc : Enum")]
|
||||
[NativeInheritance("Enum")]
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct EnumSrc : EnumSrc.Interface
|
||||
{
|
||||
public void** lpVtbl;
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct EnumStreamNames
|
||||
{
|
||||
}
|
||||
@@ -1,9 +1,11 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[NativeTypeName("struct EnumSyms : Enum")]
|
||||
[NativeInheritance("Enum")]
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct EnumSyms : EnumSyms.Interface
|
||||
{
|
||||
public void** lpVtbl;
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[NativeTypeName("struct EnumThunk : Enum")]
|
||||
[NativeInheritance("Enum")]
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct EnumThunk : EnumThunk.Interface
|
||||
{
|
||||
public void** lpVtbl;
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct GSI : GSI.Interface
|
||||
{
|
||||
public void** lpVtbl;
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct IPDBError : IPDBError.Interface
|
||||
{
|
||||
public void** lpVtbl;
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct IStream
|
||||
{
|
||||
}
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct LinkInfo
|
||||
{
|
||||
[NativeTypeName("ULONG")]
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[NativeTypeName("struct LinkInfoW : LinkInfo")]
|
||||
[NativeInheritance("LinkInfo")]
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct LinkInfoW
|
||||
{
|
||||
public LinkInfo Base;
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct Mod : Mod.Interface
|
||||
{
|
||||
public void** lpVtbl;
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
using System;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public static unsafe partial class MsPdbCore
|
||||
{
|
||||
public const int wtiSymsNB09 = 0;
|
||||
@@ -24,7 +26,7 @@ public static unsafe partial class MsPdbCore
|
||||
|
||||
[DllImport("mspdbcore", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
||||
[return: NativeTypeName("BOOL")]
|
||||
public static extern int PDBOpenValidate4([NativeTypeName("const wchar_t *")] char* wszPDB, [NativeTypeName("const char *")] sbyte* szMode, [NativeTypeName("PCSIG70")] _GUID* pcsig70, [NativeTypeName("SIG")] uint sig, [NativeTypeName("AGE")] uint age, [NativeTypeName("EC *")] int* pec, [NativeTypeName("wchar_t *")] char* wszError, [NativeTypeName("size_t")] nuint cchErrMax, PDB** pppdb);
|
||||
public static extern int PDBOpenValidate4([NativeTypeName("const wchar_t *")] char* wszPDB, [NativeTypeName("const char *")] sbyte* szMode, [NativeTypeName("PCSIG70")] Guid* pcsig70, [NativeTypeName("SIG")] uint sig, [NativeTypeName("AGE")] uint age, [NativeTypeName("EC *")] int* pec, [NativeTypeName("wchar_t *")] char* wszError, [NativeTypeName("size_t")] nuint cchErrMax, PDB** pppdb);
|
||||
|
||||
[DllImport("mspdbcore", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
||||
[return: NativeTypeName("BOOL")]
|
||||
@@ -68,7 +70,7 @@ public static unsafe partial class MsPdbCore
|
||||
|
||||
[DllImport("mspdbcore", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
||||
[return: NativeTypeName("BOOL")]
|
||||
public static extern int PDBQuerySignature2(PDB* ppdb, [NativeTypeName("PSIG70")] _GUID* psig70);
|
||||
public static extern int PDBQuerySignature2(PDB* ppdb, [NativeTypeName("PSIG70")] Guid* psig70);
|
||||
|
||||
[DllImport("mspdbcore", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
||||
[return: NativeTypeName("AGE")]
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct NameMap : NameMap.Interface
|
||||
{
|
||||
public void** lpVtbl;
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct OffMap
|
||||
{
|
||||
[NativeTypeName("ULONG")]
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public enum PCC
|
||||
{
|
||||
pccFilterPublics,
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
using System;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct PDB : PDB.Interface
|
||||
{
|
||||
public void** lpVtbl;
|
||||
@@ -17,7 +20,7 @@ public unsafe partial struct PDB : PDB.Interface
|
||||
|
||||
[DllImport("mspdbcore", CallingConvention = CallingConvention.Cdecl, EntryPoint = "?OpenValidate4@PDB@@SAHPEB_WPEBDPEBU_GUID@@KKPEAJPEA_W_KPEAPEAU1@@Z", ExactSpelling = true)]
|
||||
[return: NativeTypeName("BOOL")]
|
||||
public static extern int OpenValidate4([NativeTypeName("const wchar_t *")] char* wszPDB, [NativeTypeName("const char *")] sbyte* szMode, [NativeTypeName("PCSIG70")] _GUID* pcsig70, [NativeTypeName("SIG")] uint sig, [NativeTypeName("AGE")] uint age, [NativeTypeName("EC *")] int* pec, [NativeTypeName("wchar_t *")] char* wszError, [NativeTypeName("size_t")] nuint cchErrMax, PDB** pppdb);
|
||||
public static extern int OpenValidate4([NativeTypeName("const wchar_t *")] char* wszPDB, [NativeTypeName("const char *")] sbyte* szMode, [NativeTypeName("PCSIG70")] Guid* pcsig70, [NativeTypeName("SIG")] uint sig, [NativeTypeName("AGE")] uint age, [NativeTypeName("EC *")] int* pec, [NativeTypeName("wchar_t *")] char* wszError, [NativeTypeName("size_t")] nuint cchErrMax, PDB** pppdb);
|
||||
|
||||
[DllImport("mspdbcore", CallingConvention = CallingConvention.Cdecl, EntryPoint = "?OpenValidate5@PDB@@SAHPEB_W0PEAXP6AP6AHXZ1W4POVC@@@ZPEAJPEA_W_KPEAPEAU1@@Z", ExactSpelling = true)]
|
||||
[return: NativeTypeName("BOOL")]
|
||||
@@ -243,9 +246,9 @@ public unsafe partial struct PDB : PDB.Interface
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
[VtblIndex(21)]
|
||||
[return: NativeTypeName("BOOL")]
|
||||
public int QuerySignature2([NativeTypeName("PSIG70")] _GUID* psig70)
|
||||
public int QuerySignature2([NativeTypeName("PSIG70")] Guid* psig70)
|
||||
{
|
||||
return ((delegate* unmanaged[MemberFunction]<PDB*, _GUID*, int>)(lpVtbl[21]))((PDB*)Unsafe.AsPointer(ref this), psig70);
|
||||
return ((delegate* unmanaged[MemberFunction]<PDB*, Guid*, int>)(lpVtbl[21]))((PDB*)Unsafe.AsPointer(ref this), psig70);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
@@ -259,9 +262,9 @@ public unsafe partial struct PDB : PDB.Interface
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
[VtblIndex(23)]
|
||||
[return: NativeTypeName("BOOL")]
|
||||
public int fIsSZPDB()
|
||||
public readonly int fIsSZPDB()
|
||||
{
|
||||
return ((delegate* unmanaged[MemberFunction]<PDB*, int>)(lpVtbl[23]))((PDB*)Unsafe.AsPointer(ref this));
|
||||
return ((delegate* unmanaged[MemberFunction]<PDB*, int>)(lpVtbl[23]))((PDB*)Unsafe.AsPointer(in this));
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
@@ -408,7 +411,7 @@ public unsafe partial struct PDB : PDB.Interface
|
||||
|
||||
[VtblIndex(21)]
|
||||
[return: NativeTypeName("BOOL")]
|
||||
int QuerySignature2([NativeTypeName("PSIG70")] _GUID* psig70);
|
||||
int QuerySignature2([NativeTypeName("PSIG70")] Guid* psig70);
|
||||
|
||||
[VtblIndex(22)]
|
||||
[return: NativeTypeName("BOOL")]
|
||||
@@ -514,7 +517,7 @@ public unsafe partial struct PDB : PDB.Interface
|
||||
public delegate* unmanaged[MemberFunction]<TSelf*, char*, nuint, char*> QueryPDBNameExW;
|
||||
|
||||
[NativeTypeName("BOOL (PSIG70)")]
|
||||
public delegate* unmanaged[MemberFunction]<TSelf*, _GUID*, int> QuerySignature2;
|
||||
public delegate* unmanaged[MemberFunction]<TSelf*, Guid*, int> QuerySignature2;
|
||||
|
||||
[NativeTypeName("BOOL (const wchar_t *, DWORD, DWORD)")]
|
||||
public delegate* unmanaged[MemberFunction]<TSelf*, char*, uint, uint, int> CopyToW;
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public enum PDBConsts
|
||||
{
|
||||
niNil = 0,
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public enum PDBErrors
|
||||
{
|
||||
EC_OK,
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public enum PDBIMPV
|
||||
{
|
||||
PDBImpvVC2 = 19941610,
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public enum PDBINTV
|
||||
{
|
||||
PDBIntv110 = 20091201,
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public enum POVC
|
||||
{
|
||||
povcNotifyDebugDir,
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct SO
|
||||
{
|
||||
[NativeTypeName("long")]
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct Src : Src.Interface
|
||||
{
|
||||
public void** lpVtbl;
|
||||
@@ -29,30 +31,30 @@ public unsafe partial struct Src : Src.Interface
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
[VtblIndex(3)]
|
||||
public bool QueryByName([NativeTypeName("SZ_CONST")] sbyte* szFile, [NativeTypeName("PSrcHeaderOut")] SrcHeaderOut* psrcheaderOut)
|
||||
public readonly bool QueryByName([NativeTypeName("SZ_CONST")] sbyte* szFile, [NativeTypeName("PSrcHeaderOut")] SrcHeaderOut* psrcheaderOut)
|
||||
{
|
||||
return ((delegate* unmanaged[MemberFunction]<Src*, sbyte*, SrcHeaderOut*, bool>)(lpVtbl[3]))((Src*)Unsafe.AsPointer(ref this), szFile, psrcheaderOut);
|
||||
return ((delegate* unmanaged[MemberFunction]<Src*, sbyte*, SrcHeaderOut*, bool>)(lpVtbl[3]))((Src*)Unsafe.AsPointer(in this), szFile, psrcheaderOut);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
[VtblIndex(4)]
|
||||
public bool GetData([NativeTypeName("PCSrcHeaderOut")] SrcHeaderOut* pcsrcheader, void* pvData)
|
||||
public readonly bool GetData([NativeTypeName("PCSrcHeaderOut")] SrcHeaderOut* pcsrcheader, void* pvData)
|
||||
{
|
||||
return ((delegate* unmanaged[MemberFunction]<Src*, SrcHeaderOut*, void*, bool>)(lpVtbl[4]))((Src*)Unsafe.AsPointer(ref this), pcsrcheader, pvData);
|
||||
return ((delegate* unmanaged[MemberFunction]<Src*, SrcHeaderOut*, void*, bool>)(lpVtbl[4]))((Src*)Unsafe.AsPointer(in this), pcsrcheader, pvData);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
[VtblIndex(5)]
|
||||
public bool GetEnum(EnumSrc** ppenum)
|
||||
public readonly bool GetEnum(EnumSrc** ppenum)
|
||||
{
|
||||
return ((delegate* unmanaged[MemberFunction]<Src*, EnumSrc**, bool>)(lpVtbl[5]))((Src*)Unsafe.AsPointer(ref this), ppenum);
|
||||
return ((delegate* unmanaged[MemberFunction]<Src*, EnumSrc**, bool>)(lpVtbl[5]))((Src*)Unsafe.AsPointer(in this), ppenum);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
[VtblIndex(6)]
|
||||
public bool GetHeaderBlock([NativeTypeName("SrcHeaderBlock &")] SrcHeaderBlock* shb)
|
||||
public readonly bool GetHeaderBlock([NativeTypeName("SrcHeaderBlock &")] SrcHeaderBlock* shb)
|
||||
{
|
||||
return ((delegate* unmanaged[MemberFunction]<Src*, SrcHeaderBlock*, bool>)(lpVtbl[6]))((Src*)Unsafe.AsPointer(ref this), shb);
|
||||
return ((delegate* unmanaged[MemberFunction]<Src*, SrcHeaderBlock*, bool>)(lpVtbl[6]))((Src*)Unsafe.AsPointer(in this), shb);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
@@ -64,9 +66,9 @@ public unsafe partial struct Src : Src.Interface
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
[VtblIndex(8)]
|
||||
public bool QueryByNameW([NativeTypeName("wchar_t *")] char* wcsFile, [NativeTypeName("PSrcHeaderOut")] SrcHeaderOut* psrcheaderOut)
|
||||
public readonly bool QueryByNameW([NativeTypeName("wchar_t *")] char* wcsFile, [NativeTypeName("PSrcHeaderOut")] SrcHeaderOut* psrcheaderOut)
|
||||
{
|
||||
return ((delegate* unmanaged[MemberFunction]<Src*, char*, SrcHeaderOut*, bool>)(lpVtbl[8]))((Src*)Unsafe.AsPointer(ref this), wcsFile, psrcheaderOut);
|
||||
return ((delegate* unmanaged[MemberFunction]<Src*, char*, SrcHeaderOut*, bool>)(lpVtbl[8]))((Src*)Unsafe.AsPointer(in this), wcsFile, psrcheaderOut);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public enum SrcCompress
|
||||
{
|
||||
srccompressNone,
|
||||
|
||||
@@ -1,15 +1,18 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct SrcHash : SrcHash.Interface
|
||||
{
|
||||
public void** lpVtbl;
|
||||
|
||||
[DllImport("mspdbcore", CallingConvention = CallingConvention.Cdecl, EntryPoint = "?FCreateSrcHash@SrcHash@@SA_NAEAPEAU1@W4HID@1@@Z", ExactSpelling = true)]
|
||||
public static extern bool FCreateSrcHash([NativeTypeName("PSrcHash &")] SrcHash** param0, [NativeTypeName("SrcHash::HID")] HID hid);
|
||||
public static extern bool FCreateSrcHash([NativeTypeName("PSrcHash &")] SrcHash** param0, [NativeTypeName("SrcHash::HID")] SrcHash.HID hid);
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public enum TriState
|
||||
{
|
||||
tsYes,
|
||||
@@ -17,6 +20,7 @@ public unsafe partial struct SrcHash : SrcHash.Interface
|
||||
tsMaybe,
|
||||
}
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public enum HID
|
||||
{
|
||||
hidNone,
|
||||
@@ -36,32 +40,32 @@ public unsafe partial struct SrcHash : SrcHash.Interface
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
[VtblIndex(1)]
|
||||
[return: NativeTypeName("SrcHash::HashID_t")]
|
||||
public int HashID()
|
||||
public readonly int HashID()
|
||||
{
|
||||
return ((delegate* unmanaged[MemberFunction]<SrcHash*, int>)(lpVtbl[1]))((SrcHash*)Unsafe.AsPointer(ref this));
|
||||
return ((delegate* unmanaged[MemberFunction]<SrcHash*, int>)(lpVtbl[1]))((SrcHash*)Unsafe.AsPointer(in this));
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
[VtblIndex(2)]
|
||||
[return: NativeTypeName("SrcHash::CbHash_t")]
|
||||
public uint CbHash()
|
||||
public readonly uint CbHash()
|
||||
{
|
||||
return ((delegate* unmanaged[MemberFunction]<SrcHash*, uint>)(lpVtbl[2]))((SrcHash*)Unsafe.AsPointer(ref this));
|
||||
return ((delegate* unmanaged[MemberFunction]<SrcHash*, uint>)(lpVtbl[2]))((SrcHash*)Unsafe.AsPointer(in this));
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
[VtblIndex(3)]
|
||||
public bool FGetHash([NativeTypeName("PV")] void* pvHash, [NativeTypeName("SrcHash::CbHash_t")] uint cbHash)
|
||||
public readonly bool FGetHash([NativeTypeName("PV")] void* pvHash, [NativeTypeName("SrcHash::CbHash_t")] uint cbHash)
|
||||
{
|
||||
return ((delegate* unmanaged[MemberFunction]<SrcHash*, void*, uint, bool>)(lpVtbl[3]))((SrcHash*)Unsafe.AsPointer(ref this), pvHash, cbHash);
|
||||
return ((delegate* unmanaged[MemberFunction]<SrcHash*, void*, uint, bool>)(lpVtbl[3]))((SrcHash*)Unsafe.AsPointer(in this), pvHash, cbHash);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
[VtblIndex(4)]
|
||||
[return: NativeTypeName("SrcHash::TriState")]
|
||||
public TriState TsVerifyHash([NativeTypeName("SrcHash::HID")] HID param0, [NativeTypeName("SrcHash::CbHash_t")] uint cbHash, [NativeTypeName("PCV")] void* pvHash, [NativeTypeName("size_t")] nuint cbBuf, [NativeTypeName("PCV")] void* pvBuf)
|
||||
public SrcHash.TriState TsVerifyHash([NativeTypeName("SrcHash::HID")] SrcHash.HID param0, [NativeTypeName("SrcHash::CbHash_t")] uint cbHash, [NativeTypeName("PCV")] void* pvHash, [NativeTypeName("size_t")] nuint cbBuf, [NativeTypeName("PCV")] void* pvBuf)
|
||||
{
|
||||
return ((delegate* unmanaged[MemberFunction]<SrcHash*, HID, uint, void*, nuint, void*, TriState>)(lpVtbl[4]))((SrcHash*)Unsafe.AsPointer(ref this), param0, cbHash, pvHash, cbBuf, pvBuf);
|
||||
return ((delegate* unmanaged[MemberFunction]<SrcHash*, SrcHash.HID, uint, void*, nuint, void*, SrcHash.TriState>)(lpVtbl[4]))((SrcHash*)Unsafe.AsPointer(ref this), param0, cbHash, pvHash, cbBuf, pvBuf);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
@@ -96,7 +100,7 @@ public unsafe partial struct SrcHash : SrcHash.Interface
|
||||
|
||||
[VtblIndex(4)]
|
||||
[return: NativeTypeName("SrcHash::TriState")]
|
||||
TriState TsVerifyHash([NativeTypeName("SrcHash::HID")] HID param0, [NativeTypeName("SrcHash::CbHash_t")] uint cbHash, [NativeTypeName("PCV")] void* pvHash, [NativeTypeName("size_t")] nuint cbBuf, [NativeTypeName("PCV")] void* pvBuf);
|
||||
SrcHash.TriState TsVerifyHash([NativeTypeName("SrcHash::HID")] SrcHash.HID param0, [NativeTypeName("SrcHash::CbHash_t")] uint cbHash, [NativeTypeName("PCV")] void* pvHash, [NativeTypeName("size_t")] nuint cbBuf, [NativeTypeName("PCV")] void* pvBuf);
|
||||
|
||||
[VtblIndex(5)]
|
||||
bool FReset();
|
||||
@@ -121,7 +125,7 @@ public unsafe partial struct SrcHash : SrcHash.Interface
|
||||
public delegate* unmanaged[MemberFunction]<TSelf*, void*, uint, bool> FGetHash;
|
||||
|
||||
[NativeTypeName("TriState (HID, CbHash_t, PCV, size_t, PCV)")]
|
||||
public delegate* unmanaged[MemberFunction]<TSelf*, HID, uint, void*, nuint, void*, TriState> TsVerifyHash;
|
||||
public delegate* unmanaged[MemberFunction]<TSelf*, SrcHash.HID, uint, void*, nuint, void*, SrcHash.TriState> TsVerifyHash;
|
||||
|
||||
[NativeTypeName("bool ()")]
|
||||
public delegate* unmanaged[MemberFunction]<TSelf*, bool> FReset;
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
using System;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct SrcHeader
|
||||
{
|
||||
[NativeTypeName("unsigned long")]
|
||||
@@ -28,7 +30,48 @@ public partial struct SrcHeader
|
||||
[NativeTypeName("unsigned char[1]")]
|
||||
public _szNames_e__FixedBuffer szNames;
|
||||
|
||||
[UnscopedRef]
|
||||
public ref byte grFlags
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
get
|
||||
{
|
||||
return ref Anonymous.grFlags;
|
||||
}
|
||||
}
|
||||
|
||||
public byte fVirtual
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
readonly get
|
||||
{
|
||||
return Anonymous.Anonymous.fVirtual;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
set
|
||||
{
|
||||
Anonymous.Anonymous.fVirtual = value;
|
||||
}
|
||||
}
|
||||
|
||||
public byte pad
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
readonly get
|
||||
{
|
||||
return Anonymous.Anonymous.pad;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
set
|
||||
{
|
||||
Anonymous.Anonymous.pad = value;
|
||||
}
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Explicit)]
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct _Anonymous_e__Union
|
||||
{
|
||||
[FieldOffset(0)]
|
||||
@@ -39,6 +82,7 @@ public partial struct SrcHeader
|
||||
[NativeTypeName("__AnonymousRecord_pdb_L594_C9")]
|
||||
public _Anonymous_e__Struct Anonymous;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct _Anonymous_e__Struct
|
||||
{
|
||||
[NativeBitfield("fVirtual", offset: 0, length: 1)]
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct SrcHeaderBlock
|
||||
{
|
||||
public int ver;
|
||||
@@ -16,6 +18,7 @@ public partial struct SrcHeaderBlock
|
||||
[NativeTypeName("BYTE[44]")]
|
||||
public _rgbPad_e__FixedBuffer rgbPad;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct _ft_e__Struct
|
||||
{
|
||||
[NativeTypeName("DWORD")]
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct SrcHeaderOut
|
||||
{
|
||||
[NativeTypeName("unsigned long")]
|
||||
@@ -37,7 +40,68 @@ public unsafe partial struct SrcHeaderOut
|
||||
[NativeTypeName("__AnonymousRecord_pdb_L652_C5")]
|
||||
public _Anonymous2_e__Union Anonymous2;
|
||||
|
||||
[UnscopedRef]
|
||||
public ref byte grFlags
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
get
|
||||
{
|
||||
return ref Anonymous1.grFlags;
|
||||
}
|
||||
}
|
||||
|
||||
public byte fVirtual
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
readonly get
|
||||
{
|
||||
return Anonymous1.Anonymous.fVirtual;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
set
|
||||
{
|
||||
Anonymous1.Anonymous.fVirtual = value;
|
||||
}
|
||||
}
|
||||
|
||||
public byte pad
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
readonly get
|
||||
{
|
||||
return Anonymous1.Anonymous.pad;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
set
|
||||
{
|
||||
Anonymous1.Anonymous.pad = value;
|
||||
}
|
||||
}
|
||||
|
||||
[UnscopedRef]
|
||||
public ref void* pvReserved1
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
get
|
||||
{
|
||||
return ref Anonymous2.pvReserved1;
|
||||
}
|
||||
}
|
||||
|
||||
[UnscopedRef]
|
||||
public ref long pv64Reserved2
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
get
|
||||
{
|
||||
return ref Anonymous2.pv64Reserved2;
|
||||
}
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Explicit)]
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct _Anonymous1_e__Union
|
||||
{
|
||||
[FieldOffset(0)]
|
||||
@@ -48,6 +112,7 @@ public unsafe partial struct SrcHeaderOut
|
||||
[NativeTypeName("__AnonymousRecord_pdb_L646_C9")]
|
||||
public _Anonymous_e__Struct Anonymous;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct _Anonymous_e__Struct
|
||||
{
|
||||
[NativeBitfield("fVirtual", offset: 0, length: 1)]
|
||||
@@ -89,6 +154,7 @@ public unsafe partial struct SrcHeaderOut
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Explicit)]
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct _Anonymous2_e__Union
|
||||
{
|
||||
[FieldOffset(0)]
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
using System;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct SrcHeaderW
|
||||
{
|
||||
[NativeTypeName("unsigned long")]
|
||||
@@ -28,7 +30,48 @@ public partial struct SrcHeaderW
|
||||
[NativeTypeName("wchar_t[1]")]
|
||||
public _szNames_e__FixedBuffer szNames;
|
||||
|
||||
[UnscopedRef]
|
||||
public ref byte grFlags
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
get
|
||||
{
|
||||
return ref Anonymous.grFlags;
|
||||
}
|
||||
}
|
||||
|
||||
public byte fVirtual
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
readonly get
|
||||
{
|
||||
return Anonymous.Anonymous.fVirtual;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
set
|
||||
{
|
||||
Anonymous.Anonymous.fVirtual = value;
|
||||
}
|
||||
}
|
||||
|
||||
public byte pad
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
readonly get
|
||||
{
|
||||
return Anonymous.Anonymous.pad;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
set
|
||||
{
|
||||
Anonymous.Anonymous.pad = value;
|
||||
}
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Explicit)]
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct _Anonymous_e__Union
|
||||
{
|
||||
[FieldOffset(0)]
|
||||
@@ -39,6 +82,7 @@ public partial struct SrcHeaderW
|
||||
[NativeTypeName("__AnonymousRecord_pdb_L618_C9")]
|
||||
public _Anonymous_e__Struct Anonymous;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct _Anonymous_e__Struct
|
||||
{
|
||||
[NativeBitfield("fVirtual", offset: 0, length: 1)]
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public enum SrcVer
|
||||
{
|
||||
srcverOne = 19980827,
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct Stream : Stream.Interface
|
||||
{
|
||||
public void** lpVtbl;
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct StreamImage : StreamImage.Interface
|
||||
{
|
||||
public void** lpVtbl;
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct SymConvertInfo
|
||||
{
|
||||
[NativeTypeName("ULONG")]
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct TPI : TPI.Interface
|
||||
{
|
||||
public void** lpVtbl;
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public enum VerDataBlob
|
||||
{
|
||||
vdbOne = 1,
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public enum VerLinkInfo
|
||||
{
|
||||
vliOne = 1,
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct WidenTi : WidenTi.Interface
|
||||
{
|
||||
public void** lpVtbl;
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
public partial struct _GUID
|
||||
{
|
||||
[NativeTypeName("DWORD")]
|
||||
public uint Data1;
|
||||
|
||||
[NativeTypeName("WORD")]
|
||||
public ushort Data2;
|
||||
|
||||
[NativeTypeName("WORD")]
|
||||
public ushort Data3;
|
||||
|
||||
[NativeTypeName("BYTE[8]")]
|
||||
public _Data4_e__FixedBuffer Data4;
|
||||
|
||||
[InlineArray(8)]
|
||||
public partial struct _Data4_e__FixedBuffer
|
||||
{
|
||||
public byte e0;
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.CodeDom.Compiler;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public partial struct _IMAGE_DEBUG_DIRECTORY
|
||||
{
|
||||
}
|
||||
@@ -1,7 +1,9 @@
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
|
||||
[GeneratedCode("ClangSharp", "21.1.8.4")]
|
||||
public unsafe partial struct _tagSEARCHDEBUGINFO
|
||||
{
|
||||
[NativeTypeName("DWORD")]
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
|
||||
namespace AssetRipper.Bindings.MsPdbCore;
|
||||
@@ -67,8 +69,35 @@ public static unsafe partial class MsPdbCore
|
||||
public static bool PDBQuerySignature2(PDB* ppdb, out Guid guid)
|
||||
{
|
||||
fixed (Guid* guidPtr = &guid)
|
||||
return PDBQuerySignature2(ppdb, (_GUID*)guidPtr).ToBoolean();
|
||||
return PDBQuerySignature2(ppdb, guidPtr).ToBoolean();
|
||||
}
|
||||
|
||||
private static bool ToBoolean(this int value) => value != 0;
|
||||
|
||||
static MsPdbCore()
|
||||
{
|
||||
if (!OperatingSystem.IsWindows())
|
||||
{
|
||||
return;
|
||||
}
|
||||
NativeLibrary.SetDllImportResolver(typeof(MsPdbCore).Assembly, (libraryName, assembly, searchPath) =>
|
||||
{
|
||||
if (!libraryName.EndsWith(".dll", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
libraryName += ".dll";
|
||||
}
|
||||
foreach (string visualStudioVersion in new[] { "18", "2022" })
|
||||
{
|
||||
foreach (string edition in new[] { "Enterprise", "Professional", "Community", "Insiders" })
|
||||
{
|
||||
string libraryPath = Path.Join(@"C:\Program Files\Microsoft Visual Studio", visualStudioVersion, edition, "Common7", "IDE", libraryName);
|
||||
if (File.Exists(libraryPath) && NativeLibrary.TryLoad(libraryPath, out IntPtr handle))
|
||||
{
|
||||
return handle;
|
||||
}
|
||||
}
|
||||
}
|
||||
return IntPtr.Zero;
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -4,10 +4,12 @@ These are bindings over `mspdbcore.dll` which is shipped with Visual Studio.
|
||||
|
||||
## Required Files
|
||||
|
||||
You need to manually copy the following Microsoft-provided libraries from Visual Studio (or other build tools) for this wrapping library. They cannot be redistributed because the license on them is not clear.
|
||||
You may need to manually copy the following Microsoft-provided libraries from Visual Studio (or other build tools) for this wrapping library. They cannot be redistributed because the license on them is not clear.
|
||||
|
||||
* `mspdbcore.dll`
|
||||
* `msobj140.dll`
|
||||
* `tbbmalloc.dll`
|
||||
|
||||
These need to be placed next to the built executable file. Use file search to find `mspdbcore` in the Visual Studio install directory. By default, they are in `C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\`.
|
||||
|
||||
This library attempts to resolve the dependencies automatically, but if it fails, you can manually copy the files to the output directory of your project.
|
||||
+5
-5
@@ -1,6 +1,6 @@
|
||||
dotnet tool install --global ClangSharpPInvokeGenerator --version 18.1.0.2
|
||||
cd AssetRipper.Bindings.MsPdbCore
|
||||
if not exist "Generated" mkdir "Generated"
|
||||
rmdir /s /q Generated
|
||||
cd ..
|
||||
dotnet tool install --global ClangSharpPInvokeGenerator
|
||||
cd AssetRipper.Bindings.MsPdbCore
|
||||
if not exist "Generated" mkdir "Generated"
|
||||
rmdir /s /q Generated
|
||||
cd ..
|
||||
ClangSharpPInvokeGenerator @generate.rsp
|
||||
+33
-29
@@ -2,39 +2,43 @@
|
||||
pdb.h
|
||||
--file-directory
|
||||
./include/
|
||||
--methodClassName
|
||||
--method-class-name
|
||||
MsPdbCore
|
||||
--namespace
|
||||
AssetRipper.Bindings.MsPdbCore
|
||||
--output
|
||||
./AssetRipper.Bindings.MsPdbCore/Generated
|
||||
--libraryPath
|
||||
--library-path
|
||||
mspdbcore
|
||||
--log
|
||||
visited-files
|
||||
exclusions
|
||||
--exclude
|
||||
_GUID
|
||||
--config
|
||||
exclude-anonymous-field-helpers
|
||||
exclude-com-proxies
|
||||
exclude-enum-operators
|
||||
exclude-funcs-with-body
|
||||
exclude-using-statics-for-enums
|
||||
generate-aggressive-inlining
|
||||
generate-callconv-member-function
|
||||
generate-cpp-attributes
|
||||
generate-disable-runtime-marshalling
|
||||
generate-file-scoped-namespaces
|
||||
generate-guid-member
|
||||
generate-helper-types
|
||||
generate-macro-bindings
|
||||
generate-marker-interfaces
|
||||
generate-native-bitfield-attribute
|
||||
generate-native-inheritance-attribute
|
||||
generate-setslastsystemerror-attribute
|
||||
generate-template-bindings
|
||||
generate-unmanaged-constants
|
||||
generate-vtbl-index-attribute
|
||||
strip-enum-member-type-name
|
||||
log-exclusions
|
||||
log-visited-files
|
||||
multi-file
|
||||
preview-codegen
|
||||
trimmable-vtbls
|
||||
windows-types
|
||||
codegen=latest
|
||||
file=multi
|
||||
types=windows
|
||||
vtbls=trimmable
|
||||
--generate
|
||||
aggressive-inlining
|
||||
callconv-member-function
|
||||
cpp-attributes
|
||||
disable-runtime-marshalling
|
||||
enum-member-type-name=false
|
||||
enum-operators=false
|
||||
file-scoped-namespaces
|
||||
funcs-with-body=false
|
||||
generated-code=type
|
||||
guid-member
|
||||
helper-types
|
||||
macro-bindings
|
||||
marker-interfaces
|
||||
native-bitfield-attribute
|
||||
native-inheritance-attribute
|
||||
setslastsystemerror-attribute
|
||||
template-bindings
|
||||
unmanaged-constants
|
||||
using-statics-for-enums=false
|
||||
using-statics-for-guid-members=false
|
||||
vtbl-index-attribute
|
||||
Reference in new issue
Block a user