Dial-Up connection

Environment: VC6.0 Win98

Hi all,

There is a code for Dial-Up connection. Aleksander Mikula had already posted his code for disconnecting dial-up connection. This is other part od same problem (accessing internet via phone line). This task can be done by using CInternetSession::GetFtpConnection() function for example, but only if all parameters in dial-up dialog are present (and then you don't set username, password and phone number programaticaly).

For using this function you must include "ras.h" and "raserror.h" header files and link with rasapi32.lib.

bool  DialUp() 
{    
	RASDIALPARAMS rdParams;
    	rdParams.dwSize = sizeof(RASDIALPARAMS);    
	rdParams.szEntryName[0] = '\0';
    	lstrcpy( rdParams.szPhoneNumber, szPhoneNumberToDial );
    	rdParams.szCallbackNumber[0] = '\0';
    	lstrcpy( rdParams.szUserName, szUserName );
    	lstrcpy( rdParams.szPassword, szPassword );    
	rdParams.szDomain[0] = '\0';
    	HRASCONN hRasConn = NULL;
    	DWORD dwRet = RasDial( NULL, NULL, &rdParams, 0L, NULL, &hRasConn );
    	if ( dwRet == 0 )  
		return true;    
	char  szBuf[256];
	if ( RasGetErrorString( (UINT)dwRet, (LPSTR)szBuf, 256 ) != 0 )
        	wsprintf( (LPSTR)szBuf, "Undefined RAS Dial Error (%ld).", dwRet );
    	RasHangUp( hRasConn );
    	AfxMessageBox( NULL, (LPSTR)szBuf, "Error", MB_OK | MB_ICONSTOP );
    	return false;
}


Note that here I'm using sinhrone version (five parameter of RasDial() is NULL). Updated version can use pointer to RasDialFunc() function instead, and then RasDial() returns immediately and calls RasDialFunc() when WM_RASDIALEVENT is occur.

Download demo project - 10KB



Comments

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: May 6, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT While you likely have very good reasons for remaining on WinXP after end of support -- an estimated 20-30% of worldwide devices still are -- the bottom line is your security risk is now significant. In the absence of security patches, attackers will certainly turn their attention to this new opportunity. Join Lumension Vice President Paul Zimski in this one-hour webcast to discuss risk and, more importantly, 5 pragmatic risk mitigation techniques …

  • Given today's threat environment and the increasing connectivity of digital infrastructures, security teams now realize that they must assume their IT environments are subject to periodic compromise. Gone are the days when preventive measures to secure the perimeter or trying to detect malware problems using signature-match technologies were enough. New practices based on an understanding of the phases of an attack, continuous threat monitoring, and rapid attack detection and remediation are necessary. This …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds