【问题标题】:Windows: Programmatically retrieve manually configured IPv6 addressWindows:以编程方式检索手动配置的 IPv6 地址
【发布时间】:2015-04-15 10:38:14
【问题描述】:

我可以通过从以下注册表项读取 IPAddress 值来检索网络适配器(包括禁用的)手动配置的 IPv4 地址

SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{Adapter-Guid}

是否有类似的方法来检索 IPv6 地址?或者您有什么其他建议可以在代码中获取手动配置的 IPv6 地址?

【问题讨论】:

  • 是的,您可以在代码中完成。您应该停止为此读取注册表,并使用 API。你为什么决定使用注册表?有什么具体原因吗?
  • 是的,我还需要禁用适配器的配置IP地址。
  • 问题中没有说明

标签: windows winapi networking registry ipv6


【解决方案1】:

不要直接从注册表读取系统设置。您最终会遇到兼容性问题,因为不同版本的操作系统上的配置/设置位置可能不同。在 Windows 上使用 GetAdaptersAddresses() API 函数来做到这一点。

【讨论】:

  • 不幸的是,在这种情况下我不能使用 GetAdaptersAddresses,因为它不会返回任何禁用的适配器。我还需要获取残疾人信息
  • 即使指定了GAA_FLAG_INCLUDE_ALL_INTERFACES 标志?
  • 是的,此标志不会更改包含禁用接口的行为。使用 Win32_NetworkAdapterConfiguration 与 WMI 相同
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-09
  • 2011-03-07
  • 1970-01-01
  • 2021-09-26
相关资源
最近更新 更多