Windows Routing API: какие вызовы API необходимы для создания управляемой версии route.exe для Windows?

Чтобы убедиться, что у нас есть правильные маршруты для различных соединений vpn, мы обычно запускаем пакетный файл, который вызывает команды, подобные следующим:

route add xxx.xxx.xxx.xxx mask 255.255.255.0 yyy.yyy.yyy.yyy

У нас есть приложение C#, которое использует класс NetworkInterfaces для прослушивания сетевых событий и запускает эту команду с помощью команды Process.

Это не идеально, и мне было интересно, есть ли определенный набор вызовов Win32 API, которые означали бы, что я могу добавлять/удалять маршруты без использования консольного приложения. Другими словами, какие вызовы API делает route.exe для выполнения своих задач?

Я думаю, что CreateIpForwardEntry и его коллеги могут подойти, но я не уверен. Я прочитал об этом здесь: http://msdn.microsoft.com/en-us/library/aa365860(VS.85).aspx


person Neil Barnwell    schedule 08.02.2010    source источник


Ответы (1)


Без сомнения, вспомогательные функции IP используются для реализации команды ROUTE. Ознакомьтесь с документацией по GetIpForwardTable() и структуре MIB_IPFORWARDROW, а для примера клона ROUTE проверьте подкаталог IPRoute (в каталоге IPHelp) в каталоге Microsoft Platform SDK.

person Android Eve    schedule 08.10.2010