Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];

Вниз

Кто нибудь завязывался на IFS?   Найти похожие ветки 

 
Бушин Сергей   (2004-09-08 06:11) [0]

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

Заранее спасибо за ответы.


 
Alex Konshin ©   (2004-09-08 08:10) [1]

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


 
Бушин Сергей   (2004-09-08 10:21) [2]

При чем тут права доступа? Мне нужно отслеживать изменения в файловой системе. Кто чего с файлами делает (куда копирует, перемещает, что создает и т.д.).Как FileMonitor например, но более сложная система.


 
Alex Konshin ©   (2004-09-08 10:42) [3]

При том, что если правильно организовать права, то отменять ничего не надо будет. А отслеживать можно и через notification.
В любом случае IFS и Delphi не дружат - там драйвер писать нужно.


 
Бушин Сергей   (2004-09-08 13:17) [4]

Да, драйвер-фильтр. Но права мне не нужны, а через Notification я не могу узнать над чем и что конкретно произошло. Есть функция ReadChangeNotification, но и она не сможет прервать не нужную операцию. А мне нужно таким образом прерывать тоже удаление, что один файл в папке пользователь мог бы удалить, а другой нет. А если и удаляется файл, то можно было бы сделать его архивную копию. Так что тут по моему только IFS или все таки есть какие нибудь мысли еще?


 
Ihor Osov'yak ©   (2004-09-08 13:29) [5]

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


 
Alex Konshin ©   (2004-09-08 20:43) [6]

А мне нужно таким образом прерывать тоже удаление, что один файл в папке пользователь мог бы удалить, а другой нет.
Ну вот и назначь соответственно права. Тогда ничего и писать не потребуется. Я, конечно, понимаю, что IFS задействовать это круто, но зачем? Тем более, что на Delphi ты это не сделаешь.


 
Ihor Osov'yak ©   (2004-09-08 21:35) [7]

2 Alex Konshin

см:
> А если и удаляется файл, то можно было бы сделать его архивную копию.

конечно, при условии, что это действительно нужно.. Ведь корзину, кажется, еще никто не отменял..


 
Alex Konshin ©   (2004-09-08 22:00) [8]

На мой взгляд так проблема с удалением файлов надумана. Не так уж часто это происходит и от этого можно защититься штатными средствами.
А как тогда с изменениями файлов? Я могу просто транкейтнуть файл до 0 размера. Потеря информации будет почти та же, что и при удалении. Я не уверен, что и IFS поможет в такой ситуации, ведь не будешь же бекапить файл перед каждым изменением. А если это действительно нужно, то и подход должен быть другим. Не удивлюсь, если будет проще реализовать сетевой диск, с необходимыми свойствами, правда от MS не добьешься нужной документации, хотя может помочь разбор исходников Samba из юниксов.



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.851 c
14-1095520764
kaZaNoVa
2004-09-18 19:19
2004.10.10
Устанавливаю винду, что выбрать ? ХР или 2003 ? или всё же 2000 ?


14-1095911456
Onix
2004-09-23 07:50
2004.10.10
Наука администрирования


3-1095156880
Andriy Tysh
2004-09-14 14:14
2004.10.10
ADOQuery.SQL.Add( ... ) & Transaction


14-1095931679
Petr V. Abramov
2004-09-23 13:27
2004.10.10
Кафе "Бульварное" снова открылось


14-1095594379
_iceman_home
2004-09-19 15:46
2004.10.10
Проблемы с монитором





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский