NtfsDisable8dot3NameCreation bedeutet "nur", dass nicht gleich zu Beginn auch immer der 8.3-Dateiname erzeugt wird. (hatte ich so mal irgendwo gelesen, aber kann auch nur Aberglaube sein)
Wenn es nötig ist, sollte Windows diesen Pfadnamen dennoch erstellen.
Allerdings kann es sein dass
GetShortPathName nur bestehende Namen abfragt und bei Nichtexistenz die Arbeit einfach abbricht.
Man könnte es explizit mit der
ANSI-Version dieser
API versuchen.
Bei
ANSI greifen in vielen APIs oftmals Sicherheitsmaßnamen (abwärtskompatibilität), wo dann dennoch diese kurzen "DOS"-Namen generiert werden.
Und ja, auch der Explorer kann mit überlangen Pfaden umgehen, aber wie bei den meisten APIs nur für relative Pfade oder bei Verwendung von
UNC.
Ebenso verstehen viele (nicht alle) überlange Pfade nur via
UNC. Gilt aber oftmals nicht für APIs, die Pfadnamen "manipulieren" und das in "statischen" Puffern erledigen, wie eventuell bei GetShortPathName.