Steve Meredith wrote: > The Internet Properties | Connections dialog in the control panel has > three cases. > > 1) Never dial a connection. Obvious. > 2) Dial whenever a network connection is not present. How do we know? > This is where my dial on error suggestion comes from. Maybe there's an > OS call to make to determine this? If so, then we wouldn't have to wait > for a network call to fail. > 3) Always dial my default connection. Sounds like this is where you > suggestion of when to dial fit in. Always dial in those cases you list. >
Those are MS Office App (Outlook, IE, ...) params (even though it says internet options). They all use the WinINet functions which are part of the IE Dlls. Specifically, it appears that "InternetGetConnectedState()" is called to determine if there is already connectivity to the internet and then "InternetAutodial()" is called if appropriate. These functions are found in Wininet.h and Wininet.lib and are implemented in IE 4.0 and later. They are not part of the sockect mechanism nor part of the OS. The RAS (Remote Access Service) functions such as RasDial are found in Ras.h/RasAPI.lib and is implemented in Win 95 or later (including NT and above). RAS has no (built-in) method for detecting internet connectivity. The control panel options only affect WinInet and MS specific things and the settings are stored in an undocumented way (at least as far as I can tell). So the issue is how much effort do we want to spend on developing a clean method versus do we want to be dependant on IE. I think some people might have objectins to IE dependance in case IE ends being able to be completely un-installed. Even though WinInet should not be part of IE but part of the Platform SDK I doubt MS is going to change that for us ;). I think my opion is use WinINet for 1.0 as it is the easiest while developing a more independant solution for the next release. -David
