die dort aufgezeigte Lösung ist aber recht unschön. Zumindest finde ich es recht unelegant erst eine Datei anzulegen die man dann wieder löschen will wenn es auch anders geht.
Ich würde vermuten das es am fehlerhaften Aufruf von pAAR.QueryCurrentDefault liegt.
Dort wird derzeit un ininitialisierter Pointer rein gereicht.
Wenn die Funktionen wie die meisten anderen
Api-Funktionen arbeitet wird dort ein Pointer auf einen gültigen Speicherbereich erwartet. Ich würde einfach mal den Pointer mit einem bestimmten Wert initialisieren und wenn der Pointer danach nicht auf 0 geändert wurde ist es definitiv so das dort ein Pointer auf einen gültigen Bereich erwartet wird. Oder nochmal in die Doku schauen und vor allem den Fehlercode abfragen.