![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Блокирование файла в ОС Windows не используя полититку безопаснос
Alexandr Tarasov © (2003-12-29 13:04:00)Hi masters! Help! Как залочить файл, не загружая его ни в какое приложение, кот. способна обработать файл. файл любой.
т.е при удалении из проводника чтобы эти залоченые файлы, нельзя было удалить и перезаписать. Все это в сеансе одного пользователя. Т.е прога должна лочить файлы.
YuRock (2004-01-19 15:26:00) [1]> BiN © (19.01.04 15:21) [10]
О! Спасибо, великий Мастер, за науку!
Дальнейшие фразы останутся без комментариев.
BiN (2004-01-19 15:21:00) [2]ответ придет, когда ты из опыта и логических выводовузнаешь, что такое режим ядра. (см. все того же Рихтера)
YuRock (2004-01-19 15:18:00) [3]> откуда такая информация? (!)
Из опыта и логических выводов.
BiN (2004-01-19 15:15:00) [4]YuRock © (19.01.04 15:06) [7]
"Какой-такой ядро-шведро, какой-такой режим-прижим?" :)
в том же стиле: А проверка "файла на заблокированность" - просто флажок - т.е. ОДНА элементарная операция!... проверка "файла на заблокированность" происходит всегда перед удалением, так что задержка - нулевая!-
откуда такая информация? (!)
YuRock (2004-01-19 15:06:00) [5]Какой "Режим"? Какого "Ядра"? О чем ты говоришь?
Woodpecker (2004-01-19 07:01:00) [6]>YuRock © (29.12.03 19:11) [4]
Поскольку файл - объект ядра, то, думаю, проверка "просто флажка" обернётся переключением в режим ядра со всеми вытекающими.
YuRock (2003-12-29 19:14:00) [7]Тем более, что проверка "файла на заблокированность" происходит всегда перед удалением, так что задержка - нулевая! А строки сравнивать - лишняя тяжелая операция!
YuRock (2003-12-29 19:11:00) [8]>Woodpecker ©
Да что ты говоришь? Сравнение строк - одна из самых тяжелых операций, т.к. сравниваются строки побайтово (а байтов может быть!..).
А проверка "файла на заблокированность" - просто флажок - т.е. ОДНА элементарная операция!
Woodpecker (2003-12-29 18:56:00) [9]2 Alexandr Tarasov
IMHO, сравнение строк в ОЗУ быстрее, чем проверка системой файла на заблокированность.
Alexandr Tarasov (2003-12-29 13:52:00) [10]Спасибо. Дело в следующем: хочу удалить, папку со всем ее содержимым, используя SHFileOperation, а оставить некот. файлы,
можно конечно сделать рекурсивное удаление папок и файлов, и проверять на соотвествие в черном списке. вариант с залочиванием самый простой, и думаю по производительности тоже, ведь проверка на соответствие тоже занимает время...
YuRock (2003-12-29 13:37:00) [11]LockFile или LockFileEx
Эти ф-ции блокируют часть файла. Можно просто открыть файл с помощью CreateFile или OpenFile (или просто ReSet/ReWrite). Но только это надо прогу держать открытой. А вообще это все очень не красиво. Зачем это?