Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Блокирование файла в ОС 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). Но только это надо прогу держать открытой. А вообще это все очень не красиво. Зачем это?


Наверх

Титульная страница Поиск, карта сайта Написать письмо