Собсно сабж, интересует вопрос как реализовать такую тему, например создается виртуальный диск который берет информацию из зашифрованного файла, расшифровывает,а дальше просто работаешь как обычно и при закрытии вся информация опять записывается в этот файл. Например как сделано в программах: Dekart Private Disk Esmart CryptoDisk P.S. Шифрование можно опустить, меня интересует как сделать само подключение файла как диска.
можно запускать стандартную программу subst она создает виртуальный диск, которому сопоставляется некий реальный путь к директории
создаёшь временную папку, копируешь туда файл и потом через subst подключаешь как виртуальный диск - это самый простой и действенный способ. bons правильно сказал. а если надо брать инфу из файла - бери и там уж как-нибудь изворачивайся и копируй туда на время. или просто создай диск и накопируй туда. вобщем простор для воображения есть =)
какой смысл эмулить папку как диск и что это даст?!?!??! есть исходники memfile например - там дров который выделяет физическую оперативную память и предоставляет ее как ramdisk, да и куча всего связанного с этим, но в любом случае для реализации того что хочет топикстартер нужен драйвер.
вот собсна пример дрова (немного не по сабжу, ибо диск в ram) http://support.microsoft.com/kb/257405/ru
ну это был как вариант решения. для простого решения пойдёт. естественно, что для крупного полноценного приложения необходим драйвер
тут вопрос не в этом. как ты собираешься шифровать данные например? какая разница будет ли твоя программа обращаться к файлу z:\myfile.txt (после subst z: с:\work\files) или к c:\work\files\myfile.txt? да никакой. абсолютно. диск Z - это псевдодиск. И функционал у него такойже. другое дело если мы хотим шифрование. это да. вот на примере ramdrive можно сделать и с файлом (хотя лучше готовую реализацию поискать ибо еб*тня с пнп и ирп несколько другая + реализация шифрования и собсна самого интерфейса) тогда вот драйвер создает например c:\vdisk.dat где хранится в шифрованном варианте дерево и сами файлы, а сам драйвер представляет промежуточные интерфейсы - для чтения\записи через виртуальный диск. Например, создаем файл на виртуальном диске и пишем в него: CreateFile("v:\\hello.txt"), WriteFile("hello im here!") Произойдет следующее: система обратится к драйверу файловой системы в итоге, но перед этим естественно по symlink будет вызван наш промежуточный драйвер который будет еще одним драйвером файловой системы но уже виртуального диска. И именно он будет шифровать и расшифровывать "на лету" опенсорс по сабжу http://www.truecrypt.org/