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