отслеживание файловых событий

From
Dmitry Krylov (2:5051/1.8)
To
kovu
Date
2002-02-13T21:48:23Z
Area
SU.WINDOWS.NT.PROG
Hello Alex!

Sunday January 01 1970 00:00, Alex A Galkin (kovu) wrote to All:

 AAGk> Кто решал подобную задачу - может есть лучшее решение?
 AAGk> Моя задача ослеживать появление/копирование/изменение файлов в
 AAGk> определенном каталоге, а потом проведение определенных действий с ними.
 AAGk> Определить сам факт появления файла не проблема.
 AAGk> FindFirstChangeNotification и компания с ReadDirectoryChanges нам в этом
 AAGk> поможет. Но проблема в том что событие приходит сразу как только файл
 AAGk> начал там появлятся. А он может быть длинным и копироваться медленно.
 AAGk> Поэтому сложность - определить что он уже целиком на месте.

  Насколько могу судить, тебе следует отслеживать изменение размера фай-
ла (флаг FILE_NOTIFY_CHANGE_SIZE). Уведомление об этом отправляется пос-
ле фактической записи данных на диск.

 AAGk> Пока единственная мысль - переодически открывать его на запись. Если не
 AAGk> открывается то значит еще не готов. Но здесть есть море если.
 AAGk> Может кто знает лучшее решение?
 AAGk> Буду очень благодарен за мысли по этому вопросу.

  У Рихтера был пример программы (в 3-м издании - точно).

 AAGk> PS: забыл добавить - задача решается под NT (4/2000/XP) на чистом С (без
 AAGk> билдеров и пр) + WinAPI.

 AAGk> _________________
 AAGk> С наилучшими пожеланиями!
 AAGk> Алексей.

 AAGk> --- InterSquish NNTP Server/FTN Gate v.1.7.0.1
 AAGk>  * Origin: Default InterSquish Origin (2:5020/1873.25)

Dmitry

--- Единственное, что постоянно в жизни - неизбежность изменений ---
 * Origin: Let's the peace begin! (2:5051/1.8)