What I need is a function\method\process\hook to tell when a specific network interface has either been enabled or when it has received an address from the DHCP.
The Situation: We have a client who requires a VPN connection from our end to theirs in order for us to use a DB for their software. The problem is that they used a shotgun approach to populating their routing tables. I have a service written up that will make the necessary changes to the RT's once it runs and indeed I even have the ACE's for that service setup so that the otherwise restricted users can start this service from a script after the VPN connection has been made to our client. So as far as a functional alternative is concerned I have that covered. What I would rather have though, pretty much purely for the added cool factor, is for my service to monitor their VPN so that it can kick off automatically without the additional step of the user having to run the script.
The target platform is primarily Windows XP, but Windows 7 would be a bonus. I have experience with the WinAPI and COM(+) so any of those approaches would be ideal. I would rather avoid a solution like Boost Asio only because I would then have to add that framework to 300+ machines and 30+ images. However if that solution proves to be the only option or notably better then I can be flexible in that regard.
NOTE: The provider before us was assigning each of their people TWO MACHINES as a work around to this problem. So the solution we have in place now already blows that one away. But for some reason that fact is making me even more eager to add this one last feature.
NOTE 2: We don't have write access to their DNS cache and the solution we came to after working with their support team is, naturally, to put in a dedicated line between the sites. This however is three months away due to the Christmas season freeze.