Показать сообщение отдельно
Старый 03.04.2012, 11:34   #7
L-ee-X
Разработчик
 
Аватар для L-ee-X
 
Регистрация: 06.06.2011
Адрес: Ирк. обл.
Сообщений: 541
Написано 133 полезных сообщений
(для 220 пользователей)
Ответ: Ras API Create VPN на PB

Ни че не знаю я че у кого там совподало )) Но вроде сделал!
Вот код:
CompilerIf Defined(RASIPADDR,#PB_Structure) = 0 
  
Structure RASIPADDR
    a
.
    b
.
    c
.
    d
.
  EndStructure 
CompilerEndIf

CompilerIf Defined
(RASENTRY,#PB_Structure) = 0
  
Structure RASENTRY 
    dwSize
.
    dwfOptions
.
    dwCountryID
.
    dwCountryCode
.
    szAreaCode
.c[#RAS_MaxAreaCode + 1] 
    
szLocalPhoneNumber.c[#RAS_MaxPhoneNumber + 1] 
    
dwAlternateOffset.
    ipaddr
.RASIPADDR 
    ipaddrDns
.RASIPADDR 
    ipaddrDnsAlt
.RASIPADDR 
    ipaddrWins
.RASIPADDR 
    ipaddrWinsAlt
.RASIPADDR 
    dwFrameSize
.
    dwfNetProtocols
.
    dwFramingProtocol
.
    szScript
.c[#MAX_PATH] 
    
szAutodialDll.c[#MAX_PATH] 
    
szAutodialFunc.c[#MAX_PATH] 
    
szDeviceType.c[#RAS_MaxDeviceType + 1] 
    
szDeviceName.c[#RAS_MaxDeviceName + 1] 
    
szX25PadType.c[#RAS_MaxPadType + 1] 
    
szX25Address.c[#RAS_MaxX25Address + 1] 
    
szX25Facilities.c[#RAS_MaxFacilities + 1] 
    
szX25UserData.c[#RAS_MaxUserData + 1] 
    
dwChannels.
    dwReserved1
.
    dwReserved2
.
    dwSubEntries
.
    dwDialMode
.
    dwDialExtraPercent
.
    dwDialExtraSampleSeconds
.
    dwHangUpExtraPercent
.
    dwHangUpExtraSampleSeconds
.
    dwIdleDisconnectSeconds
.
    dwType
.
    dwEncryptionType
.
    dwCustomAuthKey
.
    guidId
.GUID 
    szCustomDialDll
.c[#MAX_PATH] 
    
dwVpnStrategy.
    dwfOptions2
.
    dwfOptions3
.
    szDnsSuffix
.c[#RAS_MaxDnsSuffix] 
    
dwTcpWindowSize.
    szPrerequisitePbk
.c[#MAX_PATH] 
    
szPrerequisiteEntry.c[#RAS_MaxEntryName + 1] 
    
dwRedialCount.
    dwRedialPause
.l
    CompilerIf 
#WIN > $0501
      
ipv6addrDns.RASIPV6ADDR
      ipv6addrDnsAlt
.RASIPV6ADDR
    CompilerEndIf
    dwIPv4InterfaceMetric
.
    dwIPv6InterfaceMetric
.
    CompilerIf 
#WIN > $0501
      
ipv6addr.RASIPV6ADDR
    CompilerEndIf
    dwIPv6PrefixLength
.
    dwNetworkOutageTime
.
  EndStructure 
CompilerEndIf

VPNpar
.RASENTRY 
cb
.0
RasGetEntryProperties_
(#Null, #Null, #Null, @cb.l, #Null, #Null)
Debug cb.l
 dwSize
.cb.l
 dwFlags
.1023411984
 dwFlags2
.17039360
 
VPNpar\dwSize dwSize.l
 VPNpar
\dwfOptions dwFlags 
 VPNpar
\dwfOptions2 dwFlags2 
 VPNpar
\dwfNetProtocols #RASNP_Ip 
 
VPNpar\dwFramingProtocol #RASFP_Ppp 
 
VPNpar\dwType 2
 VPNpar
\dwVpnStrategy 1
 VPNpar
\dwEncryptionType 
 VPNpar
\dwDialMode 
 VPNpar
\dwRedialCount 
 VPNpar
\dwRedialPause 60 
 PokeS
(@VPNpar\szDeviceType,"VPN"
 
PokeS(@VPNpar\szLocalPhoneNumber,"server.vpn"
 
PokeS(@VPNpar\szDeviceName,"vpn"
 
 
result RasSetEntryProperties_(#Null, "VPN", @VPNpar, SizeOf(RASENTRY), #Null, 0) 
 
Debug result// Возвращает 0 
Всем спасибо, все свободны

Проверил пока, что только на XP, как с работы приду, проверю на Win 7 )))Ну думаю там тоже работать будет
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ant0N (08.04.2012)