Я недавно добавил использование GetTempPath в приложение.Во время проверки кода было подчеркнуто, что описание GetTempPath содержит информацию:
Приложение должно проверять наличие пути и адекватные права доступа к пути перед любым использованием операций ввода-вывода файла..
Теперь весь доступ к файлам заключен в блоки try / catch, и какая будет система, которая не имеет доступа к своему собственному временному каталогу?
Моя первоначальная идея была быпопытаться создать каталоги, если они не существуют (через GetFileAttributes и CreateDirectory), а затем создать файл, записать байт, а затем удалить файл.Хотя это сработает, оно пахнет невежеством - наверняка есть лучший способ проверить, есть ли у вас доступ на запись в папку?
Я начал искать и нашел константы атрибута файла, общие права доступа, стандартные права доступа, файлКонстанты прав доступа и функция GetSecurityInfo.Казалось, что все это создает решение, которое длиннее, чем создание файла, и проверяет, придерживается ли он метода.
Итак, как правильно использовать функции проверки WinAPI, у вас есть права на запись в папку?