The event you set into driver with SetWANEvent is signaled when the new dial-up (VPN, PPPoE and etc…) connection is established or dropped, so you could reinitialize your configuration information. It is rather similar to SetAdapterListChangeEvent than SetPacketEvent which is signaled when new packet is queued.
I’ve noticed that the WAN event can occur _before_ the RAS_LINKS table has been fully updated. I’ve solved the problem for now by sleeping for 1000 msec before copying the table for further use in my software.
Is there any way of determining when the RAS_LINKS table is valid?