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

Вниз

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

 
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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.047 c
1-1158359971
maxistent
2006-09-16 02:39
2006.10.29
GetProcessMemoryInfo


15-1159929701
Slider007
2006-10-04 06:41
2006.10.29
С днем рождения ! 4 октября


2-1161009570
funky
2006-10-16 18:39
2006.10.29
считывание опред. строки


2-1160727006
horse
2006-10-13 12:10
2006.10.29
System error code 1400. Недопустимый дескриптор окна.


8-1143218448
mobila
2006-03-24 19:40
2006.10.29
ограничить перемещения квадрата





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