Как выполнить сабж, а отследив уго, НЕ ДАТЬ Windows удалить его самой,
а вместо этого оставить файл на месте и определить его имя?
Apiшная Функция FindFirstChangeNotification при этом врядли уместна, т.к. она не определяет
однозначно был ли файл удален... она сработает и тогда, если файл был например не удален,
а создан, кроме того она не определяет имя файла...
Здравствуйте, Shurick ok, Вы писали:
SO>Не совсем то имелось в всиду...
SO>1. Заранее не известно, какой файл и где будет удален. Нужно отследить удаление ЛЮБОГО файла SO>на ЛЮБОМ жестком диске.
SO>2. Необходимо узнать его имя.
SO>3. И НЕ дать Windows удалить его самой,
SO>4. а вместо этого удалить его так, чтобы он НЕ подлежал восстановлению. SO> (по 4-омй этапу вопросов нет)
SO>По идее нужно перехватывать функцию DeleteFile, подставляя вместо нее свою.
Одной функцией DeleteFile() ты не обойдешься — потому что это функция UserMode.
Тебе бы написать маленький драйверочек и положить его поверх основного драйвера файловой системы. Этот мелкий драйверочек мог бы перехватывать запросы на удаление удаление файлов и...
Вот только незадача: за API для написания драйверов файловых систем Мелкософт хочет немножко баксов. Совсем чуть-чуть — всего тысячу...
____________________
God obviously didn't debug, hasn't done any maintenance, and no documentation can be found. Truly amateur work.
Здравствуйте, Shurick ok, Вы писали:
SO>Help, Please!!!
SO>Как выполнить сабж, а отследив уго, НЕ ДАТЬ Windows удалить его самой, SO>а вместо этого оставить файл на месте и определить его имя?
SO>Apiшная Функция FindFirstChangeNotification при этом врядли уместна, т.к. она не определяет SO>однозначно был ли файл удален... она сработает и тогда, если файл был например не удален, SO>а создан, кроме того она не определяет имя файла... SO>
SO>Заранее благодарен.
DDK + NuMega Driver Studio = FileSystem Filter Driver (адназначна)
Ловишь обращения к файлам и код обращения... все кроме удаления пропускаешь, удаление убиваешь... Но не забывай, что Винда в процессе работы создает кучу временных файлов которые живут вплоть до нескольких милисекунд. Это относится и к MemoryFiles. Отсель вывод... будь ОЧЕНЬ осторожен и обговори все условия отбора файлов на запрет удаления, иначе не заметишь как кончится free space как на диске так и в ramю
The darkness around me
Shores of solar sea
Oh how i wish to go down with the sun....
Re[2]: Как отследить удаление файла в Win'98?
От:
Аноним
Дата:
25.05.04 07:32
Оценка:
Здравствуйте, free stranger, Вы писали:
FS>Здравствуйте, Shurick ok, Вы писали:
SO>>Help, Please!!!
SO>>Как выполнить сабж, а отследив уго, НЕ ДАТЬ Windows удалить его самой, SO>>а вместо этого оставить файл на месте и определить его имя?
SO>>Apiшная Функция FindFirstChangeNotification при этом врядли уместна, т.к. она не определяет SO>>однозначно был ли файл удален... она сработает и тогда, если файл был например не удален, SO>>а создан, кроме того она не определяет имя файла... SO>>
SO>>Заранее благодарен.
FS>DDK + NuMega Driver Studio = FileSystem Filter Driver (адназначна)
FS>Ловишь обращения к файлам и код обращения... все кроме удаления пропускаешь, удаление убиваешь... Но не забывай, что Винда в процессе работы создает кучу временных файлов которые живут вплоть до нескольких милисекунд. Это относится и к MemoryFiles. Отсель вывод... будь ОЧЕНЬ осторожен и обговори все условия отбора файлов на запрет удаления, иначе не заметишь как кончится free space как на диске так и в ramю
ПЛЗ, скиньте ссылку, или вкратце опишите, как пользовать NuMega Driver Studio для написания именно FileSystem Filter Driver а не обычных драйверов для железа
Мне кажется, что все, что тут писалось ранее имеет отношение скорее к Win2000 и пр.
Судя по теме ветки, вам это нужно для Win98, тогда смотрим в сторону filemon, там показано, как писать VxD перехватывающий все файловые операции. Из него все должно быть понятно.
Если будут вопросы, задавайте.
Re[2]: Как отследить удаление файла в Win'98?
От:
Аноним
Дата:
25.05.04 07:52
Оценка:
Здравствуйте, Lonely Dog, Вы писали:
LD>Здравствуйте, Shurick ok, Вы писали:
LD>Мне кажется, что все, что тут писалось ранее имеет отношение скорее к Win2000 и пр. LD>Судя по теме ветки, вам это нужно для Win98, тогда смотрим в сторону filemon, там показано, как писать VxD перехватывающий все файловые операции. Из него все должно быть понятно. LD>Если будут вопросы, задавайте.
1 интересует и для 98 и для NT 4,5
2 где взять этот filemon — на sysinternals.com сырцов нет
3 если filemon только для 98, на что смотреть для NT?
Здравствуйте, Аноним, Вы писали:
А>2 где взять этот filemon — на sysinternals.com сырцов нет
Могу кинуть на мыло.
А>3 если filemon только для 98, на что смотреть для NT?
Для NT надо смотреть на IFS Kit. Про него здесь уже писали.
Да, крайне не рекомендую за основу драйвера в w2000 брать filemon.
Я запарился его вычищать от того функционала, который мне не нужен.
В результате, взял за основу пример из IFS Kit, причесал его и все стало круто.
Re[4]: Как отследить удаление файла в Win'98?
От:
Аноним
Дата:
25.05.04 08:03
Оценка:
Здравствуйте, Lonely Dog, Вы писали:
LD>Здравствуйте, Аноним, Вы писали:
А>>2 где взять этот filemon — на sysinternals.com сырцов нет LD>Могу кинуть на мыло.
А>>3 если filemon только для 98, на что смотреть для NT? LD>Для NT надо смотреть на IFS Kit. Про него здесь уже писали. LD>Да, крайне не рекомендую за основу драйвера в w2000 брать filemon. LD>Я запарился его вычищать от того функционала, который мне не нужен. LD>В результате, взял за основу пример из IFS Kit, причесал его и все стало круто.
мыло — westley@rambler.ru
аська — 299100894
ловлю сырцы filemon и еще хотелось бы IFS Kit — у мелкософта запарился искать...
Здравствуйте, noesis, Вы писали:
N>Здравствуйте, Lonely Dog, Вы писали:
LD>>Могу кинуть на мыло. N>А мне не кинете на мыло до кучи? noesis@inbox.ru N>и IFS если есть?