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


Reply via email to