Click here to Skip to main content
Click here to Skip to main content

Opening a Dial-Up connection

By , 13 Jan 2000
Rate this:
Please Sign up or sign in to vote.
  • Download demo project - 10 Kb
  • <!-- Article Starts -->

    There is a code for Dial-Up connection. Alexander Fedorov discusses in his article Calling RasHangUp without errors how to disconnect a dial-up connection. This is other part of same problem (accessing the internet via phone line). This task can be done by using the CInternetSession::GetFtpConnection() function for example, but only if all parameters in the dial-up dialog are present (but then you can't set the username, password and phone number programatically).

    To use this function you must include the "ras.h" and "raserror.h" header files and link with rasapi32.lib.

    bool DialUp() 
    {    
        // Fill RASDIALPARAMS structure
        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 );
    
        // Everything OK?
        if (dwRet == 0)  
            return true;    
    
        // Error occurred - get error description and alert user
        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 the synchronous version (the fifth parameter of RasDial() is NULL). The updated version can use a pointer to the RasDialFunc() function instead, and then RasDial() returns immediately and calls RasDialFunc() when WM_RASDIALEVENT occurs.

    License

    This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

    A list of licenses authors might use can be found here

    About the Author

    Mileta Radenovic
    Software Developer (Senior)
    Canada Canada
    No Biography provided

    Comments and Discussions

     
    GeneralNewer ras.h Pinmembernikouhl6-Aug-03 5:26 

    General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

    Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

    | Advertise | Privacy | Mobile
    Web03 | 2.8.140415.2 | Last Updated 14 Jan 2000
    Article Copyright 2000 by Mileta Radenovic
    Everything else Copyright © CodeProject, 1999-2014
    Terms of Use
    Layout: fixed | fluid