【发布时间】:2014-03-17 09:05:58
【问题描述】:
我正在尝试编写一个程序,该程序将根据命令切换所选适配器的 IP。
为此,我使用 GetAdaptersInfo() 函数来获取适配器的索引及其 IP 上下文,然后使用它删除当前 IP(通过 DeleteIPAddress(context))。
之后,新的 IP 将通过 AddIPAddress() 插入。
问题是,在尝试删除“默认”IP(不是由 AddIPAddress() 设置的 IP)并在删除旧 IP 之前调用 AddIPAddress 时,对 DeleteIPAddress 函数的调用失败,只会使适配器具有两个不同的同时 IP .
DeleteIPAddress 函数失败并出现错误 31(连接到系统的设备无法运行)。
还有其他方法可以成功更改适配器上的 IP 地址吗? DeleteIPAddress 是否真的可以在没有从 AddIPAddress 获取上下文的情况下使用?
【问题讨论】:
标签: c++ ip ip-address windows-xp-embedded iphelper