Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Кто нибудь завязывался на 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]

А не проще просто не доводить до этого? Например, правильно назначить права доступа?


Наверх

Титульная страница Поиск, карта сайта Написать письмо