Page 2 of 2

Posted: Sun Jan 13, 2008 4:37 pm
by Laksen
This is how I parse the entries. No risk of overflow

Code: Select all

 PMemoryMap = ^TMemoryMap;
 TMemoryMap = packed record
  size: cardinal;
  base: qword;
  length: qword;
  mtype: cardinal;
 end;
...
var a: PMemoryMap;
   a := MbInfo.MemoryMap;
   for i := 0 to (MbInfo.MemoryMapSize div SizeOf(TMemoryMap))-1 do
   begin
      writeln(a^.Base,'->',a^.length);
      inc(a);
   end;

Posted: Mon Jan 14, 2008 6:09 am
by marcio
It works now, thanks guys!