Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2014, 23:53   #1
nik2009nik
 
Регистрация: 11.02.2012
Сообщений: 6
По умолчанию Драйвер файловой системы

Здравствуйте!
Конечная цель такая:
Успешное выполнение любой программой операций по работе с файлом, путь к которому указывается как обычно: "disk:/dir/file.ext"
Только disk, по замыслу, физически не существует, а только виртуально, причем он обрабатывает буфер при операции/чтении динамически, т.е. данные на физическом носителе не хранятся, а генерируются по мере необходимости
Например, paint.exe запросил открыть файл "x:/1.bmp". В природе этого файла нет, но windows, когда видит диск "x", обратится к этому драйверу, а тот, в свою очередь, скажет: "ок, файл открыт". Затем paint.exe запросит данные из файла, а драйвер ему выдаст первым делом заголовок bmp-файла, а там, где идет описание пикселей - случайно сгенерированный массив байт, или пиксельное изображение текущего времени, или еще что-нибудь, главное, не хранящееся на физическом носителе. Затем драйвер скажет, что "достигнут конец файла". То есть, все как обычно. Пример, конечно, практических целей не имеет, но зато он объясняет суть цели. Это просто ПРИМЕР, сами задачи стоят поважнее - шифрование, виртуальное разбитие/склейка физических файлов и т.д.

Я так понимаю, что регистрация драйвера и его взаимосвязь с windows осуществляется только на WINAPI

Возможны варианты, чтобы был не диск виртуальный, а виртуальная папка на физическом диске
Может, это будет не драйвер файловой системы, а прога-перехватчик (winHook), или слуюба какая-нибудь.
Главное, чтобы из любой проги, использующей API для работы с файлами (OpenFile, fopen и т.д.), можно было успешно работать с такими "виртуальными динамическими" файлами. Ну и второе главное условие - сами данные на носителе не должны присутствовать, а генериться в процессе работы по запросам чтения/записи файла

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

Последний раз редактировалось nik2009nik; 26.10.2014 в 00:06.
nik2009nik вне форума Ответить с цитированием
Старый 25.10.2014, 23:59   #2
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

nik2009nik К чему эти пляски у огня?
indexx вне форума Ответить с цитированием
Старый 26.10.2014, 09:16   #3
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Вам предстоит много читать.
Начинайте отсюда:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

Это конечно если вы знакомы с драйверами Windows. Если нет, начинайте отсюда:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

Я думаю через пол-годика уже будете въезжать в тему.
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка файловой системы Vadik4 Общие вопросы Delphi 1 08.06.2014 17:55
Драйвер файловой системы vedro-compota Общие вопросы C/C++ 2 26.01.2012 21:50
Драйвер фильтр файловой системы zumm Общие вопросы C/C++ 1 09.11.2010 18:47
Устройство файловой системы Alexandr-vi-92 Операционные системы общие вопросы 2 06.11.2008 08:14
драйвер виртуальной файловой системы OrdJONY Свободное общение 2 29.12.2007 18:06