4

在此处输入图像描述

描述 :

我以编程方式创建了一个拨号连接来与我的设备和笔记本电脑通信。并且一旦通过已创建的拨号连接建立连接,我通过 LAN 连接的 Internet 连接将无法正常工作,并且我的 LAN 连接状态(用于 Internet 连接保持)已连接。

为了克服这个问题,我需要取消选中“在远程网络上使用默认网关方式”选项,right click my dial-up connection -> properties -> Netwroking TAB -> Select Internet Protocol (TCP/IP) -> Properties -> Advanced -> I get Advanced TCP/IP settings -> Unchek "Use Default Gate Way on Remote Network".

我正在使用 RAS 函数为我的拨号连接创建电话簿。是否有任何结构可以将其作为一种选择。我没有找到任何结构参数来使它成为一个选项。请指教..

如何以编程方式做到这一点?我可以使用任何 API。

4

3 回答 3

3

我还没有测试来验证它,但我这对应于结构的ForwardingEnabled元素MIB_IPINTERFACE_ROW。如果是这样,您可以使用SetIpInterfaceEntry.

您通常希望调用GetIpInterfaceTable以获取每个接口的当前信息,然后将ForwardingEnabled成员修改为正确的成员,然后SetIpInterfaceEntry使用该 modified调用MIB_IPINTERFACE_ROW

于 2012-07-31T13:54:17.633 回答
1

通过RASEO_RemoteDefaultGateway在创建电话簿时取消设置标志将禁用此选项。

可以使用 RASENTRY结构dwoptions成员取消设置此标志。

来自 Microsoft SDK 的内容:

RASEO_RemoteDefaultGateway- 如果设置了此标志,则当连接处于活动状态时,IP 数据包的默认路由是通过拨号适配器。如果清除此标志,则不会修改默认路由。此标志对应于 TCP/IP 设置对话框中的在远程网络上使用默认网关复选框。

于 2012-08-09T08:17:53.097 回答
0

我将赌注押在AdvertiseDefaultRouteDisableDefaultRoutes标志上。使用默认网关选项只是覆盖当前网关并更改默认路由(route print在连接之前和之后检查)。

于 2012-08-09T06:32:31.473 回答