【发布时间】:2011-12-30 15:21:18
【问题描述】:
我想仅使用 API 调用或注册表编辑来添加持久 IPv6 地址。我目前已经实现了一个使用CreateUnicastIpAddressEntry API 成功添加 IPv6 地址的代码,但是当适配器重置或机器重新启动时 IP 地址被破坏(如 MSDN 文档中所述)。
使用 IPv4,这很容易做到。只需将AddIPAddress API 与注册表项结合使用即可获得所需的结果。
我试图在 Windows 注册表中找到任何用于保存 IPv6 地址的条目,但没有成功。 MSDN 文档建议使用 netsh.exe 来完成任务,但我很确定 netsh.exe 正在执行一些 API 调用或注册表项来完成此任务(Microsoft 没有在任何地方记录)。
如何做到这一点?
【问题讨论】:
-
问得很好 - 看起来你对它进行了相当多的研究。
-
@awoodland,伙计,对此进行了大量研究。这就是我猜 IPv6 仍然没有起色的原因。对于严肃的事情还没有适当的文档。
-
您是否尝试过像
store=persistent这样显式设置这些参数? -
我只是想看看 netsh.exe 在后台做什么,使用 Sysinternal Process Monitor,却发现它在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nsi\{eb004a01- 9b1a-11d4-9123-0050047759bc}\10 它是一个 REG_BINARY 条目,其中包含一些我不确定的二进制数据。将通过更多实验进行检查。
标签: winapi ip-address ipv6