I am tying to get a reliable automatic dial to an ISP working under NT4.0 SP1. I still have not been able to achieve this.
This is where I'm at :
The objective is to have Windows NT dial an ISP when booted, with no user interaction and establish a PPP link. If the link fails for any reason it must re-dial and be re-established the link without user interaction.
I have set this up in the following manner;
* Created a RAS phone book entry to dial and login to the ISP.
* Set "Re-Dial on Link Failure" in the entry.
* Created a service to start the "DIALER" using SRVANY.EXE. I have tried Microsoft's RASDIAL & RASPHONE and a 3rd Party dialer called RAS32
all with the same result.
This all works fine if you are logged in and you start the service manually. It will re-dial on failure and re-connect 100% of the time.
However if you then logout, the line will drop and NT will not re-dial the ISP.
If I set the service to start automatically and re-boot, the service will start and connect to the ISP, as long as a connection is established the first time ( it will not re-dial if there is a fault on the initial connect). Also if a connection is made on the first attempt, if you login on the console then log off the connection will drop and no re-dial will take place.
I found the following in the SRVANY.WRI file that explains why the link drops when you logout;
" For WIN32 Console (i.e. character-mode) applications: when the currently logged-in user is logging-off, all Console applications receive a CTRL_LOGOFF_EVENT event from the Console. If your Console application has registered a Console event handler (via SetConsoleCtrlHandler), it must ignore CTRL_LOGOFF_EVENT in order to survive the logoff. "
What I need is a RAS DIALER that will survive a CTRL_LOGOFF_EVENT and will read the "Re-Dial on Link Failure" setting in the phone book entry.