Hmm,
Vielleicht hat es was mit dieser Bermerkung zu GetLongPathName zu tun, wobei ich sie nicht ganz verstehe:
Zitat:
If the return value is greater than the value specified in cchBuffer, you can call the function again with a buffer that is large enough to hold the path. For an example of this case, see the Example Code section for GetFullPathName.
Note Although the return value in this case is a length that includes the terminating null character, the return value on success does not include the terminating null character in the count.
Gut, eigentlich sollte also die Länge für den String + 1 kommen, wenn die Anzahl am Anfang zu klein ist. Evtl. ist sie das nicht, so dass die Zahl dann um eins zu kurz wäre.
Was passiert denn, wenn Du zwei Zeichen mehr als Länge angibst?