Здравствуйте, CreatorCray, Вы писали:
N>>Ты не согласен с MSDN? Тогда покажи, где и почему они врут.
CC>Потому что функционал этот доступен (официально) с XP, а по факту как бы не с W2k
CC>В 10ке просто сделали альтернативный вариант.
Я ж наивная и доверчивая, я доку смотрю, под рукой последний год только юниксы, винды нет. А там:
To extend this limit to 32,767 wide characters, call the Unicode version of the function and prepend "\?" to the path.
(из CreateDirectoryW)
А ниже про 1607:
you can opt-in to remove the 248 character limitation without prepending "\\?\".
То есть добавить должен "\?", а потом могу не добавлять "\\?\". Разные строки. Как это понять?
Мало того, при попытке разъяснить это по ссылке "Naming a file" вижу:
Because you cannot use the "\\?\" prefix with a relative path, relative paths are always limited to a total of MAX_PATH characters.
То есть и могу, и не могу, на самом деле, потому что действует только для абсолютных путей. Но, раз в 1607 могу не добавлять этот префикс, значит, для относительных путей начнёт работать?
Потому я и говорю, что нужна 1607, чтобы всё заработало. Хотя...
Или префикс "\?" (первый упомянутый) помогает и в случае относительных путей? Объясни, пожалуйста.
И который из двух префиксов работает начиная с XP?