nja, ich hätt eher keine extra
Ansi- und
Unicode-Vaianten erwartet, da die kurzen Dateienamen nie
Unicode sind

, aber egal.
bezüglich Fehler: nach Ausführen von SetFileShortName und Funktionsergebinis (Result) = False mal mit GetLastError die Fehlernummer abfragen.
PS: am Häufigsten / Standard
C = StdCall
Delphi = Register
Ein Therapeut entspricht 1024 Gigapeut.