![]() |
|
Модераторы: Snowy, Poseidon, MetalFan |
![]()
|
|
| Maks1509 |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 22.8.2007 Где: г. Тольятти Репутация: 2 Всего: 5 |
Приветствую. Необходимо создать постоянный маршрут в системах Vista / 7. Под 2000 и XP все прекрасно создается, а тут загвоздка. Впринципе в таблицу маршрутизации маршрут добавляется, что подтверждается демо примером iphlpapi для Delphi, идущим с заголовочными модулями, но если в командной строке выполнить команду route print, список постоянных маршрутов пуст.
Есть несколько вопросов: 1. Если не вызывать GetBestRoute для сохранения метрики интерфейса из заполненной структуры, почему-то CreateIpForwardEntry выдает ошибку 160, хотя GetLastError выдает при этом 0. До этого указывал метрику равную 1. Под XP и 2000 все прекрасно работает, а тут вообще непонятно какое значение подставить. Просто случайно обнаружил данный способ. Работает конечно, но как-то уж криво реализованный он, да и сомнение есть по этому поводу. 2. Проверяю код на виртуальнйо машине так как просто не хочу устанавливать Vista и 7. Может быть оно и работает как надо и только на виртуальной машине проявляется этот глюк. Просмотрел снимки реестра до и после работы системной программы route с целью получения информации чтоже она доабвляет-то в реестр раз после ее манипуляций она показывает постоянный маршрут.
Если поудалять ключи {eb004a00-9b1a-11d4-9123-0050047759bc}, постоянных маршрутов не будет. что это за идентификатор или GUID или что вообще? От чего зависит сохранение постоянного маршрута в этих системах? Смотрел на различных форумах, но вообще глухо по этой теме. |
||||
|
|||||
| developer2007 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 5.11.2007 Репутация: нет Всего: -2 |
А зачем простите такие извращения? Ведь есть намного проще и красивее вариант в виду своей кроссвиндозности (пример для D2010):
Да кстати, в Висте (и видно в 7) есть мега нововведение - не имея прав админа нельзя получить доступ к route add... Это сообщение отредактировал(а) developer2007 - 24.10.2009, 16:47 --------------------
У настоящего програмёра прога пишется на асме с использованием натив апи |
|||
|
||||
| Maks1509 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 22.8.2007 Где: г. Тольятти Репутация: 2 Всего: 5 |
developer2007
Ну так я от запуска консоли и хочу отказаться, тем более требуется контролировать процесс добавления маршрута, а не тупое скрытие окна консоли с гаданием добавился он или нет. На привилегии администратора тоже есть проверки. Уж если есть Ip Helper, так почему бы полноценно его не использовать. |
|||
|
||||
| developer2007 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 5.11.2007 Репутация: нет Всего: -2 |
Так смотри на ExitCode процесса и по нему определяй всё ли ок, ну и ещё в новых системах после добавления маршрута вроде ОК выводит.
--------------------
У настоящего програмёра прога пишется на асме с использованием натив апи |
|||
|
||||
| Maks1509 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 22.8.2007 Где: г. Тольятти Репутация: 2 Всего: 5 |
И все равно хотелось бы через Ip Helper. Все бы хорошо, но большинство пользователей потихоньку перелезают на новые системы, а хочется обсепечить поддержку и там полноценную. Да и в JEDI что-то не торопяться новую версию заголовочных файлов делать.
|
|||
|
||||
| developer2007 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 5.11.2007 Репутация: нет Всего: -2 |
Ну так а я про что - необходимо использовать средства предоставленные самой системой без конкретной привязки к её архитектурным особенностям.
--------------------
У настоящего програмёра прога пишется на асме с использованием натив апи |
|||
|
||||
| Maks1509 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 22.8.2007 Где: г. Тольятти Репутация: 2 Всего: 5 |
Мне еще требуется очищать маршруты перед добавлением. Пока тестировал на различных системах на виртуальной машине, обнаружил странный недочет. Весь процесс стопорится после route -f под Windows 2000, поэтому также не вижу смысла использовать в программе запуск комадной строки, показывать пользователю не хочется как все это делается, но в этом случае пользователь и не узнает из-за чего процесс добавления маршрутов виснет. Также работаю и со службами отдельно чтобы перезапускать их (например DHCP для возобновления работы после добавления маршрутов и обновления сетевых интерфейсов), да и больше гибкости в этом, знаешь что не так пойдет и что нужно показать пользователю этом случае.
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Сети" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |