Вверх ↑
Этот топик читают: Гость
Ответов: 4754
Рейтинг: 534
#16: 2011-06-23 11:00:31 ЛС | профиль | цитата
Assasin писал(а):
а так же это решает проблему доступности одного файла в нескольких проектах
а через FileMapping не проще?
карма: 7
0
Ответов: 3889
Рейтинг: 362
#17: 2011-06-23 11:10:44 ЛС | профиль | цитата
1nd1g0 писал(а):
Я тебе нашёл исходники готовой утилиты на Delphi4 - это прямой порт утилиты Junction Руссиновича, написанной на C.

Assasin, и ещё один компонент Delphi, работающий с hard links и junction points (которые ошибочно называются там symbol links).
------------ Дoбавленo в 11.10:
andrestudio писал(а):
а через FileMapping не проще?

Погоди, мы сейчас не о отображении файла в разных программах, а о одинаковых файлах в разных папках, которые можно "склеить" в один. Поправив его в любой папке (дописав что-то в юнит, например, или иконку подправив) ты автоматом получаешь правильные изменения во всех остальных проектах. И место занимают файлы как один.
карма: 1

0
файлы: 2juntionpoints.7z [31.3KB] [189], xlink.zip [64.7KB] [120]
Разработчик
Ответов: 25690
Рейтинг: 2088
#18: 2011-06-23 11:20:04 ЛС | профиль | цитата
1nd1g0 писал(а):
а о одинаковых файлах в разных папках, которые можно "склеить" в один

Тебе не кажется, что это не совсем корректное объяснение И что не происходит там никакой "склейки", и совсем не обзательно иметь одинаковые имена. Это же обычные именованные указатели на один и тот же блок данных.
карма: 20

0
Ответов: 3889
Рейтинг: 362
#19: 2011-06-23 11:41:48 ЛС | профиль | цитата
nesco писал(а):
Тебе не кажется

Кажется, писал, сомневался, но решил просто заключить в кавычки. И уточнил далее по тексту, что к чему. Про различие имён да, забыл уточнить, что условно "склеиваются" в группу записи о наличии файлов, а не сами файлы. То есть образуется распределённая в пределах одного раздела диска группа записей имён файлов, соответствующих одному физическому массиву секторов на диске.

Ссылку на другой раздел дискадругой диск до NT6.x (NTFS 6-й ревизии) сделать было невозможно. Без доп. программ правильно работать с такими ссылками смогут только системы начиная с Vista.

Assasin, если уж научили добавлять, то тогда и корректно удалять hard, symbol и junction ссылки надо, ИМХО. А то то же удаление junction-директории под NT5.x может плохо закончиться для файлов внутри либо.
карма: 1

0
Ответов: 4754
Рейтинг: 534
#20: 2011-06-23 11:47:40 ЛС | профиль | цитата
filemappingex.zip требуется запуск хотя-бы пары экземпляров
карма: 7
0
файлы: 1filemappingex.zip [216.6KB] [177]
Ответов: 4505
Рейтинг: 719
#21: 2011-06-23 11:51:03 ЛС | профиль | цитата
nesco писал(а):
Это же обычные именованные указатели

Насколько я понял, то самое простое объяснение: это "ярлык" на файл, но с которым можно работать, как и с самим файлом.

Интересно: у меня есть расшаренная по сети папка. Я хочу выложить в эту папку, например, 4Гб фильм. Фильмы у меня лежат на другом разделе в отдельной папке. Варианта два: 1) скопировать фильм в расшаренную папку; 2) расшарить папку с фильмами.
Первое не подходит, так как занимает время и, что главнее, дополнительное место на диске.
Второе не подходит, так как я не хочу давать доступ ко всем фильмам (а вдруг у меня там "клубничка" лежит?).
Так вот вопрос: я могу с помощью предложенных здесь техник создать ссылку на фильм и поместить её в расшаренную папку?
карма: 26

0
Разработчик
Ответов: 25690
Рейтинг: 2088
#22: 2011-06-23 11:51:51 ЛС | профиль | цитата
1nd1g0 писал(а):
Кажется, писал, сомневался, но решил просто заключить в кавычки. И уточнил далее по тексту, что к чему. Про различие имён да, забыл уточнить, что условно "склеиваются" в группу записи о наличии файлов, а не сами файлы. То есть образуется распределённая в пределах одного раздела диска группа записей имён файлов, соответствующих одному физическому массиву секторов на диске

Ты где так мудрено научился писать Если хочешь, чтобы собеседник "потерялся" -- обратись к 1nd1g0

карма: 20

0
Ответов: 3889
Рейтинг: 362
#23: 2011-06-23 11:51:57 ЛС | профиль | цитата
Assasin писал(а):
Нашел способ перечисления всех Hard-ссылок, но работает опять-таки начиная от (кстати, не семерки, а) висты

Сам конкретно перечисления не делал, но видел много программ, работавших начиная с Win2K. Можно поискать. Перечисление возможно, но не исключено, что сложнее. Не разбирался пока. [offtop]Ещё интересная смежная тема "секретов" NTFS - USN журналы.[/offtop]
карма: 1

0
Разработчик
Ответов: 25690
Рейтинг: 2088
#24: 2011-06-23 11:58:43 ЛС | профиль | цитата
Netspirit писал(а):
это "ярлык" на файл, но с которым можно работать, как и с самим файлом.

Это именно то, о чем я написал
Wiki писал(а):
жесткие ссылки ссылаются на индексный дескриптор

Это именно именованный указатель. А "ярлык" -- это указатель на указатель

карма: 20

0
Ответов: 4505
Рейтинг: 719
#25: 2011-06-23 12:01:41 ЛС | профиль | цитата
А ещё говоришь, что 1nd1g0 мудрено пишет
карма: 26

0
Разработчик
Ответов: 25690
Рейтинг: 2088
#26: 2011-06-23 12:05:22 ЛС | профиль | цитата
Netspirit писал(а):
Так вот вопрос: я могу с помощью предложенных здесь техник создать ссылку на фильм и поместить её в расшаренную папку?

В расшаренной папке ты и должен будешь создать ссылку, а не перемещать ее туда. Насколько я понял, то работа этой системы осуществляется через MFT раздела. Тк всегда имеется одна ссылка на физический файл, то команда по существующей ссылке получает индексный дескриптор через MFT и создает для него новое имя
------------ Дoбавленo в 12.05:
Netspirit, ты не обычный пользователь и должен меня понимать прекрасно. Я объяснил это на языке ООП
карма: 20

0
Ответов: 4505
Рейтинг: 719
#27: 2011-06-23 12:09:08 ЛС | профиль | цитата
Я-то тебя понял, для меня просто непривычно слышать термин "указатель" по отношению к объекту файловой системы. Я привык работать с указателями на оперативную память.
карма: 26

0
Разработчик
Ответов: 25690
Рейтинг: 2088
#28: 2011-06-23 12:11:46 ЛС | профиль | цитата
Netspirit писал(а):
Я привык работать с указателями на оперативную память

А какая к черту разница -- блок данных в памяти или блок данных на диске, все это -- объекты с данными
карма: 20

0
Ответов: 4754
Рейтинг: 534
#29: 2011-06-23 12:12:33 ЛС | профиль | цитата
Assasin писал(а):
а так же это решает проблему доступности одного файла в нескольких проектах (именно так я и планирую сделать в грядущем проекте)
http://forum.proger.in.ua/lofiversion/index.php/t2856.html
p.s я чёт не догоняю, к чему ещё какие-то сложности, или покрепче зае..... требуется
карма: 7
0
Разработчик
Ответов: 25690
Рейтинг: 2088
#30: 2011-06-23 12:19:12 ЛС | профиль | цитата
Netspirit писал(а):
термин "указатель" по отношению к объекту файловой

Заметь, я назвал это не "указатель", а "именнованый указатель", предполагая о существовании некой записи в таблице (MFT), где существует абсолютный "указатель" -- индексный дескриптор
------------ Дoбавленo в 12.19:
andrestudio, мне кажется, что он просто создает виртуальную ссылку на файл у себя в директории, зная, что если он ее сотрет, то файл останется целым, пока не сотрется последняя виртуальная ссылка.
Вообще-то, я считаю, что если хочешь запутать пользователя, то применяй HardLink. Чел будет думать, что файл стерт, а вот фиг, размер на диске не поменялся... Гы-гы-гы
Насколько мне известно, то BitTorrent применяет создание виртуальных ссылок.
карма: 20

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)