Проверьте режим совместного использования каталога в Windows - PullRequest
0 голосов
/ 24 февраля 2011

Мой вопрос, кажется, простой, но Google молчит.Я забанен, может быть?:)

Итак, вопрос в том, могу ли я проверить, есть ли какие-либо заблокированные от удаления файла в каталоге или его подкаталогах, прежде чем удалить его?Есть ли простой способ сделать это?

1 Ответ

3 голосов
/ 24 февраля 2011

Нет, нет.

И даже если бы это было, это не сработало бы. Рассмотрим эту последовательность событий:

  1. Вы выполняете проверку, и она успешна (нет заблокированных файлов).
  2. Другой процесс получает квант ЦП и открывает файл без флага FILE_SHARE_DELETE.
  3. Ваш процесс восстанавливает ЦП и продолжает удалять каталог - только чтобы обнаружить, что он не может этого сделать, потому что теперь является заблокированным файлом.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...