Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Speicherreservierung / Verständnisfrage (https://www.delphipraxis.net/51915-speicherreservierung-verstaendnisfrage.html)

Olli 23. Aug 2005 00:45

Re: Speicherreservierung / Verständnisfrage
 
Aus einer sehr kurzen "Analyse" ergibt sich folgendes Bild.
  • GlobalAlloc() & LocalAlloc()
    • RtlAllocateHandle()
    • RtlAllocateHeap()
    • RtlLockHeap()
    • RtlSetUserValueHeap()
    • RtlUnlockHeap()
    Beide benutzen also intern einen Heap. Es gibt offenbar eine Tabelle mit Heaps, habe es mir nicht en detail angeschaut. Beide Funktionen sehen prinzipiell sehr ähnlich aus! Allerdings werden nicht die exakt gleichen Exporte benutzt und GlobalAlloc() ist gestückelt (chunked function).
  • VirtualAlloc() -> (ruft auf) -> VirtualAllocEx()
    • NtAllocateVirtualMemory()
  • HeapAlloc()
    • Function forwarder -> NTDLL.RtlAllocateHeap()
Fazit: die Funktionen basieren auf verschiedenen Native APIs, wobei die grobe Gruppierung schon durch die Listenformatierung deutlich werden sollte. Weiter Infos zu den genannten APIs finden sich unter: http://jedi-apilib.sourceforge.net/n...ativeList.html sowie in unserer Native API Unit: http://jedi-apilib.sourceforge.net/ntapi

Die Analyse erfolgte mit der Kernel32.dll von Windows 2003 Server.

x000x 23. Aug 2005 01:07

Re: Speicherreservierung / Verständnisfrage
 
Zitat:

Zitat von Olli
Waren unsere Aussagen bisher so schlimm? ;)

Hehe, bis jetzt hast du (und auch der andere aus diesem Thread, dessen Namen ich immer noch nicht schreiben kann :wink: ) mir immer sachlich und ausführlich geantwortet :thumb: , es gibt aber auch andere Beispiele hier in der DP...
Codebeispiele will ich eigentlich nicht, da sonst wieder aussagen kommen wie:
Haste wieder kopiert... :zwinker:

Hab grad gesehen, dass du schon wieder geantwortet hast, kann ich mir aber erst morgen Abend ansehen... muß ins Bett (Freundin ruft schon) Thx schon mal, ist bestimmt wieder informativ


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:55 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz