예제 #1
0
 public void Write(IStructWriter writer, RelocationTable item)
 {
     foreach (var(header, entries) in item.Relocations)
     {
         writer.Write(header);
         writer.WriteArray(entries);
     }
 }
예제 #2
0
        public void Write(IStructWriter writer, HintNameEntry item)
        {
            writer.Write(item.ExportNamePointerTableIndex);
            writer.WriteArray(Encoding.ASCII.GetBytes(item.Name));
            var lastByteOffset = writer.Write <byte>(0); // String zero termination

            // A trailing zero-pad byte appears after the trailing null byte, if necessary,
            // to align the next entry on an even boundary.
            if ((lastByteOffset + 1) % 2 != 0)
            {
                writer.Write <byte>(0);
            }
        }