Текущий архив: 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.49 MB
Время: 0.003 c