![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Кто нибудь завязывался на IFS? [D7, Win95/98, WinME, NT4, Win2k, WinXP]
Бушин Сергей © (2004-09-08 06:11:00)Или может какой другой способ подсказать, каким образом отслеживать изменение состояний в файловой системе? В некоторых случаях необходимо прервать операцию, например удаления файла.
Заранее спасибо за ответы.
Alex Konshin (2004-09-08 22:00:00) [1]На мой взгляд так проблема с удалением файлов надумана. Не так уж часто это происходит и от этого можно защититься штатными средствами.
А как тогда с изменениямифайлов? Я могу просто транкейтнуть файл до 0 размера. Потеря информации будет почти та же, что и при удалении. Я не уверен, что и IFS поможет в такой ситуации, ведь не будешь же бекапить файл перед каждым изменением. А если это действительно нужно, то и подход должен быть другим. Не удивлюсь, если будет проще реализовать сетевой диск, с необходимыми свойствами, правда от MS не добьешься нужной документации, хотя может помочь разбор исходников Samba из юниксов.
Ihor Osov'yak (2004-09-08 21:35:00) [2]2 Alex Konshin
см:
> А если и удаляется файл, то можно было бы сделать его архивную копию.
конечно, при условии, что это действительно нужно.. Ведь корзину, кажется, еще никто не отменял..
Alex Konshin (2004-09-08 20:43:00) [3]А мне нужно таким образом прерывать тоже удаление, что один файл в папке пользователь мог бы удалить, а другой нет.
Ну вот и назначь соответственно права. Тогда ничего и писать не потребуется. Я, конечно, понимаю, что IFS задействовать это круто, но зачем? Тем более, что на Delphi ты это не сделаешь.
Ihor Osov'yak (2004-09-08 13:29:00) [4]наверное только IFS. Можно, конечно, фантазировать об перехвате соотв. апи, но сразу вопрос - а как быть с перехватом операций, инициализированных со стороны кода, выполняемого на уровне ядра?
Бушин Сергей (2004-09-08 13:17:00) [5]Да, драйвер-фильтр. Но права мне не нужны, а через Notification я не могу узнать над чем и что конкретно произошло. Есть функция ReadChangeNotification, но и она не сможет прервать не нужную операцию. А мне нужно таким образом прерывать тоже удаление, что один файл в папке пользователь мог бы удалить, а другой нет. А если и удаляется файл, то можно было бы сделать его архивную копию. Так что тут по моему только IFS или все таки есть какие нибудь мысли еще?
Alex Konshin (2004-09-08 10:42:00) [6]При том, что если правильно организовать права, то отменять ничего не надо будет. А отслеживать можно и через notification.
В любом случае IFS и Delphi не дружат - там драйвер писать нужно.
Бушин Сергей (2004-09-08 10:21:00) [7]При чем тут права доступа? Мне нужно отслеживать изменения в файловой системе. Кто чего с файлами делает (куда копирует, перемещает, что создает и т.д.).Как FileMonitor например, но более сложная система.
Alex Konshin (2004-09-08 08:10:00) [8]А не проще просто не доводить до этого? Например, правильно назначить права доступа?