Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2011.06.05;
Скачать: [xml.tar.bz2];

Вниз

виртуальная 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.003 c
2-1295467098
Тимоха111
2011-01-19 22:58
2011.06.05
Задержка sleep


2-1298894365
advise
2011-02-28 14:59
2011.06.05
Посоветуйте плз при помощи какого компонента сделать?


15-1298022283
павел
2011-02-18 12:44
2011.06.05
ограничение использования FloatToStr и ему подобных


2-1298571014
nord
2011-02-24 21:10
2011.06.05
ожидание выполнения процедуры


10-1175163652
Scoba
2007-03-29 14:20
2011.06.05
Программная прокрутка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский