Монтирование архивов, таких как * .zips (работа в режиме ядра без драйверов) - PullRequest
1 голос
/ 02 июля 2010

Мне было интересно, есть ли способ создать * .dll, которая монтирует архивы в Windows без необходимости установки драйверов. Я попытался смонтировать * .isos (и был успешным), но мне нужно было установить драйверы, а это не то, что моя целевая аудитория хочет сделать (или может сделать). Другие соответствующие альтернативы были для Linux (fuse-zip) или мертвых проектов (zipios ++).

Что-то вроде этого ... http://mountziplibrary.codeplex.com/

О, и было бы здорово, если бы решение было GPL v3'd или хотя бы с открытым исходным кодом.

Спасибо.

Ответы [ 5 ]

2 голосов
/ 02 июля 2010

Вы смотрели на Докан ? Это похоже на Windows эквивалент Fuse.

1 голос
/ 02 июля 2010

То, что вы описываете, называется устанавливаемой файловой системой (IFS).Теория гласит, что вам не нужен драйвер: внедрите SMB-сервер в пространство приложения и позвольте существующему сетевому клиенту ядра говорить с этим.Это просто TCP / IP на этом уровне.

Надлежащим решением действительно является драйвер IFS.По сути, диски - это объекты в пространстве имен ядра.Таким образом, код для них должен быть частью ядра, а приложение никогда не будет.

0 голосов
/ 03 июля 2010

Я решил поискать ответы в Google.

Особый интерес вызвала zziplib . Он предназначен для C и обеспечивает прозрачный доступ к архивам, как это делает Windows, рассматривая его как фактическую папку.

Конечно, другие реализации, предоставляемые пользователями, тоже работают. Это мне подходит.

0 голосов
/ 02 июля 2010

Был когда-то хобби-проект под названием WinFUSE, который работал как SMB-сервер и перенаправлял запросы FS к вашему .NET-коду.Но это прошло, насколько я знаю.Правильный путь заключается в использовании подхода, основанного на драйвере.Драйвер может быть установлен и удален на лету, если у пользователя есть права администратора, а если нет, то для установки приложения все равно требуются права администратора.В Unix / Linux то же самое - вы не можете смонтировать диск (не говоря уже о драйвере), если вы не являетесь администратором.Не могу ли я упомянуть, что Callback File System является единственным профессиональным поддерживаемым решением, которое позволяет вам выполнить задачу?

0 голосов
/ 02 июля 2010

Может быть, этот вам поможет: ZLib

...