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

From
Grigory Tsukanov (2:5006/17.13)
To
Dmitry Krylov
Date
2002-02-28T11:47:05Z
Area
SU.WINDOWS.NT.PROG
Hello Dmitry!

 AAGk>> Кто решал подобную задачу - может есть лучшее решение?
 AAGk>> Моя задача ослеживать появление/копирование/изменение файлов в
 AAGk>> определенном каталоге, а потом проведение определенных действий
 AAGk>> с ними. Определить сам факт появления файла не
 AAGk>> проблема. FindFirstChangeNotification и компания с
 AAGk>> ReadDirectoryChanges нам в этом поможет. Но проблема в том что
 AAGk>> событие приходит сразу как только файл начал там появлятся. А
 AAGk>> он может быть длинным и копироваться медленно. Поэтому
 AAGk>> сложность - определить что он уже целиком на месте.
 DK>   Насколько могу судить, тебе следует отслеживать изменение размера
 DK> фай- ла (флаг FILE_NOTIFY_CHANGE_SIZE). Уведомление об этом
 DK> отправляется пос- ле фактической записи данных на диск.
дык временные файлы вообще на диск могут не попасть. Вроде бы система старается их как можно дольше хранить в ОЗУ.
 AAGk>> Пока единственная мысль - переодически открывать его на запись.
 AAGk>> Если не открывается то значит еще не готов. Но здесть есть море
 AAGk>> если. Может кто знает лучшее решение? Буду очень благодарен за
 AAGk>> мысли по этому вопросу.
 DK>   У Рихтера был пример программы (в 3-м издании - точно).
 AAGk>> PS: забыл добавить - задача решается под NT (4/2000/XP) на
 AAGk>> чистом С (без билдеров и пр) + WinAPI.
Grigory

... " http://gsoft.newmail.ru; http://www.nvkz.kuzbass.net/comics "
--- GoldED/W32 3.00.Beta4+
 * Origin:  иногда я просматриваю cukanovg@mail.ru  (2:5006/17.13)