Wie von einem Programm alle verwendeten Adressbereiche auslesen?
-
Hi,
wie kann ich von einer Anwendung alle benutzen Adressbereiche ermitteln?
-
Kannst mit VirtualQuery machen.
-
Beispiel siehe:
http://blog.kalmbachnet.de/?postid=9
-
Danke

In dem Beispiel wird GetSystemInfo() benutzt, welches eine Struktur ausfüllt, welche die kleinste und größte Adresse aller Anwendungen enthält.
Da jede Anwendung ihren eigenen Adressbereich hat und dieser gespeichert wird wäre es doch geschickter, wenn man den Adressraum anwendungsspezifisch durchgeht, oder? Oder haben keine zwei Anwendungen zur gleichen Zeit die gleichen (virtuellen) Adressbereiche?
-
Hi,
Macht er doch. Jede Anwendung hat ihren eigenen virtuellen Adressraum. lpMaximumApplicationAddress ist die höchste Speicheradresse, auf die dein Programm zugreifen darf, bei einem normalen 32bit Windows XP ist das 2GB, afaik. Schau mal hier:
http://de.wikipedia.org/wiki/Virtuelle_Speicherverwaltung
http://de.wikipedia.org/wiki/Paging
-
Achso ok, da hab ich den Zweck falsch verstanden bzw. die Arbeitsweise.