Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.29;
Скачать: CL | DM;

Вниз

Нотификационное сообщение - файл закрыт   Найти похожие ветки 

 
MAXLMN ©   (2006-06-15 12:25) [0]

Люди, подскажите, - как можно
отловить закрытие файла неким приложением.
Я имею ввиду не проверку, используется
ли файл в данный момент, а возможность
определить момент его зарытия


 
Ihor Osov'yak ©   (2006-06-15 12:31) [1]

можно, см. www.sysinternals.com filemon
драйвер-фильтр файловой системы.. Это по нормальному.. Но если допускается определенный элемент халявы - то перехват соотв. апи функций для соотв. приложения..


 
MAXLMN ©   (2006-06-15 12:38) [2]

Ты имеешь в виду FileMonitor?
Тогда не подойдёт.
Меня интересует программная реализация.
А насчёт API приложения -
оно заведомо неизвестно,так что не судьба


 
Ihor Osov'yak ©   (2006-06-15 12:40) [3]

блин, а что файмон не програмно реализован, а духом Господним? Или согласно идей Маркса-Ленина работает?


 
MAXLMN ©   (2006-06-15 12:41) [4]

Блин(тоже), я имею ввиду, что меня интересует Source Code


 
MAXLMN ©   (2006-06-15 12:45) [5]

Даже если у FileMonitor есть свой API, мне этот вариант
 всё равно никак не подходит


 
Сергей М. ©   (2006-06-15 12:52) [6]

Вариант написания собственного драйвера режима ядра тебе, надо понимать. еще более не подходит ?


 
Ihor Osov'yak ©   (2006-06-15 12:55) [7]

MAXLMN, купи книгу Соломона Русиновича, на диске есть исходники файлмонитора.. Для покупателей книги - фри для исследовательских целей, для комерционного юзания - нужно попросить разрешения у авторов (нигде явно не написано, платное оно или бесплатное).. Но, кстати, как я понимаю - посмотреть на исходники и соорудить нечто подобное никто не запрещает..


 
MAXLMN ©   (2006-06-15 13:00) [8]

Ядро конечно не катит. А насчет книги - надо посмотреть.
 Тока вот код сегодня сдавать. А вообще, неужели
 в винде нет ничего типа FindFirstChangeNotification,
 только для данной цели?


 
Сергей М. ©   (2006-06-15 13:11) [9]


> MAXLMN ©   (15.06.06 13:00) [8]


> Ядро конечно не катит


А без него - никак.

В ресурсах FileMonitor"а имеется образ готового KMD, причем на любой вкус. Достаточно изучить интерфейс взаимодействия с ним - и компромисс, считай, найден.


 
MAXLMN ©   (2006-06-15 13:16) [10]

> Сергей М. ©

Для отслеживания всех прочих изменений,
связянных с неким файлом, достаточно WIN API функций,
И где здесь свои дрова?
Почему ты не допускаешь существования подобных
методов решения данной проблемы?


 
Сергей М. ©   (2006-06-15 13:24) [11]


> Для отслеживания всех прочих изменений,
> связянных с неким файлом, достаточно WIN API функций


Заметь - с неким файлом. А не с его хендлами, коих м.б. великое множество.


> где здесь свои дрова?


Для получения нотификаций об изменениях в объектах файловой системы "дрова" действительно не требуются. Но ведь ты спрашиваешь не об этом !!

А раз не об этом , то см. [1] про "халяву".


 
Ihor Osov'yak ©   (2006-06-15 13:26) [12]

> Для отслеживания всех прочих изменений,
связянных с неким файлом, достаточно WIN API функций,

хотя бы потому, что этих апи уж очень много, уж очень много слоев (о существовании помимо win32 api так называемого native api слыхали, надеюсь?).. Также никто никому не запрещает напрямую вызвать Int 2E с соотв. параметрами - и лови ветра в поле.. Плюс помимо всего, не исключаю, что всякие сетевые запросы обрабатываются уже на уровне ring 0 (впрочем, если речь об одном приложении, конкретном - то можно о сетевых забыть)

> Почему ты не допускаешь существования подобных
методов решения данной проблемы?

Так как прарабатывалась в свое время похожая проблема, закончилось написанием подобия драйвера от файлмон...


 
Ihor Osov'yak ©   (2006-06-15 13:30) [13]

2 Сергей М. ©   (15.06.06 13:24) [11]

относительно "халявы" - много ньюансов, много апи нужно контролировать, ну а Int2e вообще неперехватываемое на уровне ring3 (а ведь не исключено, что хитрые системы могут юзать и его)..
Так что подитоживая - все таки правильный путь с драйвером фильтром в общем случае будет более халявный, в смысле - менее трулдозатратным.. Хотя в частном - не знаю, тут автору топика виднее..


 
Сергей М. ©   (2006-06-15 13:36) [14]


> относительно "халявы" - много ньюансов


Да, разумеется.
Но на то она и халява, чтобы ради нее подсуетиться)


> Int2e вообще неперехватываемое на уровне ring3


Ой.
Врешь ведь)
Доступ к GDT/IDT всегда имеется.


 
Ihor Osov'yak ©   (2006-06-15 13:37) [15]

> Врешь ведь)

может, я особо над этим не задумывался.. Спасибо за подсказку..



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

Текущий архив: 2006.10.29;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.043 c
15-1160161608
Чапаев
2006-10-06 23:06
2006.10.29
DVD-RAM. Medium format corrupted


3-1157344772
sias
2006-09-04 08:39
2006.10.29
Хранение почты eml в базе mssql


2-1160640883
LeonQ
2006-10-12 12:14
2006.10.29
TFormShaper - установка


3-1156927993
vlad54
2006-08-30 12:53
2006.10.29
Кириллица в таблицах в текстовых файлах


9-1137705526
Аццкий_рыцарь:)
2006-01-20 00:18
2006.10.29
Освещение в DelphiX...