{
String sDeviceName, sDeviceType;
RASENTRY re;
RASCREDENTIALS rc;
sDeviceName = "WAN 微型端口 (PPTP)";
sDeviceType = "VPN";
DWORD dwEntrySize=0;
RasGetEntryProperties(NULL, NULL, NULL, &dwEntrySize, NULL, NULL);
ZeroMemory(&re,sizeof(re));
//re.dwSize =sizeof(re);
re.dwSize=dwEntrySize;
re.dwCountryCode = 86 ;
re.dwCountryID = 86 ;
re.dwDialExtraPercent = 75;
re.dwDialExtraSampleSeconds = 120 ;
re.dwDialMode = 1 ;
re.dwEncryptionType = 3 ;
re.dwfNetProtocols = 4 ;
re.dwfOptions = 1024262928-16;
re.dwfOptions2 = 367 ;
re.dwFramingProtocol = 1 ;
re.dwHangUpExtraPercent = 10 ;
re.dwHangUpExtraSampleSeconds = 120 ;
re.dwRedialCount = 3;
re.dwRedialPause = 60;
re.dwType = 5;
re.dwVpnStrategy=0;
re.dwEncryptionType = 3;
strcpy(re.szDeviceName,sDeviceName.t_str());
strcpy(re.szDeviceType,sDeviceType.t_str());
strcpy(re.szLocalPhoneNumber,sServer.t_str());
//RASCREDENTIALS rc;
ZeroMemory(&rc,sizeof(RASCREDENTIALS));
rc.dwSize = sizeof(RASCREDENTIALS);
rc.dwMask = 11;
strncpy(rc.szUserName,sUsername.t_str(),sUsername.Length());
strncpy(rc.szPassword,sPassword.t_str(),sPassword.Length());
int rsep=RasSetEntryProperties(NULL,sEntryName.t_str(),&re,dwEntrySize,0,0);
if(rsep==0)
{
int rsc=RasSetCredentials(NULL,sEntryName.t_str(),&rc,0);
if(rsc==0)
{
return 0; //成功返回0
}
else
{
Application->MessageBoxA(L"RasSetCredentials失败!",L"信息",64);
return rsc;
}
}
else
{
Application->MessageBoxA(L"RasSetEntryProperties过程失败!",L"信息",64);
return rsep;
}
}
//----------------------------
提示:RasSetCredentials函数调用 失败!请高手支持啊!谢谢!
我在win7中右键以管理员身份运行也失败!
之前老妖支持说有可能是UAC。但是若是以管理员身份都不能运行,估计应该不是这个原因吧?
4 个解决方案
#1
用RasSetCredentialsW (Unicode)或RasSetCredentialsA (ANSI)试一下.
#2
我用RasSetCredentialsW (Unicode)编译了,还是不行。报错。
#3
错误返回码:623,是第一个参数不对,MSDN上说是Cannot find the specified phone book entry.
我将远程网关IP地址变量填入,还是报错。但MSDN上却说可以为NULL。
请问这个phone book如何写?
我将远程网关IP地址变量填入,还是报错。但MSDN上却说可以为NULL。
请问这个phone book如何写?
#4
MSDN说明:http://msdn.microsoft.com/en-us/library/aa377811(VS.85).aspx
#1
用RasSetCredentialsW (Unicode)或RasSetCredentialsA (ANSI)试一下.
#2
我用RasSetCredentialsW (Unicode)编译了,还是不行。报错。
#3
错误返回码:623,是第一个参数不对,MSDN上说是Cannot find the specified phone book entry.
我将远程网关IP地址变量填入,还是报错。但MSDN上却说可以为NULL。
请问这个phone book如何写?
我将远程网关IP地址变量填入,还是报错。但MSDN上却说可以为NULL。
请问这个phone book如何写?
#4
MSDN说明:http://msdn.microsoft.com/en-us/library/aa377811(VS.85).aspx