NotifyIpInterfaceChange function (netioapi.h) does not notify on manual DNS changes

Brad House 0 Reputation points

I work on the c-ares open source asynchronous DNS library ( and we have recently added automatic configuration reloading when we detect a network configuration change has occurred.

We get notifications properly when network interfaces go up or down, or IP addresses change (e.g. DHCP), but we aren't getting notifications for a user manually changing a DNS server via Control Panel -> Network and Internet -> Network Connections, then right click on an interface and go to properties then modify the DNS server in "Internet Protocol Version 4 (TCP/IPv4)" or "Internet Protocol Version 6 (TCP/IPv6)".

We used NotifyIpInterfaceChange() for this (, which the documentation seems to indicate since we made a change to the interface we should be notified, however no notification is sent. We would expect to get a MibParameterNotification.

We also tried using NotifyUnicastIpAddressChange() but that didn't notify on that condition either.

This was tested on an up-to-date Windows 11 development machine. I would consider this a bug in NotifyIpInterfaceChange() since it doesn't match the description in the documentation.

A family of Microsoft operating systems that run across personal computers, tablets, laptops, phones, internet of things devices, self-contained mixed reality headsets, large collaboration screens, and other devices.
4,940 questions
Windows API - Win32
Windows API - Win32
A core set of Windows application programming interfaces (APIs) for desktop and server applications. Previously known as Win32 API.
2,476 questions
A high-level, general-purpose programming language, created as an extension of the C programming language, that has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation.
3,596 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Xiaopo Yang - MSFT 11,746 Reputation points Microsoft Vendor

    Hello @Brad House,

    Where do we go from here?

    If the issue has a big impact on you, you can open a Windows SDK incident at so that our engineer can work with you closely and please choose the 'Networking Development - Internet Protocol Helper (IP Helper) API' for this issue. In-addition, if the support engineer determines that the issue is the result of a bug the service request will be a no-charge case and you won't be charged.