Wenn du mit der Referenz auf ein Record arbeitest, also der Art
, dann wird für diesen bereits per Compilermagic Speicher reserviert.
Nimmst du statt dessen einen Pointertypen auf einen Record der Art
, so musst du selbst Hand anlegen. Im Grunde wie sonst auch.
Bei Records/Structs die von
API Funktionen als reine out-Variablen zurückgeliefert werden, übernimmt diese Funktion
meistens auch die Reservierung. Beispielsweise wird in manchen Messages ein Pointer auf einen Struct geliefert, und dort hättest du ja nichtmals die Chance einen Speicherbereich vorher dafür festzulegen. Da die
WinAPI aber nicht immer zwangsweise in sich konsistent ist, kannst du eigentlich nur durch Nachschauen im
msdn sicher sein wie diese oder jene Funktion es denn gerne hätte. Daher sind Faustregeln hier finde ich eher hinderlich
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)