Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.019 c
4-1073637118
SAnta
2004-01-09 11:31
2004.03.28
Почта


3-1077881107
Алексей
2004-02-27 14:25
2004.03.28
BDE и MSSQL


1-1078939826
Delphi5.01
2004-03-10 20:30
2004.03.28
IMENNO KATALOG


3-1077373914
diwin
2004-02-21 17:31
2004.03.28
Как скопировать хранимую процедуру в другую бд?


1-1078890444
vintik
2004-03-10 06:47
2004.03.28
Вопрос по настройкам




   Наверх