Rolf b: Frage zum Wiki-Artikel „Konventionen für Dateinamen“

Beitrag lesen

problematische Seite

Also prinzipiell kann eine Pfadangabe unter NTFS bis ca 32k UTF16-Zeichen lang sein, aber bis vor kurzem war das Windows API an vielen Stellen auf 260 Zeichen limitiert (MAX_PATH Angabe im SDK). Viele der "Classic" API Funktionen haben ein Unicode-Gegenstück, in dem die Begrenzung schon länger nicht gilt.

Um lange Pfade zu nutzen, muss man aber bekanntgeben, dass man weiß was man tut. Deswegen gibt es ein opt-in Verfahren: Man muss dem Pfad ein UNC-Präfix voranstellen: \\?\.

Unter Win10 1607 hat sich das geändert, das API wurde erweitert, aber wie es der Kompatibilitätsteufel so will, muss Microsoft auf die Alt-Anwendungen achten die nicht umgestellt sind.

Unter Windows 10 sind auch viele Funktionen des "klassischen" API auf 32K Pfade erweitert worden, aber auch dafür muss man sich bereiterklären. Entweder zentral über einen Registry Eintrag, oder über ein Application Manifest.

So weit ich weiß, ist aber jeder einzelne Namensteil immer noch auf 255 Zeichen begrenzt (was man im Zweifelsfall per GetVolumeInformation abfragen kann).

Quelle

Rolf