Windows Routing API:为Windows构建route.exe的托管版本需要哪些API调用?

Nei*_*ell 3 c# winapi routes

为了确保我们为各种VPN连接提供正确的路由,我们通常运行一个调用类似于以下命令的批处理文件:

route add xxx.xxx.xxx.xxx mask 255.255.255.0 yyy.yyy.yyy.yyy
Run Code Online (Sandbox Code Playgroud)

我们有一个C#应用程序,它使用NetworkInterfaces该类来侦听网络事件,并使用该Process命令运行此命令.

这不是理想的,我想知道是否有一组Win32 API调用,这意味着我可以添加/删除路由而不会出现控制台应用程序.换句话说,API调用是route.exe做什么的?

我认为CreateIpForwardEntry它的同事可能是要走的路,但我不太确定.我在这里读到它:http://msdn.microsoft.com/en-us/library/aa365860(VS.85).aspx

And*_*Eve 5

毫无疑问,IP帮助程序函数是用于实现ROUTE命令的函数.检查GetIpForwardTable()和MIB_IPFORWARDROW结构文档,对于ROUTE克隆示例,请检查Microsoft Platform SDK目录中的IPRoute子目录(位于IPHelp目录下).