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.