Add layouts for some PE models

This commit is contained in:
Matt Nadareski
2024-04-23 16:42:29 -04:00
parent b8f67a8ab0
commit f60afd6368
9 changed files with 100 additions and 72 deletions

View File

@@ -1,4 +1,5 @@
using System;
using System.Runtime.InteropServices;
namespace SabreTools.Models.PortableExecutable
{
@@ -7,28 +8,30 @@ namespace SabreTools.Models.PortableExecutable
/// or "DS" type which are emitted by Miscrosoft's link.exe from version 7 and above.
/// </summary>
/// <see href="http://www.godevtool.com/Other/pdb.htm"/>
[StructLayout(LayoutKind.Sequential)]
public sealed class RSDSProgramDatabase
{
/// <summary>
/// "RSDS" signature
/// </summary>
public uint Signature { get; set; }
public uint Signature;
/// <summary>
/// 16-byte Globally Unique Identifier
/// </summary>
public Guid GUID { get; set; }
public Guid GUID;
/// <summary>
/// Ever-incrementing value, which is initially set to 1 and
/// incremented every time when a part of the PDB file is updated
/// without rewriting the whole file.
/// </summary>
public uint Age { get; set; }
public uint Age;
/// <summary>
/// zero terminated UTF8 path and file name
/// </summary>
public string? PathAndFileName { get; set; }
[MarshalAs(UnmanagedType.LPWStr)]
public string? PathAndFileName;
}
}