MAX_PATH в WinRT

Я знаю, что доступ к файловой системе в WinRT другой (читай: изолированный), но мне любопытно, нужно ли нам по-прежнему беспокоиться о MAX_PATH, или этого ограничения удалось избежать?


person codekaizen    schedule 11.10.2011    source источник


Ответы (1)


Нет, ограничения MAX_PATH не были сняты — если вы передаете путь длиннее, чем MAX_PATH, API среды выполнения Windows, который принимает путь, все еще существует вероятность сбоя. Но MAX_PATH гораздо менее актуален, поскольку API-интерфейсы среды выполнения Windows обычно работают со строками, а не с буферами символов.

Кроме того, поскольку приложения в стиле метро, ​​как правило, ограничены в каталогах, к которым они обращаются, вероятность обнаружения глубоких путей меньше.

person ReinstateMonica Larry Osterman    schedule 12.10.2011
comment
Я ценю ценную информацию, Ларри. Я понимаю, что вопрос в основном спорный, поскольку ограничения на приложения в стиле метро предотвратят многие сценарии, в которых это может быть проблемой. Однако мне было довольно любопытно, насколько сильно внутреннее отделение было сделано от API-интерфейсов Win32, где определено MAX_PATH. - person codekaizen; 12.10.2011
comment
Я не верю, что исправление ограничения MAX_PATH было целью среды выполнения Windows. - person ReinstateMonica Larry Osterman; 12.10.2011
comment
Конечно. Однако мне кажется, что это разумный представитель константы, не учитываемой при создании новой структуры, если избежать всех зависимостей Win32. Я был бы рад услышать лекцию о том, почему либо 1) это неразумный выбор индикатора для проверки этой гипотезы, либо 2) вся эта гипотеза ошибочна; и был бы в долгу перед вами таким образом, что мне, вероятно, пришлось бы оставить землю, все еще неся бремя, если бы вы приложили какие-либо усилия для этого. - person codekaizen; 12.10.2011
comment
Кто вообще сказал, что зависимостей Win32 избегали? Некоторые части среды выполнения Windows являются на 100 % новыми, но другие части написаны поверх существующих API-интерфейсов Win32. - person ReinstateMonica Larry Osterman; 12.10.2011
comment
Никто из тех, кого я знаю. Но в том-то и проблема... Никто не подтвердил, что их тоже не избежали. Я не знал, как скорректировать свою ментальную карту внутренних зависимостей Windows, учитывая WinRT. Я полагал, что MAX_PATH даст мне представление об этих зависимостях, потому что я знаю, что это специфично для Win32, хотя я также рад быть обученным в этом вопросе (например, где заканчиваются API Win32 и начинается MSVCRT, для меня довольно нечетко) . - person codekaizen; 12.10.2011
comment
Не беспокойтесь о внутренних зависимостях (серьезно). Среда выполнения Windows — это новая платформа для написания приложений. Некоторые из них написаны поверх существующих API-интерфейсов Win32, некоторые написаны полностью с нуля. Неясно, будут ли переданы ЛЮБЫЕ знания о причудах в Win32 API, и я уверен, что API-интерфейсы среды выполнения Windows будут иметь свои собственные причуды (я не знаю ни одного API, у которого не было бы причуд). - person ReinstateMonica Larry Osterman; 13.10.2011
comment
@LarryOsterman должен беспокоиться о внутренних зависимостях, поскольку ограничения наследуются. Все еще нужно беспокоиться о max_path с winrt. - person Factor Mystic; 14.07.2014