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

Вниз

Мониторинг файловых операций   Найти похожие ветки 

 
Xenon   (2003-11-09 04:34) [0]

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


 
Ihor Osov'yak ©   (2003-11-09 05:12) [1]

Блин, за последнюю неделю третий аналогичный вопрос.

В общем случае - драйвер-фильтр файловой системы. www.sysinternals.com
утиль filemon. Отдельная реализация для w9x и nt-ряда. Смротреть в сторону DDK. К сожалению, не совсем по пути с делфи. Конечно, на делфи можно сделать реестрирующую часть, если будет принято решения єту часть делать в виде win32 приложения...


 
Alex Konshin ©   (2003-11-09 06:54) [2]

Уточнение: смотреть в сторону IFS Kit, который не входит в состав DDK, более того, не может быть установлен на той же машине, где стоит DDK. Стоит более $900, но для российского программера это, как я понимаю, не проблема :).


 
AlexRya   (2003-11-09 09:20) [3]

Возможно я и ошибаюсь, но, по-моему, IFS есть только под XP.
А если не хочется работать с драйверами, то можно попробвать перехват API-шных функций для работы с файлами: CreateFile, WriteFile, ReadFile... Можно перехватывать только их расширенные версии (Ex). 100%-ных результатов это не дает!


 
Alex Konshin ©   (2003-11-09 10:32) [4]

По крайней мере для 2K точно есть. У меня стоит XP IFS Kit и он включает и 2K.


 
Ihor Osov'yak ©   (2003-11-09 11:42) [5]

2 [2] Alex Konshin ©   (09.11.03 06:54)

ну, сисинтерналс немного оригинально поступили в этом плане  - они просто некоторые декларации из хидеров IFS выдернули, и включили в состав своих исходников.. Почему так утверждаю - до поры - времение исходники filemon у них свободно лежали на сайте, смотрел.. Сейчас убрали, но в комплектте с соотв. книгой Соломона и Русиновича они идут по прежнему..

Но впрочем, все равно спасибо за уточнение..
Да,  вспомнил - также встречал в интернете свободно распространяемые декларации, претендирующие частично заменить хидера от IFS, которых в принцыпе достаточно для создания аналога filemon, при наличии DDK (ну и студио, естественно).. Но вот насколько "легальны" эти декларации - уже сказать не могу..


 
Игорь Шевченко ©   (2003-11-09 22:49) [6]

Ihor Osov"yak ©   (09.11.03 11:42)
> они просто некоторые декларации из хидеров IFS выдернули


Если быть более точным, то из DDK. Из IFS там только одна структура _FILE_FS_ATTRIBUTE_INFORMATION

//
// These are prototypes for Filemon"s Fast I/O hooks. The originals
// prototypes can be found in NTDDK.H
//


 
Alone ©   (2003-11-10 11:44) [7]

Может быть подойдет: FindFirstChangeNotification(

   LPCTSTR lpPathName, // pointer to name of directory to watch  
   BOOL bWatchSubtree, // flag for monitoring directory or directory tree  
   DWORD dwNotifyFilter  // filter conditions to watch for
  );


 
clickmaker ©   (2003-11-10 12:41) [8]

ReadDirectoryChangesW


 
Leppard   (2003-11-10 13:37) [9]

2 Xenon:
 Меня, кстати тоже интересует подобный вопрос и нигде ничего и никто конкретно не говорит. Если кому не трудно, ответьте на мыло подробнее.


 
Alone ©   (2003-11-10 14:45) [10]

(создание,удаление и тп)
смотри FindFirstChangeNotification, FindNextChangeNotification, FindCloseChangeNotification и Wait Functions


 
Ihor Osov'yak ©   (2003-11-11 00:54) [11]

MS:
FindFirstChangeNotification May Not Notify All Processes on File Changes
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q188321
:-)
Ну и  больго неудобно с FindFirstChangeNotification и Ko работать..
В NT немного полегше, хотя бы ReadDirectoryChangesW - см.

http://msdn.microsoft.com/library/shared/searchtab/searchHandoff.asp?handoffurl=/isapi/gosearch.asp?TARGET=/us/dev/advan ced_search.asp&stcfg=/library/searchtabconfig.xml&qu=ReadDirectoryChangesW&btnSearch=GO

Но имхо, гарантировано, и действительно полноценный мониторинг - только драйвер-фильтр.. В особенности - для операций чтения :-)


 
Pantera111   (2004-01-17 20:06) [12]

А где можно почитать о том как этот драйвер-фильтр написать? Может примеры какие есть или статьи?


 
Alex Konshin ©   (2004-01-18 00:47) [13]

Сказали же уже: IFS Kit
Есть книжки на буржуйском, про русский не знаю.



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

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

Наверх




Память: 0.47 MB
Время: 0.037 c
14-1078163302
Pa5ha
2004-03-01 20:48
2004.04.04
TEMP


3-1078897962
Flagman
2004-03-10 08:52
2004.04.04
Как приконнектиться к Ораклу?


3-1078601952
Дмитрий2004
2004-03-06 22:39
2004.04.04
Срочно нужна помощь на счет фильтрации в ADO


3-1078919247
BPK
2004-03-10 14:47
2004.04.04
Как передать хранимой процедуре одиночные параметры + DataSet ?


1-1079099315
}|{yk
2004-03-12 16:48
2004.04.04
Странно. Почему Delphi это не хавает?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский