Страница: 1 |
|
Вопрос: обойти rasdial.exe или как узнать его результат
|
Добавлено: 20.09.05 13:36
|
|
Автор вопроса: student-uni
|
В общем проблема такая
У меня в проге запускаетса rasdial.exe /кому интересно c помощью CreateProcessWithLogon/
А потом когда появляетса виртуалный интерфеис стоит задача изменить Route table,
что я тоже успешно делаю и даже без Route.ехе /кому интересно тоже могу поделиться/
Но вот беда:
отследить точно момент появления нового виртуалного интерфеиса проблематично.
Т.Е. : прога запустила CreateProcessWithLogon (rasdial.exe ) и пошла далше,
а далше - стоит задача изменить Route table
и если rasdial.exe не успевает быренько создать виртуалный интерфеис,
то и Route не отрабатывает /нет интерфеиса!/
Я поставил задежку секунд 10 - все стало окей НО ...
Если следует к примеру не один а два или более запросов на запуск CreateProcessWithLogon (rasdial.exe )
/из разных копии моей проги ! ТЕ из разных прозессов/
то происходит буквално следуущее:
Винда /ХП/ ставит их в очередь. ТЕ: пока не законнектится первый rasdial.exe то второй висит.
это хорошо!
Законнектился первый - Винда коннектит второго.
И вот тут внимание - клоака !!
Если по каким то причинам второй интерфейс устанавливается быстрее первого,
/ну такое может быть вполне-ето значит он по "ip config" или по "route print"скорее просматриваетса/
то /оба прозесса потом ещё ждут мои 10 секунд/
изза того, что второй интерфес отобразился шустрее то
Маршрут предназначавшийся для первого - назначается второму интерфеису и наоборот:
маршрут второго - первому.
Во попа ...!
И я обошел ету проблему тем что выставил флаг запрета на роутинг в табличке в базе данных
для всех пока один до конца не законектится и не высветится виртуалный интерфеис .
Но это же порнография!
Вопрос:
1. Кто нить пробовал устанавливать ВПН соединения средствми VB (.NET) без rasdial.exe ?
/Изначално Известны пароль логин АйПи/
2. Кто нить знает как дождаться завершения процесса запущенного CreateProcessWithLogon или shell
- или получить от него какои то сигнал
- или заблокировать участок кода /хотя ето бред/
- или узнать какои из процессов породил тот или инои виртуалный интерфеис.
Всё
я кончил.
Спасибо всем кто напхает тупому.
Ответить
|
Страница: 1 |
Поиск по форуму