Как я могу написать свою собственную «файловую систему» ​​в Windows? - PullRequest
24 голосов
/ 26 декабря 2009

Я вспомнил, как использовал маленькие «файловые системы», прежде чем это в основном обеспечивало интерфейс для чего-то другого. Например, я считаю, что существовала файловая система GMail, которая создала запись в «Моем компьютере» и могла использоваться как любой другой диск на вашем локальном компьютере. Как я могу реализовать что-то подобное в C ++? Спасибо!

Ответы [ 6 ]

21 голосов
/ 26 декабря 2009

Попробуйте Докан . Это как FUSE, кроме Windows. Я думаю, что существуют определенные ограничения для расширений пространства имен, например, к ним нельзя получить доступ из командной строки, но я действительно не уверен на данный момент.

10 голосов
/ 26 декабря 2009

Написание реальной файловой системы включает в себя написание драйвера ; что означает код режима ядра (страшные вещи) и , оплачивающий получение IFS DDK . (редактировать: похоже, они больше не платят за это)

То, что вы, вероятно, хотите, это «расширение пространства имен». Попробуйте это: Полное руководство идиота по написанию расширений пространства имен - CodeProject

1 голос
/ 15 января 2011

Справочно: виртуальные диски могут быть созданы с помощью нашего Callback File System продукта, который является поддерживаемым, документированным и поддерживаемым решением.

1 голос
/ 26 декабря 2009

Файловая система GMail - это просто имя; это не любая файловая система как таковая. Это просто расширение пространства имен для проводника Windows, которое связано с вашей учетной записью GMail!

Я не знаю точно, что вы пытаетесь сделать, но в любом случае, я думаю, вам пригодится следующая ссылка:

http://msdn.microsoft.com/en-us/magazine/cc188741.aspx

1 голос
/ 26 декабря 2009

Это может быть отправной точкой для расширения NTFS способом, который использовала файловая система GMail: Точки повторной обработки Windows NT .

0 голосов
/ 17 марта 2012

Я тоже думал об этом, может быть, какой-нибудь пример кода? (напишите мне, если я забуду плз; p doin sdk сейчас)

Я имею в виду аналогичную файловую систему, которая будет подключаться в качестве драйвера и позволять динамический «мягкий рейд» для больших файлов, в основном, помещая их на более чем один диск, возможно, с некоторыми опциями сжатия и «умными» фильтрами для переключения использования. в условиях высокого дискового пространства - низкое использование и другие ситуации более эффективны, а элементы управления статусом и индикаторы - как обычная программа

Похоже, я бы загрузил комплект драйверов, тогда я хочу событие записи файла, и в основном я заменяю fopen и аналогичные функции автоматически в качестве промежуточного драйвера с небольшим опытом работы с сетевым драйвером Windows

Я также слышал хорошие вещи о разработке на виртуальной машине для уменьшения количества сбоев и большей отладки

Также, возможно, больше метаинфо для некоторых или всех файлов, включая файлы в специальных папках с опциями, включая, возможно, как быстрые, так и простые (обфусцированный и / или симметричный ключ) опции шифрования для папки, указанной, все, буквы и т. Д., Или что угодно, или более медленная версия и, возможно, интегрированная и дополнительная (также выгодная) онлайн-резервная копия в стиле cvs diff, которая в основном предназначена для изменений в горячих файлах для резервного копирования в онлайн-хранилище с интервалами и ценами, в основном, возможно, с соответствующими событиями клавиатуры и может даже быть полезной в качестве простого служба резервного копирования в онлайн-хранилище ключей, которая также достаточно надежна

, избегая обычных файлов, таких как файлы Windows или обычные файлы в каталоге 'Programs', которые можно легко скопировать с помощью пиратских инструментов, в отличие от всех ваших документов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...