2010-12-07 5 views
2

Я хочу, чтобы ни один другой процесс не менял содержимое конкретной папки. Я хотел бы остановить другие процессы от создания, удаления или изменения файлов в папке. Кроме того, я хотел бы, чтобы это ограничение входило в подпапки.Win32: Запретить изменение папки?

Я могу приблизиться к тому, что я хочу, перечислив содержимое папки и позвонив CreateFile на каждый файл. У этого есть проблемы в том, что он не останавливает создание новых файлов и требует, чтобы я приобрел лотов ручек.

Есть ли более простой способ получить то, что я хочу?


Update: Решение некоторых комментариев, что я хочу сделать, это предотвратить изменение в то время как моя программа работает. Это нормально, если файл изменяется между прогонами.

Что касается ACLS, приложение имеет доступ для чтения ко всем файлам в папке.

+1

Это не может работать. Доступ к каталогам контролируется привилегиями учетной записи пользователя, ничего больше. – 2010-12-07 23:29:21

ответ

3

ACLs будет лучшим способом, но если вы не можете заставить это работать по какой-либо причине (вы довольно тонкие в деталях), используйте драйвер фильтра файловой системы. Обратите внимание, что это не очень просто. Не ракетостроение, но вы должны быть осторожны с развитием водителя.

http://www.microsoft.com/whdc/driver/filterdrv/default.mspx

Смежные вопросы