PERWAPI.Section.DoBlock C# (CSharp) Method

DoBlock() private method

private DoBlock ( BinaryWriter reloc, uint page, int start, int end ) : void
reloc System.IO.BinaryWriter
page uint
start int
end int
return void
        internal void DoBlock(BinaryWriter reloc, uint page, int start, int end)
        {
            //Console.WriteLine("rva = " + rva + "  page = " + page);
            if (Diag.DiagOn) Console.WriteLine("writing reloc block at " + reloc.BaseStream.Position);
            reloc.Write(rva + page);
            uint blockSize = (uint)(((end-start+1)*2) + 8);
            reloc.Write(blockSize);
            if (Diag.DiagOn) Console.WriteLine("Block size = " + blockSize);
            for (int j=start; j < end; j++) {
                //Console.WriteLine("reloc offset = " + relocs[j]);
                reloc.Write((ushort)((0x3 << 12) | (relocs[j] - page)));
            }
            reloc.Write((ushort)0);
            if (Diag.DiagOn) Console.WriteLine("finished reloc block at " + reloc.BaseStream.Position);
        }