mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-04-08 23:33:03 +00:00
This change looks dramatic, but it's just separating out the already-split namespaces into separate top-level folders. In theory, every single one could be built into their own Nuget package. `SabreTools.Serialization` still builds the normal Nuget package that is used by all other projects and includes all namespaces.
28 lines
1021 B
C#
28 lines
1021 B
C#
using System.Runtime.InteropServices;
|
|
|
|
namespace SabreTools.Data.Models.PortableExecutable.Import
|
|
{
|
|
/// <summary>
|
|
/// One hint/name table suffices for the entire import section.
|
|
/// </summary>
|
|
/// <see href="https://learn.microsoft.com/en-us/windows/win32/debug/pe-format"/>
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
public sealed class HintNameTableEntry
|
|
{
|
|
/// <summary>
|
|
/// An index into the export name pointer table. A match is attempted first
|
|
/// with this value. If it fails, a binary search is performed on the DLL's
|
|
/// export name pointer table.
|
|
/// </summary>
|
|
public ushort Hint;
|
|
|
|
/// <summary>
|
|
/// An ASCII string that contains the name to import. This is the string that
|
|
/// must be matched to the public name in the DLL. This string is case sensitive
|
|
/// and terminated by a null byte.
|
|
/// </summary>
|
|
[MarshalAs(UnmanagedType.LPStr)]
|
|
public string Name = string.Empty;
|
|
}
|
|
}
|