Форум: "WinAPI";
Текущий архив: 2008.05.18;
Скачать: [xml.tar.bz2];
ВнизRAS WIN API Флаги при создании VPn Найти похожие ветки
← →
celerons (2007-09-04 12:57) [0]Ребята. Помогите пожалуйста. Вопрос по RAS APi. Создаю соединение VPN. и суть в том, что флаги всех опций работают, а функция "[U]Использовать шифрование иначе отключаться не работает[/U]". [B]ПРи создании етот флаг нужно убрать. По delault он создаеться. [/B]
[U]Полный листинг здесь. [/U]
[Code]unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls,RAS;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
cboDevice: TComboBox;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure CreateNewEntry(var Entry:TRasEntry);
public
{ Public declarations }
end;
var
Form1: TForm1;
devicename: string;
implementation
{$R *.dfm}
procedure TForm1.CreateNewEntry(var Entry: TRasEntry);
begin
with Entry do
begin
devicename := cboDevice.Items.Names[cboDevice.ItemIndex];
StrPCopy(szDeviceName, devicename);
StrPCopy(szDeviceType, cboDevice.Items.Values[devicename]);
Entry.dwFramingProtocol:=RASFP_RAS; //тип сервера:
//Используемые протоколы
dwfNetProtocols:=dwfNetProtocols or RASNP_IP;//TCP/IP
dwfNetProtocols:=dwfNetProtocols or RASNP_NETBEUI; //NetBeui
dwfNetProtocols:=dwfNetProtocols or RASNP_IPX;//IPX
//Настройка соединения
dwfOptions:=dwfOptions or RASEO_MODEMLIGHTS;//При подключении вывести значок в трэй
dwfOptions:=dwfOptions or RASEO_TERMINALBEFOREDIAL;//Показать окно терминала до набора номера
dwfOptions:=dwfOptions or RASEO_TERMINALAFTERDIAL;//Показать окно терминала после набора номера
dwfOptions:=dwfOptions or RASEO_IPHEADERCOMPRESSION;//Использовать сжатие IP заголовков
dwfOptions:=dwfOptions or RASEO_REMOTEDEFAULTGATEWAY;//Использовать основной шлюз...
dwfOptions:=dwfOptions or RASEO_RequireMsEncryptedPw;//использовать автоматически логин, пароль и домен из Windows
dwfOptions:=dwfOptions or (not RASEO_RequireDataEncryption);
RASEO_UseLogonCredentials
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
buffer: Pointer;
devices: LPRasDevInfo;
devSize, ndevs: Integer;
begin
devSize := 0;
ndevs := 0;
if RasEnumDevices(nil, devSize, ndevs) <> ERROR_BUFFER_TOO_SMALL then
ShowMessage("Ошибка в процедуре RasEnumDevices");
buffer := AllocMem(devSize);
try
devices := buffer;
devices^.dwSize := SizeOf(TRasDevInfo);
if RasEnumDevices(buffer, devSize, ndevs) = 0 then
begin
while ndevs > 0 do
begin
cboDevice.Items.Add(Format("%s=%s", [devices^.szDeviceName, devices^.szDeviceType]));
Inc(devices);
Dec(ndevs);
end;
end
else
ShowMessage("Ошибка в процедуре RasEnumDevices");
finally
FreeMem(buffer);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
NewEntry:TRasEntry;
begin
//заполняем 0 структуру NewEntry
FillChar(NewEntry,sizeof(newentry),0);
//Устанавливаем размер
NewEntry.dwSize:=Sizeof(TRasEntry);
//Заполняем структуру
CreateNewEntry(NewEntry);
//Функция создает соединение
//Если функция вернула не 0, то
If RasSetEntryPropertiesA(nil,pchar(edit1.text),@NewEntry,sizeof(NewEntry),nil, 0)<>0 then
begin
//Показываем сообщение
ShowMessage("Немогу создать соединение :(");
//Выходим из процедуры
Exit;
end;
ShowMessage("Соединение создано успешно");
end;
end.[/Code]
← →
Anatoly Podgoretsky © (2007-09-04 13:12) [1]А что за [U] у тебя по всему тексту разбросаны, хакер?
← →
tesseract © (2007-09-06 14:54) [2]
> А что за [U] у тебя по всему тексту разбросаны, хакер?
Стянул с другого форума гле тэги HTML таким образом запрещены.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2008.05.18;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.045 c