我正在尝试使用Windows Vista和Windows 7上的RASDIAL API进行连接。我可以在Windows XP系统上轻松完成此操作。
我无法仅在发布版本中连接Windows Vista和Windows 7。我可以通过调试版本完成此操作。知道为什么会这样吗?我已经写下了我正在使用的代码。
我正在使用Aventail VPN 10.x apis来设置自定义身份验证数据。
NGCUSTOMAUTHDATA NgAuthData;
NgAuthData.dwSize = sizeof(NgAuthData);
NgAuthData.dwOptions = NGCAD_OPTION_DisableGUI;
NgAuthData.dwAuthType = 2;
DWORD returnError=StringCbCopy( NgAuthData.szRealm,sizeof(NgAuthData.szRealm), wstringGroupName.c_str());
if (returnError != ERROR_SUCCESS){
return error;
}
DWORD nError = RasSetCustomAuthData(
pbkPath.c_str(),
wstringProfile.c_str(),
(BYTE *)&NgAuthData, NgAuthData.dwSize );
// Fill RASDIALPARAMS structure
RASDIALPARAMS rasdialparams;
rasdialparams.dwSize = sizeof(RASDIALPARAMS);
returnError |= StringCbCopy( rasdialparams.szEntryName,
sizeof(rasdialparams.szEntryName), wstringProfile.c_str() );
returnError |= StringCbCopy( rasdialparams.szPhoneNumber,
sizeof(rasdialparams.szPhoneNumber), wstringUrl.c_str() );
returnError |= StringCbCopy( rasdialparams.szUserName,
sizeof(rasdialparams.szUserName), wstringUser.c_str());
returnError |= StringCbCopy( rasdialparams.szPassword,
sizeof(rasdialparams.szPassword), wstringPassword.c_str() );
returnError |= StringCbCopy( rasdialparams.szDomain,
sizeof(rasdialparams.szDomain), wstringGroupName.c_str());
returnError |= StringCbCopy( rasdialparams.szDomain,
sizeof(rasdialparams.szDomain), L"\0");
if (returnError != ERROR_SUCCESS){
return error;
}
大多数情况下,我一直收到内部身份验证错误。 请你指点我的问题???
答案 0 :(得分:0)
这是因为我没有初始化rasdialparams中的所有参数。我们还需要在使用之前将ngauthdata中的掩码参数设置为各自的值。