Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.28;
Скачать: CL | DM;

Вниз

Блокирование файла в ОС Windows не используя полититку безопаснос   Найти похожие ветки 

 
Alexandr Tarasov   (2003-12-29 13:04) [0]

Hi masters! Help! Как залочить файл, не загружая его ни в какое приложение, кот. способна обработать файл. файл любой.
т.е при удалении из проводника чтобы эти залоченые файлы, нельзя было удалить и перезаписать. Все это в сеансе одного пользователя. Т.е прога должна лочить файлы.


 
YuRock ©   (2003-12-29 13:37) [1]

LockFile или LockFileEx

Эти ф-ции блокируют часть файла. Можно просто открыть файл с помощью CreateFile или OpenFile (или просто ReSet/ReWrite). Но только это надо прогу держать открытой. А вообще это все очень не красиво. Зачем это?


 
Alexandr Tarasov   (2003-12-29 13:52) [2]

Спасибо. Дело в следующем: хочу удалить, папку со всем ее содержимым, используя SHFileOperation, а оставить некот. файлы,
можно конечно сделать рекурсивное удаление папок и файлов,  и проверять на соотвествие в черном списке. вариант с залочиванием самый простой, и думаю по производительности тоже, ведь проверка на соответствие тоже занимает время...


 
Woodpecker ©   (2003-12-29 18:56) [3]

2 Alexandr Tarasov

IMHO, сравнение строк в ОЗУ быстрее, чем проверка системой файла на заблокированность.


 
YuRock ©   (2003-12-29 19:11) [4]

>Woodpecker ©
Да что ты говоришь? Сравнение строк - одна из самых тяжелых операций, т.к. сравниваются строки побайтово (а байтов может быть!..).
А проверка "файла на заблокированность" - просто флажок - т.е. ОДНА элементарная операция!


 
YuRock ©   (2003-12-29 19:14) [5]

Тем более, что проверка "файла на заблокированность" происходит всегда перед удалением, так что задержка - нулевая! А строки сравнивать - лишняя тяжелая операция!


 
Woodpecker ©   (2004-01-19 07:01) [6]

>YuRock ©  (29.12.03 19:11) [4]

Поскольку файл - объект ядра, то, думаю, проверка "просто флажка" обернётся переключением в режим ядра со всеми вытекающими.


 
YuRock ©   (2004-01-19 15:06) [7]

Какой "Режим"? Какого "Ядра"? О чем ты говоришь?


 
BiN ©   (2004-01-19 15:15) [8]

YuRock ©   (19.01.04 15:06) [7]
"Какой-такой ядро-шведро, какой-такой режим-прижим?" :)

в том же стиле: А проверка "файла на заблокированность" - просто флажок - т.е. ОДНА элементарная операция!... проверка "файла на заблокированность" происходит всегда перед удалением, так что задержка - нулевая! -

 откуда такая информация? (!)


 
YuRock ©   (2004-01-19 15:18) [9]

>  откуда такая информация? (!)

Из опыта и логических выводов.


 
BiN ©   (2004-01-19 15:21) [10]

ответ придет, когда ты из опыта и логических выводов узнаешь, что такое режим ядра. (см. все того же Рихтера)


 
YuRock ©   (2004-01-19 15:26) [11]

> BiN ©   (19.01.04 15:21) [10]

О! Спасибо, великий Мастер, за науку!
Дальнейшие фразы останутся без комментариев.



Страницы: 1 вся ветка

Текущий архив: 2004.03.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.029 c
14-1077873030
Некто интересующийся
2004-02-27 12:10
2004.03.28
Интересуюсь мнением


1-1078932333
pasha_golub
2004-03-10 18:25
2004.03.28
НЕ могу поймать WM_NOTIFy


3-1077630209
SM
2004-02-24 16:43
2004.03.28
Ув. мастера, как в IB создать кальк. поле с отсечением дроб. част


3-1077701924
Iwanttolearndelphi
2004-02-25 12:38
2004.03.28
Вопрос о выборе технологии...


4-1073995115
Chaynik
2004-01-13 14:58
2004.03.28
Как использовать 16 битную DLL в 32 битном приложении