I've been trying to detect the arrival of a new RNDIS device (Windows Mobile phone) using NotifyAddrChange(). This works, in the sense that I can wait on the event and then call GetAdaptersAddresses(). However, the event keeps firing but nothing seems to change.
I'm not sure what causes this. Speculation: Could it be that when RNDIS allocates a link-local IP address, it also keeps polling for a DHCP server on the link? And that every time it fails to find a DHCP server, it counts as an address change for NotifyAddrChange()?