|
|
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
Джентльмены (и тем более леди), подскажите, как лучше реализовать следующее желание: Есть винда Есть приложение, поддерживающее информацию, которая может быть представлена в виде иерархии каталогов и файлов в них Хочется собственно опубликовать эту информацию в виде виртуальных файлов и каталогов. То есть дать возможность считывать эту информацию обычными файловыми операциями, но при этом не делая выгрузки в физические файлы. Сходу я вижу два пути. Во-первых, зарегистрировать виртуальный каталог (аналогичный сетевому окружению, панели управления итп). Во-вторых, сделать драйвер файловой системы. Первый путь не нравится тем, что не все программы смогут нормально работать с этими файлами. Второй - тем, что, вполне вероятно, потребуется серьезно изучать DDK и работу в режиме ядра, о чем я сейчас имею весьма приблизительное представление (уровня "читал пару книг"). Предложения, комментарии, другие пути, личный опыт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 17:36 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
http://killprog.com/fdrvr.html а это на чём сделано? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 17:48 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
Если это вопрос ко мне, то не против узнать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 18:15 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
softwarer Есть приложение, поддерживающее информацию, которая может быть представлена в виде иерархии каталогов и файлов в них Приложение свое собственное или чужое? Если свое собственное, то можно пойти по пути PhysicsFS - это Си библиотечка (под виндой ее можно собрать как обычную dll) которая виртуально сливает несколько архивов в одну общую файловую систему на чтение и дает один каталог (с подкаталогами) на запись. Очень удобная в использовании. Идеальна для файловых операций в макроязыках. Ну а если программа чужая - то ой. Тогда действительно прийдется делать свой драйвер файловой системы и встраивать его в ОС... что есть не очень-то просто... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 18:18 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
White OwlПриложение свое собственное или чужое? Свое. Впрочем, это по идее неважно. White OwlЕсли свое собственное, то можно пойти по пути PhysicsFS - это Си библиотечка (под виндой ее можно собрать как обычную dll) которая виртуально сливает несколько архивов в одну общую файловую систему на чтение и дает один каталог (с подкаталогами) на запись. Очень удобная в использовании. Идеальна для файловых операций в макроязыках. Мм... прочитав эти слова и кроме того, сказанное в http://icculus.org/physfs/ , я не совсем понял, как это относится к моей задаче. Точнее, у меня сложилось впечатление, что эта библиотека решает задачу, обратную моей - представляет информацию из реальных источников в виде "виртуальной файловой системы", которую я могу читать внутри своей программы через специальное API. Мне же нужно примерно то же, что по ссылке maXmo - возможность экспортировать из своей программы "файлы", с которыми пользователь может работать через Explorer, с помощью bat-файлов и любым другим образом, который придет ему в голову. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 18:36 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
Предлагаю связаться с авторами FTP-чо-то-там и попросить их пнуть в нужном направлении. Будущего нет. И завтра не будет. © ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 18:55 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
Это само собой, сегодня же вечером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 18:56 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
Кстати, а так смотрел: тынц Всякие мапперы сторонних файловых систем в винду - думаю на их основе можно драйвер свой зафигачить. Будущего нет. И завтра не будет. © ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 19:03 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
без понятия, как оно устроено, описание работы мне мало о чём говорит, может, как-то ужасно нт апи хучит… Я тоже хотел посоветовать обратиться к нему, он в принципе не очень разговорчивый, но про технологию ответит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 19:03 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
maXmoбез понятия, как оно устроено, описание работы мне мало о чём говорит, может, как-то ужасно нт апи хучит… Я тоже хотел посоветовать обратиться к нему, он в принципе не очень разговорчивый, но про технологию ответит.Думаю в винде есть стандартный механизм подстановки собственных драйверов файловой системы - так что порыскать по чужим сорцам и банзай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 19:05 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
я слышал, есть какие-то фильтры для reparse points… хм… или не фильтры… ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 19:08 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
Kull DamnedКстати, а так смотрел: Я так даже почти уверен, что в DDK есть пример, от которого можно стартовать - а особо больше и не потребуется на самом деле, драйвер простейший. Но это все же уже тяжелая артиллерия, скачивать-разбираться-прояснять лицензирование, и наверное самое веселое - разбираться с отладкой в режиме ядра. Проблема в том, что программа некоммерческая, поэтому вариант "заказать внешнему исполнителю" тоже не очень проходит - скорее всего, дороговато обойдется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 19:11 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
Привет, Kull! Ты пишешь: KullKD> Думаю в винде есть стандартный механизм подстановки собственных KD> драйверов файловой системы - так что порыскать по чужим KD> сорцам и банзай.помнится (а мож и чудится), Коваленко делал такой врапер для своего IBProvider'а. точно ужо не помню. давно было. -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 19:12 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
softwarerМм... прочитав эти слова и кроме того, сказанное в http://icculus.org/physfs/ , я не совсем понял, как это относится к моей задаче. Точнее, у меня сложилось впечатление, что эта библиотека решает задачу, обратную моей - представляет информацию из реальных источников в виде "виртуальной файловой системы", которую я могу читать внутри своей программы через специальное API.Ну да. Обычно от VFS это и требуется... А обратная задача ..... эээээ...... НАФИГА?! Если приложение сохраняет свои данные в какие-то внешние файлы, то эти внешние файлы либо обычные файлы чтобы юзера могли с ними работать вне приложения, либо какие-то запакованые/зашифрованые форматы чтобы юзера с ними не могли работать вне приложения. softwarerМне же нужно примерно то же, что по ссылке maXmo - возможность экспортировать из своей программы "файлы", с которыми пользователь может работать через Explorer, с помощью bat-файлов и любым другим образом, который придет ему в голову.maXmo давал ссылку на программу которая решает задачу: "уже есть много реальных файлов в некоей файловой системе и надо облегчить юзерам доступ до этих файлов". А у тебя как я понял этих реальных файлов еще нету, твое приложение их еще только будет создавать. Опиши задачу подробнее, что-то она у меня не стыкуется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 19:13 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
maXmoя слышал, есть какие-то фильтры для reparse points… хм… или не фильтры… Фильтры - это как раз и есть "написать драйвер": http://www.microsoft.com/whdc/driver/filterdrv/default.mspx А reparse point - это, если не ошибаюсь, фича ntfs, аналогичная ms-dosовскому join или юниксовому mount. То есть возможность подключить в указанное место файловой системы информацию из другой файловой системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 19:16 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
White OwlНу да. Обычно от VFS это и требуется... Это не VFS, а "нечто". Но тут.... я не стал бы спрашивать, как сделать нечто аналогичное PhysicsFS, это же совершенно очевидно. White OwlА обратная задача ..... эээээ...... НАФИГА?! Ну как тебе сказать... ну например весь юникс на этом построен, у них и спроси :) White OwlЕсли приложение сохраняет свои данные в какие-то внешние файлы, то эти внешние файлы либо обычные файлы чтобы юзера могли с ними работать вне приложения, либо какие-то запакованые/зашифрованые форматы чтобы юзера с ними не могли работать вне приложения. Я хочу, чтобы юзера могли работать вне приложения с тем, что приложение не сохранило как внешние файлы. Представь себе... ну например, performance counters. Вот только мне лень запускать приложение, выбирать в нем нужные счетчики и смотреть картинку. Вместо этого я иду в X:\Performance Counters\ и открываю там файл processor.jpg - и вижу картинку загрузки процессора за последние десять минут. White OwlmaXmo давал ссылку на программу которая решает задачу: "уже есть много реальных файлов в некоей файловой системе и надо облегчить юзерам доступ до этих файлов". А у тебя как я понял этих реальных файлов еще нету, твое приложение их еще только будет создавать. Ну и какая разница? Эта программа с тем же успехом могла бы не запрашивать файлы снаружи, а генерить их рэндомом - нужная мне технология оттого не меняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 19:27 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
softwarerЯ хочу, чтобы юзера могли работать вне приложения с тем, что приложение не сохранило как внешние файлы. Представь себе... ну например, performance counters. Вот только мне лень запускать приложение, выбирать в нем нужные счетчики и смотреть картинку. Вместо этого я иду в X:\Performance Counters\ и открываю там файл processor.jpg - и вижу картинку загрузки процессора за последние десять минут.Ага. Понял. Это действительно можно решить через создание драйвера новой ФС. Но на мой взгляд, это излишне сложный путь. Есть и другой путь, более простой в реализации и более удобный для дальнейшей жизни :) Садишь в своей программе слушателя на какой-либо tcp порт и твоя программа превращается в сервер. Потом делаешь клиентскую библиотечку и на ее основе утилитки, которые и обеспечит все запросы к внутренним данным программы. В плюсах - юзера смогут при соотвествющих настройках сети получить отчеты о внутреннем состоянии приложения откуда угодно. Я ходил по этому пути. Вполне просто и легко. Можно пойти по пути COM-сервера, тогда достаточно будет сделать формальное описание интерфейсов своего com-сервера и можно будет: Код: plaintext 1. softwarer White OwlmaXmo давал ссылку на программу которая решает задачу: "уже есть много реальных файлов в некоей файловой системе и надо облегчить юзерам доступ до этих файлов". А у тебя как я понял этих реальных файлов еще нету, твое приложение их еще только будет создавать. Ну и какая разница? Эта программа с тем же успехом могла бы не запрашивать файлы снаружи, а генерить их рэндомом - нужная мне технология оттого не меняется.Разница в том, что FTP протокол уже существует . FTPDrive это по существу костыль. Он делает конвертацию на лету из одного протокола в другой. А у тебя пока еще нету того протокола к которому надо делать такой конвертор. Конечно, можно сделать свою файловую систему, но при этом, ты сознательно ограничишь доступ к приложению только тем компом на котором эта FS установлена.... Ты готов делать версии драйверов своей VFS для `98, XP, Win2003, Vista? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 20:45 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
White OwlЕсть и другой путь, более простой в реализации и более удобный для дальнейшей жизни :) Садишь в своей программе слушателя на какой-либо tcp порт и твоя программа превращается в сервер. ...... Можно пойти по пути COM-сервера, тогда достаточно будет сделать формальное описание интерфейсов Ага. И пользователь, который хочет в Explorer-е кликнуть на этот файл и увидеть картинку, или там например в bat-файле написать "если время последнего изменения в последние полчаса то тра-ля-ля", с восторгом пойдет создавать tcp-соединение.... Я конечно понимаю, что придумать другую постановку задачи намного легче, но де-факто мне нужно реализовать именно то, что мне нужно. Ладно, я еще могу как-то осознать, как ты сумел превратить написанное мной в первом письме в "постановку задачи, для которой нужен PhysFS". Но повторное предложение вызывает вопрос: ты таки читаешь, что нужно, или говоришь о чем-то своем? White OwlРазница в том, что FTP протокол уже существует . FTPDrive это по существу костыль. Он делает конвертацию на лету из одного протокола в другой. А у тебя пока еще нету того протокола к которому надо делать такой конвертор. Замечательно. Я русским языком написал: есть приложение. Есть потребители, которые должны уметь считывать информацию из этого приложения. И какого именно протокола у меня нет. Могу еще раз, большими буквами: ДА, ИМЕННО ТАКОЙ КОСТЫЛЬ МНЕ И НУЖЕН. И интересна информация знающих, как такой сделать. White OwlТы готов делать версии драйверов своей VFS для `98, XP, Win2003, Vista? 98-я мне нафиг не нужна. А в остальных, насколько я в курсе, будет работать один и тот же драйвер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 21:54 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
softwarer White OwlЕсть и другой путь, более простой в реализации и более удобный для дальнейшей жизни :) Садишь в своей программе слушателя на какой-либо tcp порт и твоя программа превращается в сервер. ...... Ага. И пользователь, который хочет в Explorer-е кликнуть на этот файл и увидеть картинку, или там например в bat-файле написать "если время последнего изменения в последние полчаса то тра-ля-ля", с восторгом пойдет создавать tcp-соединение....Зачем же создавать собственное соединение? Из батника он позовет утилитку с параметрами и она в stdout или errorlevel положит значение. А из эксплорера юзер ткнет в ярлык программы которая то-же самое значение отрисует графически, а при нужде сможет и повиснуть на десктопе и постоянно обновлять картинку. softwarerНо повторное предложение вызывает вопрос: ты таки читаешь, что нужно, или говоришь о чем-то своем?Читаю и понимаю что нужно, но не понимаю зачем это нужно. На мой взгляд, в этой постановке задачи ты ограничиваешь себе возможности . В конце концов, если так сильно хочется виртуальный драйв, то можно будет сделать его и позже на основе клиент-серверного протокола который я предлагаю, тогда этот виртуальный драйв можно будет запускать даже на удаленном юзерском компе. А не только на той же самой машине что и супер-программа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 22:24 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
softwarerДА, ИМЕННО ТАКОЙ КОСТЫЛЬ МНЕ И НУЖЕН.а может применить уже упомянутый FTPDrive, а в своей программе сделать костыль в виде FTP-сервера? Заодно и доступ с других компов будет возможен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 22:27 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
FTP сервер softwarerДА, ИМЕННО ТАКОЙ КОСТЫЛЬ МНЕ И НУЖЕН.а может применить уже упомянутый FTPDrive, а в своей программе сделать костыль в виде FTP-сервера? Заодно и доступ с других компов будет возможен.вот, действительно. Половина задачи уже решена :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 22:29 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
softwarerА reparse point - это, если не ошибаюсь, фича ntfs, аналогичная ms-dosовскому join или юниксовому mount. То есть возможность подключить в указанное место файловой системы информацию из другой файловой системы.ну это вроде лишь частный случай их применения, как фильтр напишешь, так она себя и будет вести, хошь – символическая ссылка, а хошь – format c: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 11:06 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
White OwlЗачем же создавать собственное соединение? Из батника он позовет утилитку с параметрами и она в stdout или errorlevel положит значение. А... то есть ты предлагаешь мне написать утилитку, в которой повторить весь функционал cmd.exe и вообще все что придумало человечество? White OwlА из эксплорера юзер ткнет в ярлык программы которая то-же самое значение отрисует графически, а при нужде сможет и повиснуть на десктопе и постоянно обновлять картинку. Ай, какая замечательная перспектива. Постановка задачи начиналась с "не хочется смотреть через интерфейс программы" - а теперь ты выставляешь "ткнет в ярлык программы" как чудо-технологию решения проблемы. White OwlЧитаю и понимаю что нужно, но не понимаю зачем это нужно. Ну дык и сосредоточься в ответах на "что". White OwlНа мой взгляд, в этой постановке задачи ты ограничиваешь себе возможности . В конце концов, если так сильно хочется виртуальный драйв, то можно будет сделать его и позже "Давай делать нафиг не нужное, а то, что нужно, если очень хочется, можно будет сделать позже". Замечательно логичный подход. White Owlна основе клиент-серверного протокола который я предлагаю, тогда этот виртуальный драйв можно будет запускать даже на удаленном юзерском компе. А не только на той же самой машине что и супер-программа. Замечательная возможность. Жаль только, что нахрен не нужна. А нахрен не нужна она по двум причинам: 1. Если я захочу делать что-то "на удаленном юзерском компе", я сделаю на нем net use и получу доступ к нужным файлам. Это эффективнее, нежели растаскивать по всем компам "виртуальный драйв" (жду рассказа про работу через интернет, soap, xmlrpc итп) 2. Жаль, что ты не на миг не задумался о том, что "суперпрограмма" может и сама по себе быть клиентом некоего сервера. И предложение делать ее еще и сервером для "клиентов второго уровня" вызывает.. некоторое веселье. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 16:23 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
FTP сервера может применить уже упомянутый FTPDrive, а в своей программе сделать костыль в виде FTP-сервера? Ну, если бы не было другого выхода, конечно, стоило бы рассмотреть такой вариант. Но, думаю, "применить ту же или аналогичную технологию" - лучший вариант. Проще настраивать, меньше точек отказа. Да и с общеархитектурной точки зрения - нет ничего плохого, если две программы умеют взаимодействовать, но плохо, если одна без другой бессмысленна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 16:26 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
softwarer2. Жаль, что ты не на миг не задумался о том, что "суперпрограмма" может и сама по себе быть клиентом некоего сервера. И предложение делать ее еще и сервером для "клиентов второго уровня" вызывает.. некоторое веселье.Об этом сразу надо было бы говорить, я бы со своей идеей не вылезал бы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 17:44 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
В принципе можно получить искомое добавив свой собственный обработчик в ядерный код функции open. Тогда по маске, например, X:\Performance Counters\processor.jpg запускать процесс наполнения данными jpg и отдавать поток управления обратно в ядерный обработчик. Ваш вопрос звучит "как добавить свой код в open" ? P.S. Не удержался от сарказма: чего только люди не придумают, что б не пользоваться *nix ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 18:32 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
не удержался от сарказма: откуда только не торчат гнутые линуксячьи пальцы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 18:35 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
Pavel KilevatyhВ принципе можно получить искомое добавив свой собственный обработчик в ядерный код функции open. Тогда по маске, например, X:\Performance Counters\processor.jpg запускать процесс наполнения данными jpg и отдавать поток управления обратно в ядерный обработчик. Опуская прочие комментарии - мне таки представляется, что решение несколько через задницу. Крайне маловероятно, что удастся ограничиться одной функцией, надо будет обходить ту часть системного кода, которая попытается выполнить ненужные действия... Pavel KilevatyhВаш вопрос звучит "как добавить свой код в open" ? Мой вопрос звучит так, как он сформулирован. Pavel KilevatyhP.S. Не удержался от сарказма: чего только люди не придумают, что б не пользоваться *nix ) Как только пользоваться *nix станет более-менее удобно - подумаю о выпуске аналогичной утилиты в нем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 18:41 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
softwarer Опуская прочие комментарии - мне таки представляется, что решение несколько через задницу. Крайне маловероятно, что удастся ограничиться одной функцией, надо будет обходить ту часть системного кода, которая попытается выполнить ненужные действия... Может я что-то не понимаю, но мне кажется что, перед тем как сделать с файлом что угодно, его надо открыть. Именно этот момент нужно обработать. Ну и по хорошему, спец файлы перед закрытием хорошо бы обнулить. Во избежание так сказать. А что там попытается выполнить система после наполнения - пофиг ИМХО. Хотя возникает еще задача - не дать удалить файл пользователю. Скажите, а в Win допускается монтирование некой FS в указанный каталог? Потому как курочить системную FS действително глупо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 19:03 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
Перечитал начало топика. Действительно иногда лучше жевать чем говорить. А как Вам нравиться идея обновлять информацию по крону в физических файлах? Это много времени займет по прикидкам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 19:07 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
Pavel KilevatyhМожет я что-то не понимаю, но мне кажется что, перед тем как сделать с файлом что угодно, его надо открыть. Именно этот момент нужно обработать. Нужно обработать далеко не только этот момент. Прежде всего надо сделать так, чтобы операции просмотра каталога нашли этот файл там, где его в действительности нет. Нужно сделать так, чтобы операция чтения выдавала очередной кусок "данных якобы из файла". Нужно помнить про асинхронное чтение. Нужно, чтобы при закрытии файла освободились занятые ресурсы. Нужно, чтобы если файл с одним и тем же именем "почти одновременно" читался из нескольких мест, в каждое из них уходило свое согласованное содержимое (которое, напомним, меняется по времени). В общем, геморроя более чем достаточно. И все это на уровне "вот возьму и хакну винду во всех вариантах ее бинарников". Pavel KilevatyhНу и по хорошему, спец файлы перед закрытием хорошо бы обнулить. Во избежание так сказать. Как можно обнулить то, чего не существует? Pavel KilevatyhСкажите, а в Win допускается монтирование некой FS в указанный каталог? Сказали же на той странице - reparse points. Можно даже устроить рекурсию - в смысле, подмонтировать файловую систему в каталог этой же файловой системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 19:12 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
Pavel KilevatyhА как Вам нравиться идея обновлять информацию по крону в физических файлах? Cовсем не нравится. Оно в общем-то даже может неплохо работать - но тупое, лузерское решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2007, 00:54 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
Ну вы как дети. Это делается элементарно! Реализуется FTP-протокол в программе. Скачивается FTP-Drive и вуаля! Всё работает. Есть ещё стандартный протокол для таких вещей -- WEBDAV. http://ru.wikipedia.org/wiki/WebDAV Делаете WEBDAV сервак в программулину и подключаете обычный сетевой диск в винду. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2007, 09:39 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
Кстати, я бы мог это сделать через WebDAV, если некому. Пишите. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2007, 09:48 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
Не знаю подойдет ли это: http://www.truecrypt.org/ авторCreates a virtual encrypted disk within a file and mounts it as a real disk Далее в документации сообщается, что все файлы распаковываются в памяти, не пользуя реальный диск. есть исходники, С++. сам не смотрел, так как это далеко в стороне и выше моих возможностей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2007, 10:52 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
Можно скачать исходники какого-нибудь SMB сервера, подкрутить имплементацию доступа к файлам и ... вуаля. Поднимаете са себе сервер и мапите с себе сетевые диски. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2007, 12:02 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
Не надо SMB. Здесь нужен именно WebDAV. И мапится точно так же :- Пример замапливания WebDAV каталога Код: plaintext 1. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2007, 13:07 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
GoldSquidНе надо SMB. Здесь нужен именно WebDAV. WebDAV - тоже вариант. Только надо почитать, какие у него есть ограничения. Возможно он эмулирует интерфейс файловой системы с неполной спецификацией методов. И вопрос. Вы тестировали net.exe в среде WinXP и Vista? Как они воспринимают нотацию http ссылки? У меня щас стоит только Win2k3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2007, 14:10 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
Только что проверил в Vista. Вот лог:- Windows Vista Home Premium Код: plaintext 1. 2. 3. 4. 5. 6. Всё работает. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2007, 14:20 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
GoldSquidНу вы как дети. Это делается элементарно! .... Есть ещё стандартный протокол для таких вещей -- WEBDAV Угу. Это уже даже не "через задницу", а "через задницу соседа дяди Васи". Вообще говоря, создавая топик, я ожидал, что кто-нибудь посоветует мне публиковать файлы через web-сервер. Но WebDAV-а, признаться, не ожидал. "Что слышал, о том пою". Ладно, спасибо всем участвовавшим и особенно maXmo, свое участие в топике завершаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2007, 14:26 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
Через задницу -- это изобретать криворукий драйвер для публикации каталога. WebDAV является стандартным интерфейсом для этих задачей. Через него все нормальные продукты работают, включая Subversion. И CVS скоро тоже будет через WebDAV работать. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2007, 14:28 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
softwarerА в остальных, насколько я в курсе, будет работать один и тот же драйвер. А вот и не будет. Да будет тебе известно, на висте драйвера от XP не работают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2007, 14:42 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
GoldSquidА вот и не будет. Да будет тебе известно, на висте драйвера от XP не работают. А вот эту уже серъезно. Это знаете-ли будет на первом месте в лентах новостей. Сразу перед "Путин ушёл в отставку" и "Бен Ладен сдался властям". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2007, 14:49 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
GoldSquidЧерез задницу -- это изобретать криворукий драйвер для публикации каталога. Если принципиально пишешь криво - тогда, конечно, лучше WebDAV. На фоне кривизны http+web собственная не так заметна. GoldSquidWebDAV является стандартным интерфейсом для этих задачей. Для публикации файлов локального приложения на локальном компе? Не смеши мои тапочки. GoldSquidЧерез него все нормальные продукты работают, включая Subversion. В первую очередь, Subversion - продукт совершенно другого класса. Я не знаю, с какой ноги нужно встать, чтобы не понимать отличия "сервера, выставленного в веб" от "клиента на рабочей станции". Во-вторых, Subversion можно назвать нормальным продуктом только с очень большого бодуна. Список его достоинств исчерпывается двумя пунктами: "бесплатный" и "получше cvs"; в остальном ощущение "как в прошлый век попал". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2007, 14:49 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
maytonА вот эту уже серъезно. Это знаете-ли будет на первом месте в лентах новостей. Сразу перед "Путин ушёл в отставку" и "Бен Ладен сдался властям". Не будет. Вы либо не использовали USB-устройств, либо не пользовались вистой. mayton Для публикации файлов локального приложения на локальном компе? Не смеши мои тапочки. Да делай как хочешь. За@бал с тапочками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2007, 14:54 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
(откинувшись на спинку кресла) Зря вы сердитесь. Мне нравится вариант, который предлагает GoldSquid. Он имеет перспективу расти и масштабироватся дальше ОС Windows. В нём заложен потенциал. А у меня на такие вещи - чутьё. Кривизна-же протоколов WebDav - явление временное. Через пару-тройку лет причешут, пригладят. Всё будет в шоколаде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2007, 14:55 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
GoldSquid mayton Для публикации файлов локального приложения на локальном компе? Не смеши мои тапочки. Это не мои слова! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2007, 14:57 |
|
||
|
Виртуальные файлы
|
|||
|---|---|---|---|
|
#18+
FTPDrive работает через подмену функций ntdll.dll. Т.е. банальный перехват API. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2007, 16:12 |
|
||
|
|

start [/forum/topic.php?all=1&fid=16&tid=1345814]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
84ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 365ms |

| 0 / 0 |
