无法将linklocaldressbehavior设置为linkLocalalwaysoff
Cannot set LinkLocalAddressBehavior to LinkLocalAlwaysOff
我正在尝试通过使用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上找到了一个答案。似乎他们有一些类似的行为。如果启用了一个,则将无法禁用。
相关文章:
- 没有找到相关文章