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

Вниз

виртуальная NTFS   Найти похожие ветки 

 
Tirael   (2011-02-16 11:33) [0]

Есть потребность написать виртуальный диск, с виртуальными же файлами. т.е. на диске файлы какбы есть, а физически их будет отдавать программа по мере запроса..

так вот проблема в том, что чтоб эти файлы на диск "положить" их надо "обернуть" в NTFS (FAT к сожалению не подходит по размеру). но прочитав описание NTFS я понял что вручную мне заполнение всех структур оной не осилить....

может есть какие нибудь способы получить эту NTFS обертку (точнее переходник) средствами винды и т.п.?


 
clickmaker ©   (2011-02-16 11:40) [1]

если диск виртуальный, нахрена какая-либо FS?


 
Tirael   (2011-02-16 11:46) [2]

ну дак это, винда то будет думать что реальный, таблицу размещения файлов искать и т.п....


 
clickmaker ©   (2011-02-16 11:48) [3]

и чем существующие средства не угодили? тот же subst


 
Tirael   (2011-02-16 11:52) [4]

так написал же в первом посте... файлов то нету... чем мне поможет подключение пустой папки к букве диска? с тем же успехом можно было б и из той папки запускать :-)


 
Sha ©   (2011-02-16 11:58) [5]

> а физически их будет отдавать программа по мере запроса

Научи программу в некоторых случаях выдавать твои данные вместо файлов,
как это делают, например, веб-серверы.


 
Rouse_ ©   (2011-02-16 12:05) [6]


> Tirael   (16.02.11 11:46) [2]
>
> ну дак это, винда то будет думать что реальный

Драйвер файловой системы не с полпинка вообще-то пишется, а тут еще и NTFS не знаешь...
Но вообще пример можно посмотреть в DDK src\filesys\cdfs\


 
Tirael   (2011-02-16 12:13) [7]

хм, чтоб было понятней приведу пример.
пример надуманный - но общую суть отражает.

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

>> Rouse_ ©   (16.02.11 12:05) [6]

не поверишь, драйвер уже написан :) только толку от него мало :( не если конечно перенаправить все тупо в буфер в памяти, и форматировать виндой, то этакий рамдиск получается... поиграться интересно но задачу это не решает


 
clickmaker ©   (2011-02-16 12:19) [8]

> задача посмотреть фильму не распаковывая ее на диск

надуманная проблема какая-то. Распакуй в темп, по просмотру сотри, делов-то


 
Tirael   (2011-02-16 12:23) [9]

clickmaker ©   (16.02.11 12:19) [8]

вот ведь странный человек - говорю же надуманная, значит чтоб не грузить деталями выдумал вот такую - получится сделать это эначит получится то что мне нужно. но ВСЕ условия, однако, должны соблюдаться, включая и нераспаковку :)


 
clickmaker ©   (2011-02-16 12:29) [10]

> включая и нераспаковку

угу. приготовить омлет, не разбив яиц.
смысл-то в чем всего этого? соблюдение суперсекретности при просмотре порнухи?


 
han_malign   (2011-02-16 13:10) [11]

копать сюда
http://msdn.microsoft.com/en-us/library/bb776815%28VS.85%29.aspx#basic


 
RWolf ©   (2011-02-16 13:12) [12]

http://dokan-dev.net/en/


 
KSergey ©   (2011-02-16 13:26) [13]

> RWolf ©   (16.02.11 13:12) [12]

Вот! бывают же ответы по делу!
а то я уже флудить хотел начать.

Отличная ссылка, спасибо.


 
Anatoly Podgoretsky ©   (2011-02-16 13:50) [14]

> Tirael  (16.02.2011 11:33:00)  [0]

Ты сделай просто диск, а как он будет отформатирован не твоя задача.


 
Anatoly Podgoretsky ©   (2011-02-16 13:52) [15]

> clickmaker  (16.02.2011 12:19:08)  [8]

Я на него посмотрю как он в память гигабайт 50 поместит.


 
Tirael   (2011-02-16 21:00) [16]

Anatoly Podgoretsky ©   (16.02.11 13:50) [14]

так у меня и есть просто диск. только вот как отформатирован... выходит что моя. это во всяких рамдисках винда сама потом форматирует. а мне же надо считай образ в девайс вставить, только образ этот динамически создать надо в зависимости от конкретных на момент выполнения файлов


 
Leonid Troyanovsky ©   (2011-02-16 22:57) [17]


> KSergey ©   (16.02.11 13:26) [13]

> а то я уже флудить хотел начать.

Бо, Tirael - родственник?

--
Regards, LVT.


 
Tirael   (2011-02-19 13:17) [18]

Придумал вот такое извращение:

пишем одноразовую утилитку, которая "вставит" в драйв диск этак на террабайт, потом из под винды форматируем быстрым форматированием этот диск, задача утилитки сдампить все изменения. - по идее получим "заготовку" ФС

потом в рабочей програме "вставляем" эту заготовку - в теории винда должна увидеть пустой диск., и дже создать любимые папки аля "System Volume Information". Дальше программа просто создает нужные файлы на этом диске - соответственно изменения в NTFS сохраняем, а данные пишем вникуда - получаем валидное заполнение структур NTFS без лишнего гемора. В теории должно быть быстро даже для больших файлов. дальше покопавшись в MFT получаем цепочки кластеров, чтоб знать какую часть какого файла винда будет запрашивать... вобщем то и все - можно работать

ну и собственно кеширование записи отключить чтоб сразу все изменения видеть

кто что думает по этому поводу? получится или я чегото важное забыл?


 
Игорь Шевченко ©   (2011-02-19 15:11) [19]


> кто что думает по этому поводу?


не парься



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

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

Наверх




Память: 0.51 MB
Время: 0.007 c
2-1298584745
Артём
2011-02-25 00:59
2011.06.05
Деление строки


2-1298177204
Gu
2011-02-20 07:46
2011.06.05
Версия SQL клиента и сервера - узнать


2-1298528519
Trekker
2011-02-24 09:21
2011.06.05
Открытие страницы IE в полноэкранном режиме в текущем окне


10-1175455973
nali
2007-04-01 23:32
2011.06.05
Удаляются закладки после замены текста


3-1259925264
BarON21
2009-12-04 14:14
2011.06.05
Выбор значений по дате+время