Click here to Skip to main content
16,022,875 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 137.3K   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.