protected override void LoadInternal(VirtualReader rdr) { ImportDirectoryEntry entry; while (true) { entry = new ImportDirectoryEntry(this); Rva ltAdr = rdr.ReadRva(); entry.DateTimeStamp = rdr.ReadStamp(); entry.ForwarderChain = rdr.ReadUInt32(); Rva nAdr = rdr.ReadRva(); Rva atAdr = rdr.ReadRva(); if (ltAdr == 0 && atAdr == 0 && nAdr == 0) { break; } rdr.SaveLocation(); rdr.SetPosition(ltAdr); entry.LookupTable = new ImportFunctionTable(entry); entry.LookupTable.Load(rdr, false); rdr.LoadLocation(); rdr.SaveLocation(); rdr.SetPosition(nAdr); entry.Name = rdr.ReadString(); rdr.LoadLocation(); rdr.SaveLocation(); rdr.SetPosition(atAdr); entry.AddressTable = new ImportFunctionTable(entry); entry.AddressTable.Load(rdr, StampsHelper.UIntFromStamp(entry.DateTimeStamp) == 0xffffffff); rdr.LoadLocation(); items.Add(entry); } }
public void WriteStamp(DateTime dt) { base.Write(StampsHelper.UIntFromStamp(dt)); }
public DateTime ReadStamp() { return(StampsHelper.StampFromUInt(this.ReadUInt32())); }