Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > драйвер виртуального диска


Автор: DoberZ 10.3.2008, 15:23
есть файловая система, которая физически хранится в базе данных
реально ли примонтировать её в винде как логический диск?

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

для начала хорошо бы написать хотя бы для чтения.

как это можно сделать?

Автор: Alix 11.3.2008, 23:07
Придется писать драйвер, для этого сразу нужно DDK, Driver Development Kit. Качаем с сайта мелкософта. 

Поискал по инету, нашлось: http://windows.nxt.ru/ram.rar и статья микрософта http://support.microsoft.com/kb/257405/ru.
Читай, пробуй. Если получится, расскажи, мне очень интересно и я бы занялся тем же, но времени нет.
Еще:
Цитата

Начни обязательно с http://www.acc.umu.se/~bosse/filedisk.zip
virtual disk driver for Windows NT/2000/XP that uses one or more files to emulate physical disks. A console application is included that let you dynamically mount and unmount files. An example of use for this driver is if you have made plans spending the weekend writing an RAID driver for NT but find you are short of disks. FileDisk can also use CD-images.

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

Ок, посмотри  http://cesnet.dl.sourceforge.net/sourceforge/ext2fsd/ext2fsd-0.20.zip
This project is an ext2 file system driver for winnt/win2k/winxp
Но файлдиск всё равно глянь - красиво и понятно сделан. Ага

источник: http://forum.shelek.ru/index.php/topic,3218.0.html

Автор: DoberZ 12.3.2008, 10:41
я вот ещё подумал, что можно попробовать решить ту же задачу перехватом функций
или это плохой путь?

Автор: Alix 12.3.2008, 11:14
как ты себе это видишь??

Автор: DoberZ 12.3.2008, 11:30
перехватить функции перечисления драйвов, открытия, закрытия, чтения....
есть закрытая программка FTPdrive - по-моему, там так и сделано
к исполняемому модулю идёт dll-ка, которая внедряется во все процессы
или это тупиковый путь?
просто раньше никога не писал драйверов под винду, первый раз всегода больно.. )

Автор: Alix 12.3.2008, 11:36
Цитата(DoberZ @  12.3.2008,  11:30 Найти цитируемый пост)
или это тупиковый путь?

может и не тупиковый, но как-то через зад, Вам так не кажется?

Цитата(DoberZ @  12.3.2008,  11:30 Найти цитируемый пост)
просто раньше никога не писал драйверов под винду, первый раз всегода больно.. ) 
простите, вспомнилась цитата с баша:
Цитата
девушко: я пошла брови щипать!)
VaneC: ой блин это небось больно...
девушко: в первый раз только больно!потом даже приятно))
VaneC: как то у вас всё однообразно...



Автор: DoberZ 12.3.2008, 12:27
Цитата

как-то через зад, Вам так не кажется?

кажется.

спасибо за поддержку, буду ковырять ext2fs, тем более что сам успешно им пользуюсь.
будут результаты - отпишу...

Автор: skyboy 18.12.2009, 23:39
совсем-совсем понемногу развивающийся проект http://dokan-dev.net/en/ "пытается" стать "FUSE, но под Windows". Развитие пока на ранних стадиях, но SSHFS на его базе уже работает. Как минимум, подключается и показывает файлы на удаленном компьютере smile больше пока не тестировал.
и есть fuse4win, как мне кажется, окончательно заглохший.
microsoft разработала installable file system, про который, собственно писал Alix во втором посте этой темы.
больше я ничего на эту тему не нашел, хотя прошло уже полтора года(пишу, ясен перец, не для топикстартера, а для умеющих пользоваться поиском)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)