无法将linklocaldressbehavior设置为linkLocalalwaysoff

Cannot set LinkLocalAddressBehavior to LinkLocalAlwaysOff

本文关键字:linkLocalalwaysoff 设置 linklocaldressbehavior      更新时间:2023-10-16

我正在尝试通过使用setipInterfaceentry函数将接口的LinkLocalAddressBehavior设置为LinkLocalAlwaysOff,但是我总是得到ERROR_INVALID_PARAMETER。当我将LinkLocalAddressBehavior设置为LinkLocalDelayed时,SetIpInterfaceEntry无问题执行。

我还没有找到任何可能在MSDN上解决此问题的东西(setipInterfaceentry,mib_ipinterface_row或nl_link_link_local_address_behavior)。

有什么建议?

谢谢!

更新:代码样本:

// Initialize MIB_IPINTERFACE_ROW with actual InterfaceLuid:
auto row = MIB_IPINTERFACE_ROW{ AF_INET, 1689399632855040 };
// GetIpInterfaceEntry succeeds
auto result = GetIpInterfaceEntry(&row);
// Setting the value:
row.LinkLocalAddressBehavior = LinkLocalAlwaysOff;
// SetIpInterfaceEntry fails with ERROR_INVALID_PARAMETER:
result = SetIpInterfaceEntry(&row);

根据本文:

IPv4链接 - 本地地址的分配是基于仅在界面的状态下,独立于任何其他DHCP等协议。主机不得改变其行为和使用其他协议,例如DHCP,因为主机已分配了IPv4接口的链接本地地址。

因此,当启用它时,我们将无法更改其行为。LinkLocalDelayed成功,因为原始状态为LinkLocalDelayed

对于IPv6,我在MSDN上找到了一个答案。似乎他们有一些类似的行为。如果启用了一个,则将无法禁用。

相关文章:
  • 没有找到相关文章