Click here to Skip to main content
15,890,973 members
Articles / Desktop Programming / MFC
Article

Creating Dialup Connections

Rate me:
Please Sign up or sign in to vote.
4.50/5 (8 votes)
29 Aug 20022 min read 136K   5.5K   21   23
Describes how to create a new phone-book entry, and set it up with the user profile.

Sample Image

Introduction

Recently I worked on the dialup APIs, and I noticed that many people are having difficulty using some of the RAS functions. Here, I decided to present how to create a new phone-book entry. The key functions are RasSetEntryProperties() to create a phone-book entry, and RasSetEntryDialParams() to store the username and the password in it. There are a couple more RAS functions that are used, but I wrapped them in the very simple functions to show you how to use them correctly.

API Reference

CreateRasEntry

Use this function to create a new phone-book entry. 

BOOL CRasEntry::CreateRasEntry(CString strEntryName, RASENTRY &RasEntry);

Parameters

  • strEntryName: Specifies a string containing the phone-book entry to use to establish the connection.
  • RasEntry: RASENTRY structure that contains the new connection data to be associated with the phone-book entry specified by the strEntryName parameter.

EnumModem

Returns the name and type of all available RAS-capable devices.

BOOL CRasEntry::EnumModem(char *szDeviceType, CStringArray &strDevArray);

Parameters

  • szDeviceType: Specifies a RAS device type. These are the available types: RASDT_Modem, RASDT_Isdn, RASDT_X25, RASDT_Vpn, and RASDT_Pad. For the dialup connection, you should use RASDT_Modem ("modem").
  • strDevArray: If this function returns TRUE, strDevArray will contain the name of all the RAS devices.

GetCountryInfo

Retrieves country-specific dialing information from the Windows Telephony list of countries. Provide the country ID before calling this function. If the function succeeds, it returns the country ID.

DWORD CRasEntry::GetCountryInfo(DWORD dwCID, RASCTRYINFO &RasCTryInfo, char *szCountryName);

Parameters

  • dwCID: Specifies a string containing the phone-book entry to use to establish the connection.
  • RasCTryInfo: Specifies a string containing the user's user name.
  • szCountryName: Specifies a string containing the user's password.

In order to retrieve all the countries, create a while loop like this:

RASCTRYINFO RasCTryInfo;
char szCountryName[256];
DWORD dwCountryID = 1;
while(GetCountryInfo(dwCountryID, RasCTryInfo, szCountryName))
{
    dwCountryID = RasCTryInfo.dwNextCountryID;
}

SetEntryDialParams

Specifies the user name and the password for the specified phone-book entry.

BOOL CRasEntry::SetEntryDialParams(CString strEntryName, CString strUsername, CString strPassword, BOOL bRemovePassword);

Parameters

  • strEntryName: Specifies a string containing the phone-book entry to use to establish the connection.
  • strUsername: Specifies a string containing the user's user name.
  • strPassword: Specifies a string containing the user's password.
  • bRemovePassword: Indicates if the password needs to be stored. If bRemovePassword is TRUE, the password will not be saved.

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


Written By
Web Developer
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
QuestionAbout Dial up Connection problem I am facing Pin
ss1965 23-Nov-17 20:31
ss1965 23-Nov-17 20:31 
QuestionThe source code is unavailable Pin
pham phong9-Dec-13 20:23
pham phong9-Dec-13 20:23 
QuestionProgrmatically Creating New Modem Pin
Rangaraman12-Jul-12 3:34
Rangaraman12-Jul-12 3:34 
Hi,

I'm using windows default driver Usbser.sys for my Embedded device to connect it with my PC. I'm in a need to create LAN connection between my PC and my Embedded device, Programatically. I used Ras dial functions to make the dial-up connection.

But the problem here is before making the dial-up connection I need to create a Modem.

I followed the below steps to create a Modem, Manually. But I want to handle this part in the Code. How to do the below steps programatically.

Control Panel -> Phone and Modem options -> Navigate To Modem Menu -> Click Add button -> Select “Don’t detect my modem;I will select it from a list” -> Select “Communications cable between two computers” and click Next button -> Selected my COM port in which device is connected -> Finish.(Seems the modem driver is getting installed here)

And below is my SetupApi.log when installing the new modem, Manually:

[2012/07/11 21:07:12 4324.27 Driver Install]
#-198 Command line processed: "C:\WINDOWS\system32\rundll32.exe" C:\WINDOWS\system32\shell32.dll,Control_RunDLL "C:\WINDOWS\system32\telephon.cpl",Phone and Modem Options
#I060 Set selected driver.
[2012/07/11 21:07:12 4324.28]
#-198 Command line processed: "C:\WINDOWS\system32\rundll32.exe" C:\WINDOWS\system32\shell32.dll,Control_RunDLL "C:\WINDOWS\system32\telephon.cpl",Phone and Modem Options
#-166 Device install function: DIF_INSTALLDEVICE.
#I123 Doing full install of "ROOT\MODEM\0009".
#-011 Installing section [M2700] from "c:\windows\inf\mdmhayes.inf".
#I121 Device install of "ROOT\MODEM\0009" finished successfully.


How to achieve this part ( creating New Modem ) Programatically? Is there any Windows APIs available or is there a way to do this with writing some inf files? Please Suggest me some idea to proceed.

My Email-Id: sethuuraman@gmail.com

Thanks in advance...
GeneralTCP/IP service to modem by remote modem Pin
captainc/c++26-Jun-08 21:42
captainc/c++26-Jun-08 21:42 
QuestionHow to configure the entry created by RAS? Pin
hizfp20-Nov-07 19:57
hizfp20-Nov-07 19:57 
NewsNice article but i am missing a little thing (standardgateway) Pin
SiHot27-Jul-07 3:00
SiHot27-Jul-07 3:00 
Questionthx fro the article,but how to setup a modem by 115200? Pin
7788yy7-May-07 0:07
7788yy7-May-07 0:07 
Generalcreate a new phonebook entry Pin
userppp9-Sep-05 23:49
userppp9-Sep-05 23:49 
General"RasSetEntryProperties" give error 632 Pin
mohsen nourian11-Dec-04 21:31
mohsen nourian11-Dec-04 21:31 
GeneralRe: "RasSetEntryProperties" give error 632 Pin
mohsen nourian14-Dec-04 0:34
mohsen nourian14-Dec-04 0:34 
GeneralRe: "RasSetEntryProperties" give error 632 Pin
Member 8923273-Feb-05 2:58
Member 8923273-Feb-05 2:58 
GeneralRe: "RasSetEntryProperties" give error 632 Pin
drchandrao2pl5-Jul-05 23:13
drchandrao2pl5-Jul-05 23:13 
GeneralRe: "RasSetEntryProperties" give error 632 Pin
Pascal PEYRE22-Dec-10 5:50
Pascal PEYRE22-Dec-10 5:50 
Generalrequest Pin
mascovani15-Oct-04 22:49
mascovani15-Oct-04 22:49 
GeneralRasEntry & Win98 Pin
shoshana11-Jul-04 2:29
shoshana11-Jul-04 2:29 
GeneralRe: RasEntry & Win98 Pin
mohsen nourian11-Dec-04 21:19
mohsen nourian11-Dec-04 21:19 
GeneralA Problem with RAS Entry Pin
shoshana6-May-04 7:09
shoshana6-May-04 7:09 
GeneralRe: A Problem with RAS Entry Pin
Seiya Fujii6-May-04 7:12
Seiya Fujii6-May-04 7:12 
GeneralRe: A Problem with RAS Entry Pin
shoshana6-May-04 7:16
shoshana6-May-04 7:16 
GeneralRe: A Problem with RAS Entry Pin
michael_PPCO7-Jul-04 8:04
michael_PPCO7-Jul-04 8:04 
GeneralRe: A Problem with RAS Entry Pin
shoshana7-Jul-04 11:09
shoshana7-Jul-04 11:09 
GeneralGood article Pin
Nish Nishant18-Sep-03 1:24
sitebuilderNish Nishant18-Sep-03 1:24 
GeneralDisabling Multilink on Win2K. Pin
Tili18-Nov-02 0:58
Tili18-Nov-02 0:58 

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

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