
描述:
我通过编程创建了一个拨号连接,以便与我的设备和笔记本电脑进行通信。在创建拨号连接的情况下建立连接后,通过LAN连接的internet连接不工作,LAN连接(用于internet连接)的状态仍为connected。
为了克服这个问题,我需要取消勾选“在远程网络上使用默认网关方式”,选项由,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吗。
发布于 2012-08-09 16:17:53
在创建电话簿时取消设置RASEO_RemoteDefaultGateway标志将禁用此选项。
可以使用RASENTRY structure dwoptions成员取消设置此标志。
来自Microsoft SDK的内容:
RASEO_RemoteDefaultGateway -如果设置了此标志,则当连接处于活动状态时,IP数据包的默认路由是通过拨号适配器。如果清除此标志,则“默认路由不是modified.This”标志对应于“TCP/IP设置”对话框中的“在远程网络上使用默认网关”复选框。
发布于 2012-07-31 21:54:18
我还没有测试来验证它,但我猜这对应于MIB_IPINTERFACE_ROW结构的ForwardingEnabled元素。如果是这样,您可以使用SetIpInterfaceEntry进行更改。
您通常希望调用GetIpInterfaceTable来获取每个接口的当前信息,然后将ForwardingEnabled成员修改为正确的成员,然后使用修改后的MIB_IPINTERFACE_ROW调用SetIpInterfaceEntry。
发布于 2012-08-09 14:32:31
我把我的赌注押在AdvertiseDefaultRoute和DisableDefaultRoutes旗帜上。使用默认网关选项只是覆盖当前网关并更改默认路由(在连接之前和之后检查route print )。
https://stackoverflow.com/questions/11740673
复制相似问题