Как сделано?
От: bambor  
Дата: 28.08.08 11:48
Оценка:
есть такая фриварная утилитка FTPDrive http://killprog.com/FDinst.exe, которая создает в сеансе пользователя отключенный сетевой диск(disconected network drive)
а его сожержимое представляет как ряд каталогов соотествующих заданным в настройках ftp-серверам, при обращении к каталогу производится программой обращение к ftp-серверу и выводится его содержимое.
Может all, подскажет как можно сделать подобную эмуляцию?
Re: Как сделано?
От: Аноним  
Дата: 28.08.08 15:27
Оценка:
B>есть такая фриварная утилитка FTPDrive http://killprog.com/FDinst.exe, которая создает в сеансе пользователя отключенный сетевой диск(disconected network drive)
B>а его сожержимое представляет как ряд каталогов соотествующих заданным в настройках ftp-серверам, при обращении к каталогу производится программой обращение к ftp-серверу и выводится его содержимое.
B>Может all, подскажет как можно сделать подобную эмуляцию?
Я в ней заюзал detours
Но не скажу что это было самое лучшее и простое решение Зато прав админа не требует, что имело свои плюсы..
Re: Как сделано?
От: xmen  
Дата: 28.08.08 16:06
Оценка:
Здравствуйте, bambor, Вы писали:

B>есть такая фриварная утилитка FTPDrive http://killprog.com/FDinst.exe, которая создает в сеансе пользователя отключенный сетевой диск(disconected network drive)

B>а его сожержимое представляет как ряд каталогов соотествующих заданным в настройках ftp-серверам, при обращении к каталогу производится программой обращение к ftp-серверу и выводится его содержимое.
B>Может all, подскажет как можно сделать подобную эмуляцию?

Делает она это путем эмуляции диска с FTP серверами на уровне Native NT API.

Native NT API — через NTDLL.DLL
Re[2]: Как сделано?
От: Аноним  
Дата: 28.08.08 22:46
Оценка:
X>Native NT API — через NTDLL.DLL
дада. Тупо похукал файловый сервисы в юзермоде во всех доступных апликухах. 'Disconnected network drive' — это скорее баго-фича. Причем он таким прикидывается только для виндового шелла (для explorer.exe). Network он потому что еслиб он был просто removable для эксплорера, то как выяснилось экплорер начинает очень активно самостоятельно рыться по такому диску, причем на несколько уровней глубже того где ходит юзер, вычитывая всякие desktop.ini и иже с ними в подкаталогах, что вызывает дикие тормоза ввиде природной неприспособленности FTP протокола в активным операция листинга (постоянная установка data connection'ов + текстовый формат дают о себе знать). А если эмулированный диск помечен как 'Network' то эксплорер ведет себя с ним гораздо скромнее. А Disconnected он потому что я так и не нашел как заставить эксплорер думать что он connected Да и не искал я особо
Для остальных апликух этот диск просто Removable. Потому что некоторые особо умные апликухи не хотят работать с сетевым диском, если он disconnected. Жизнь воще штука сложная
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.