Ras Api тип соединения, Не получается выставить нужный тип :(

  • Автор темы MadMas
  • Дата начала
Статус
Закрыто для дальнейших ответов.
M

MadMas

Гость
#1
Задача - создать vpn соединение. Возникла проблема с типом соединения - почему-то автоматом ставится L2TP, в то время когда нужно PPTP.

Пробовала просто через szDeviceName:='WAN Miniport (PPTP)' и через построение списка устройств и выбор нужного. Результат один и тот же.

Если же выставляю свойство dwVpnStrategy в любое из значений - соединение вообще перестает создаваться. Помогите, пожалуйста..

Код:
Код:
Fillchar(RasEntry, sizeof(TRasEntry), 0);

{find device with pptp and type=vpn}
devs := 0;
devices := nil;
NeedBytes := SizeOf(TRasDevInfo);
GetMem(devices, NeedBytes);
Fillchar(devices^, sizeof(TRasDevInfo), 0);

try
devices^.dwSize := NeedBytes;
dwError := RasEnumDevices(devices, NeedBytes, devs);

if dwError=603 then //ERROR_BUFFER_TOO_SMALL
begin
NeedBytes:=sizeof(TRasDevInfo)*devs;

FreeMem(devices, NeedBytes);
GetMem(devices, NeedBytes);
if devices <> nil then
begin
Fillchar(devices^, NeedBytes, 0);
devices^.dwSize := sizeof(TRasDevInfo);
dwError := RasEnumDevices(devices, NeedBytes, devs);
end;

if dwError=0 then
begin
while devs > 0 do
begin
if ((pos('PPTP',devices^.szDeviceName)>0) AND (devices^.szDeviceType='vpn'))
then
StrPCopy(RasEntry.szDeviceName, devices^.szDeviceName);
Inc(devices);
Dec(devs);
end;
end;
end;

finally;
end;

with RasEntry do
begin
dwSize := sizeof(TRasEntry);
dwCountryID := 7;
dwCountryCode := 7;
szAreaCode := '';
szLocalPhoneNumber:=ip_VPN;
szDeviceType:= RASDT_Vpn;
dwfNetProtocols := RASNP_Ip;
dwFramingProtocol := RASFP_Ppp;
//dwVpnStrategy := 1;
dwfOptions := RASEO_PreviewUserPw;
end;


RasSetEntryPropertiesA(nil,
PChar(name_of_connection),
@RasEntry,
sizeof(TRasEntry),
nil,
0);
end;
 
Статус
Закрыто для дальнейших ответов.