авторитетно подтверждаю, это драйвер
file system filter driver
активный, т.е. не пассивный а-ля filemon
и так как этот продукт появился очень давно и не умер, вылизан прилично, то
кое-кем из авторитетных драйверописателей считается образцом для аналогичных
вещей, в нем задействованы (успешно!) практически все возможности для такого
рода продукта
суть проста — перехват File I/O к определенным файлам (.zip) и активная
фильтрация всех запросов сюда, в т.ч. выстраивание при обработке запросов
листинга "виртуальной" директории с содержимым архива и доступ к архиву при
доступе к этим файлам из виртуальной диры, т.е. разжатие на лету в кэш (Cc
имеется ввиду), а на диске я так понимаю все лежит в виде реальных
архивов...
красиво, короче, действительно крутой драйвер.
[Sorry, skipped] O>> Это делается скорее всего перехватом API. Щас поставлю его, и скажу. O>> Никаких shell. Эти каталоги можно даже расшаривать по сети v> Тогда скорее всего это драйвер (а никак уж не служба, если она v> имелась в виду когда писалось "сервис" выше), в нем и происходит v> разбор имени.
Posted via RSDN NNTP Server 1.4.1
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
субж без драйвера конечно можно, но вот сделать так, чтобы zip архив был доступен в т.ч. и DOS программам и мог быть расшарен по сети в виде папки с файлами и т.п. — такого никогда не выйдет. Просто потому что эти вещи (их поддержка) реализуются на глубоко системном уровне и без драйверов-фильтров тут никак.
Ваш вариант подойдет только если
а) ВСЕ делать из эксплорера.
б) до всего доступаться по правилам для shell extensions через COM.
а вот попробуйте тот же zip файл на XP открыть не из эксплорера, а из того же нотепада, где же его хваленй COMпонент в этом случае?
zip magic же позволяет зайти в архив нотепадом, отредактировать документ как обычно и по закрытию файла архив на диске обновляется, ползователь может даже не предполагать что работал с архивом...
МДС>Помоему это всё-таки можно без драйвера сделать. МДС>Я вот тут компонент нашёл:
МДС>http://www.shellplus.com/examples/namespace-extension-example.html
... << RSDN@Home 1.0 beta 4 >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Когда то я использовал программу, точно не помню её названия... — что то вроде Magic Zip.
Она делала следующее: все имеющиеся архивы zip представляла как каталоги,
и файлами в архиве можно было пользоваться, как обычными.
Как сделать тоже самое?
Тоесть как делать такие "виртуальные" какалоги и определять их содержимое?
В сторону Windows Shell копать надо...?
Прога у тя была ZipMagic, а копать надо в сторону драйверов, т.к. при открытии файлов из любой проги конструкция вида "c:\myzip.zip\somedir\somefile.ext" работала, следовательно ZipMagic ставит сервис.
Здравствуйте, МДС, Вы писали:
МДС>Она делала следующее: все имеющиеся архивы zip представляла как каталоги, МДС>и файлами в архиве можно было пользоваться, как обычными.
Создание своего Driver-а, который будет осуществлять разбор имен — это для одного Explorer-а слишком навороченно. Это и в принципе слишком навороченно, а для сабжевой цели — еще и глупо.
Делается это расширением оболочки. XP, кстати, это именно так и делает. Кстати, ее COM-объект для этого вполне можно попытаться зарегистрировать на машине, пробовал?
Подсказка по тому, как получить момент входа в архив.
Устанавливается для типа файла .zip команда по умолчанию Enter Archive и обработчик контекстного меню этой команды. В случае двойного клика он вызываться не будет, но можно его заставить вызываться, для этого в параметры этого объекта в реестре надо добавить специальный параметр MayChangeDefaultMenu.
Хорошая идея, но сразу видно, что ты эту прогу не юзал.
Она делает реальные каталоги, которые видны, именно как каталоги.
И видны из всех программ !!! Для одного фолдера это можно выключить и включить заново.
Это делается скорее всего перехватом API. Щас поставлю его, и скажу. Никаких shell. Эти каталоги можно даже расшаривать по сети
Здравствуйте, old->*Plutonia_Experiment(), Вы писали:
O>Хорошая идея, но сразу видно, что ты эту прогу не юзал.
А я про эту прогу и не писал, а только по сабжу.
Здравствуйте, old->*Plutonia_Experiment(), Вы писали:
O>Хорошая идея, но сразу видно, что ты эту прогу не юзал. O>Она делает реальные каталоги, которые видны, именно как каталоги. O>И видны из всех программ !!! Для одного фолдера это можно выключить и включить заново.
Я как раз это и имел введу. Меня просто не правильно поняли
Только помоему каталоги она не создаёт...
Ну даже если создаёт, то файлы из архива она туда точно не копирует
Я вот и хотел узнать как это реализовано, что в каталоге отображаются файлы,
которых как бы там и нет...
O>Это делается скорее всего перехватом API. Щас поставлю его, и скажу. Никаких shell. Эти каталоги можно даже расшаривать по сети
Здравствуйте, old->*Plutonia_Experiment(), Вы писали:
O>Здравствуйте, vasketsov, Вы писали:
O>Это делается скорее всего перехватом API. Щас поставлю его, и скажу. Никаких shell. Эти каталоги можно даже расшаривать по сети
Тогда скорее всего это драйвер (а никак уж не служба, если она имелась в виду когда писалось "сервис" выше), в нем и происходит разбор имени.
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
V>НЕТ! Этого не достаточно, если неохота работать только в эксплорере с этим делом (как сейчас в ХР с поддержкой zip архивов это сделано)
V>нужен драйвер
А исходники подобных драйверов где-нибудь можно посмотреть? А то мне как раз нечто подобное нужно реализовать.
adb>А исходники подобных драйверов где-нибудь можно посмотреть? А то мне как раз нечто подобное нужно реализовать.
подобные исходники (даже попроще, вчера интересовался в OSR по работе) оцениваются в 300-500К и не рублей отнюдь
но кое-что если залезешь в NTFSD list на том же www.osr.com найдешь, в т.в. и ссылки на open-source или сворованные...
... << RSDN@Home 1.0 beta 4 >> silent
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
V>авторитетно подтверждаю, это драйвер V>file system filter driver V>активный, т.е. не пассивный а-ля filemon V>и так как этот продукт появился очень давно и не умер, вылизан прилично, то V>кое-кем из авторитетных драйверописателей считается образцом для аналогичных V>вещей, в нем задействованы (успешно!) практически все возможности для такого V>рода продукта V>суть проста — перехват File I/O к определенным файлам (.zip) и активная V>фильтрация всех запросов сюда, в т.ч. выстраивание при обработке запросов V>листинга "виртуальной" директории с содержимым архива и доступ к архиву при V>доступе к этим файлам из виртуальной диры, т.е. разжатие на лету в кэш (Cc V>имеется ввиду), а на диске я так понимаю все лежит в виде реальных V>архивов... V>красиво, короче, действительно крутой драйвер. V>[Sorry, skipped] O>>> Это делается скорее всего перехватом API. Щас поставлю его, и скажу. O>>> Никаких shell. Эти каталоги можно даже расшаривать по сети v>> Тогда скорее всего это драйвер (а никак уж не служба, если она v>> имелась в виду когда писалось "сервис" выше), в нем и происходит v>> разбор имени.
Помоему это всё-таки можно без драйвера сделать.
Я вот тут компонент нашёл:
V>Ваш вариант подойдет только если V>а) ВСЕ делать из эксплорера. V>б) до всего доступаться по правилам для shell extensions через COM.
кстати говоря, здесь я немного погорячился, точнее неверно выразился
имелся ввиду главным образом тот факт, что пространство оболочки поддерживается в-основном explorer'ом и набором компонент, которые живут в пространстве оболочки и только, плюс они никак не участвуют в обычных операциях файлового ввода вывода вроде ReadFile/WriteFile, из DOS-программ, например, или любых других программ, не заточенных на взаимодействие с оболочкой (shell extension). Соответственно для таких программ (а их подавляющее большинство) "мы их теряем, доктор!"
Т.к. нотепад не знает ничего и не использует соотв. функциональность .zip handler от эксплорера, то и с архивами он работает несколько специфично — просто проецирует содержимое в память и дает редактировать, не совсем то, чего хотелось
Кстати это очень полезный факт, что notepad использует MMF (memory-mapped files) механизм и это широко используется при отладке писателями файловых драйверов...
таким образом расширение оболочки — решение для довольно узкого класса задач. По сравнению с драйверным подходом, конечно. вот что я хотел сказать.
и если хочется добиться решения оригинальной постановки вопроса, то тут субж не годится
... << RSDN@Home 1.0 beta 4 >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
V>таким образом расширение оболочки — решение для довольно узкого класса задач. По сравнению с драйверным подходом, конечно. вот что я хотел сказать.
V>и если хочется добиться решения оригинальной постановки вопроса, то тут субж не годится
Вообще то я хотел сделать запрос пароля при входе в виртуальную папку
И указал на zipmagic только потому, что это единственная программа которая их создаёт,
из всех что я заню.
МДС>Вообще то я хотел сделать запрос пароля при входе в виртуальную папку МДС>И указал на zipmagic только потому, что это единственная программа которая их создаёт, МДС>из всех что я заню.
ха, так сразу бы так и сказал
если тебе просто надо чтобы эксплорер этот диалог выкидывал, то да — хватит субжа
а если ты хочешь чтобы при любом обращении к указанной (виртуальной от zipmagic) или физической директории, которые ФАРом ты наблюдаешь, из любой проги или по сетке, то тут задача крайне нетривиальная даже если ты напишешь такой фильтр-драйвер, есть тут свои приколы при взаимодействии с юзер режимом....
... << RSDN@Home 1.0 beta 4 >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.