Wie soll man die Funktion nun verstehen? Zuerst die Funktion auf gut Glück ausführen um zu gucken ob alles ok ist, wenn nicht, dann ein zweites Mal mit den richtigen Werten?
Nicht auf gut Glück. Erst mit nSize = 0 und lpDst = nil und damit die benötigte Größe ermitteln. Dann den passenden Puffer allokieren und mit den korrekten Werten nochmal übergeben um das Ergebnis zu bekommen.