Das ist mir durchaus bewusst, jedoch vom Auftraggeber so gewünscht.

Der Auftraggeber versucht durch das Übergeben von Pointern dem Aufrufer zu verschleiern, um was für Felder es sich handelt, um das Feld oder die DS als "RPG-Objekt" zu behandeln.

Wenn die lokale Adresse nach Return nicht mehr gültig ist, warum kann ich dann im aufrufenden Programm nach dem Return darauf zugreifen?