Я пытаюсь подключиться с помощью RASDIAL API в Windows Vista и Windows 7. Я могу легко сделать это в системах Windows XP.
Я не могу подключиться к Windows Vista и Windows 7 только в сборке выпуска. Я могу сделать это с помощью отладочных сборок. Есть идеи, почему это происходит? Я записал код, который я использую для этого.
Я использую API Aventail VPN 10.x для установки пользовательских данных аутентификации.
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;
}
Большую часть времени я получаю внутреннюю ошибку аутентификации.
Пожалуйста, не могли бы вы указать мне на вопрос ???