diff --git a/BurnOutSharp.Models/PortableExecutable/MessageResourceBlock.cs b/BurnOutSharp.Models/PortableExecutable/MessageResourceBlock.cs new file mode 100644 index 00000000..b45348fc --- /dev/null +++ b/BurnOutSharp.Models/PortableExecutable/MessageResourceBlock.cs @@ -0,0 +1,27 @@ +namespace BurnOutSharp.Models.PortableExecutable +{ + /// + /// Contains information about message strings with identifiers in the range indicated + /// by the LowId and HighId members. + /// + /// + public class MessageResourceBlock + { + /// + /// The lowest message identifier contained within this structure. + /// + public uint LowId; + + /// + /// The highest message identifier contained within this structure. + /// + public uint HighId; + + /// + /// The offset, in bytes, from the beginning of the MESSAGE_RESOURCE_DATA structure to the + /// MESSAGE_RESOURCE_ENTRY structures in this MESSAGE_RESOURCE_BLOCK. The MESSAGE_RESOURCE_ENTRY + /// structures contain the message strings. + /// + public uint OffsetToEntries; + } +} diff --git a/BurnOutSharp.Models/PortableExecutable/MessageResourceData.cs b/BurnOutSharp.Models/PortableExecutable/MessageResourceData.cs new file mode 100644 index 00000000..fb5b182f --- /dev/null +++ b/BurnOutSharp.Models/PortableExecutable/MessageResourceData.cs @@ -0,0 +1,25 @@ +namespace BurnOutSharp.Models.PortableExecutable +{ + /// + /// Contains information about formatted text for display as an error message or in a message + /// box in a message table resource. + /// + /// + public class MessageResourceData + { + /// + /// The number of MESSAGE_RESOURCE_BLOCK structures. + /// + public uint NumberOfBlocks; + + /// + /// An array of structures. The array is the size indicated by the NumberOfBlocks member. + /// + public MessageResourceBlock[] Blocks; + + /// + /// Message resource entries + /// + public MessageResourceEntry[] Entries; + } +} diff --git a/BurnOutSharp.Models/PortableExecutable/MessageResourceEntry.cs b/BurnOutSharp.Models/PortableExecutable/MessageResourceEntry.cs new file mode 100644 index 00000000..abff3f1b --- /dev/null +++ b/BurnOutSharp.Models/PortableExecutable/MessageResourceEntry.cs @@ -0,0 +1,25 @@ +namespace BurnOutSharp.Models.PortableExecutable +{ + /// + /// Contains the error message or message box display text for a message table resource. + /// + /// + public class MessageResourceEntry + { + /// + /// The length, in bytes, of the MESSAGE_RESOURCE_ENTRY structure. + /// + public ushort Length; + + /// + /// Indicates that the string is encoded in Unicode, if equal to the value 0x0001. + /// Indicates that the string is encoded in ANSI, if equal to the value 0x0000. + /// + public ushort Flags; + + /// + /// Pointer to an array that contains the error message or message box display text. + /// + public string Text; + } +}