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