Wenn Du mit unterschiedlichen Datenlängen hantieren willst muss Sichergestellt werden wem der Speicher gehört.
Also brauchst Du dann zusätzliche Funktionen um den Speicher zu verwalten.
Ähnlich wie es ja an vielen Stellen in der
WINAPI gemacht wird.
entweder vorher nachfragen wieviel Speicher benötigt wird
oder eine Funktion um allozierten Speicher wieder freizugeben.
Wobei immer die alte Regel gilt das nur der Freigibt der auch angefordert hat.