创建拨号连接






4.50/5 (8投票s)
2002年8月30日
2分钟阅读

137867

5494
描述如何创建一个新的电话簿条目,并使用用户配置文件进行设置。
引言
最近我研究了拨号API,我注意到很多人在使用一些RAS函数时遇到了困难。在这里,我决定展示如何创建一个新的电话簿条目。关键函数是 RasSetEntryProperties()
来创建一个电话簿条目,以及 RasSetEntryDialParams()
将用户名和密码存储在其中。还有一些其他的RAS函数被使用,但我将它们封装在非常简单的函数中,以向您展示如何正确地使用它们。
API 参考
CreateRasEntry
使用此函数创建一个新的电话簿条目。
BOOL CRasEntry::CreateRasEntry(CString strEntryName, RASENTRY &RasEntry);
参数
strEntryName
:指定一个字符串,其中包含用于建立连接的电话簿条目。RasEntry
:RASENTRY
结构,其中包含要与strEntryName
参数指定的电话簿条目关联的新连接数据。
EnumModem
返回所有可用的 RAS 功能设备的名称和类型。
BOOL CRasEntry::EnumModem(char *szDeviceType, CStringArray &strDevArray);
参数
szDeviceType
:指定一个 RAS 设备类型。可用的类型有:RASDT_Modem, RASDT_Isdn, RASDT_X25, RASDT_Vpn
和RASDT_Pad
。对于拨号连接,您应该使用RASDT_Modem
(“modem”)。strDevArray
:如果此函数返回TRUE
,则strDevArray
将包含所有RAS设备的名称。
GetCountryInfo
从 Windows 电话国家/地区列表中检索特定于国家/地区的拨号信息。 在调用此函数之前提供国家/地区 ID。 如果函数成功,它将返回国家/地区 ID。
DWORD CRasEntry::GetCountryInfo(DWORD dwCID, RASCTRYINFO &RasCTryInfo, char *szCountryName);
参数
dwCID
:指定一个字符串,其中包含用于建立连接的电话簿条目。RasCTryInfo
:指定一个字符串,其中包含用户的用户名。szCountryName
:指定一个字符串,其中包含用户的密码。
为了检索所有国家/地区,创建一个像这样的 while 循环
RASCTRYINFO RasCTryInfo; char szCountryName[256]; DWORD dwCountryID = 1; while(GetCountryInfo(dwCountryID, RasCTryInfo, szCountryName)) { dwCountryID = RasCTryInfo.dwNextCountryID; }
SetEntryDialParams
指定指定电话簿条目的用户名和密码。
BOOL CRasEntry::SetEntryDialParams(CString strEntryName, CString strUsername, CString strPassword, BOOL bRemovePassword);
参数
strEntryName
:指定一个字符串,其中包含用于建立连接的电话簿条目。strUsername
:指定一个字符串,其中包含用户的用户名。strPassword
:指定一个字符串,其中包含用户的密码。bRemovePassword
:指示是否需要存储密码。 如果bRemovePassword
为TRUE
,则不会保存密码。