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: December 11, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT Market pressures to move more quickly and develop innovative applications are forcing organizations to rethink how they develop and release applications. The combination of public clouds and physical back-end infrastructures are a means to get applications out faster. However, these hybrid solutions complicate DevOps adoption, with application delivery pipelines that span across complex hybrid cloud and non-cloud environments. Check out this …

  • With the average hard drive now averaging one terabyte in size, the fallout from the explosion of user-created data has become an overwhelming volume of potential evidence that law-enforcement and corporate investigators spend countless hours examining. Join Us and SANS' Rob Lee for our 45-minute webinar, A Triage and Collection Strategy for Time-Sensitive Investigations, will demonstrate how to: Identify the folders and files that often contain key insights Reduce the time spent sifting through content by …

Most Popular Programming Stories

More for Developers

RSS Feeds