Чтобы убедиться, что у нас есть правильные маршруты для различных соединений 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