-
- #include "stdafx.h"
- #include "iostream.h"
- #include <ras.h>
- #include <raserror.h>
- #include "rasabsLay.h"
- #define MAX_LOADSTRING 100
- #define RASET_PHONE 1 // Phone lines: modem, ISDN, X.25, etc
- #define RASET_VPN 2 // Virtual private network
- #define RASET_DIRECT 3 // Direct connect: serial, parallel
- #define RASET_INTERNET 4 // BaseCamp internet
- #define RASET_BROADHAND 5 // Broadband
- #define VS_DEFAULT 0 // default (PPTP for now)
- #define VS_PPTONLY 1 // Only PPTP is attempted.
- #define VS_PPTPFIRST 2 // PPTP is tried first.
- #define VS_L2TPONLY 3 // Only L2TP is attempted.
- #define VS_L2TPFIRST 4 // L2TP is tried first.
- extern "C" __declspec(dllexport) int PASCAL add(int a, int b)
- {
- return a+b;
- }
- bool Create_VPN_Connection = false; //Careat VPN successfully or not
- inline void InitRASIP (RASIPADDR& rasIP)
- {
- rasIP.a =0;
- rasIP.b =0;
- rasIP.c =0;
- rasIP.d =0;
- }
- extern "C" __declspec(dllexport) int PASCAL createConn(char *lpszDialupName, char *lpszIPAddress)
- { CRas ras;
- RASENTRY rasEntry;
- char strName[50];//="宽带在线";
- strcpy (strName, lpszDialupName);
- //if(ras.RasValidateEntryName(NULL, strName)!=ERROR_SUCCESS)
- //{
- // PostQuitMessage(0);
- //}
- DWORD lpcb = 0;
- DWORD lpcDevices;
- RASDEVINFO* lpRasDevInfo;
- RASDEVINFO rasdevinfo;
- RasEnumDevices(NULL, &lpcb, &lpcDevices);
- lpRasDevInfo = (LPRASDEVINFO) GlobalAlloc(GPTR, lpcb);
- lpRasDevInfo->dwSize = sizeof(RASDEVINFO);
- RasEnumDevices(lpRasDevInfo, &lpcb, &lpcDevices);
- strcpy (rasdevinfo.szDeviceName, lpRasDevInfo->szDeviceName);
- strcpy (rasdevinfo.szDeviceType, lpRasDevInfo->szDeviceType);
- rasEntry.dwSize = sizeof (RASENTRY);
- //rasEntry.dwfOptions = RASEO_RemoteDefaultGateway | RASEO_SpecificNameServers;
- //rasEntry.dwfOptions = RASEO_RequireMsEncryptedPw | RASEO_RequireDataEncryption;
- rasEntry.dwAlternateOffset = 0;
- rasEntry.dwCountryID = 86;
- rasEntry.dwCountryCode = 86;
- // rasEntry.dwDialExtraPercent = 75;
- // rasEntry.dwDialExtraSampleSeconds = 120;
- // rasEntry.dwDialMode = 1;
- rasEntry.dwfNetProtocols = 4;
- rasEntry.dwfOptions = 1024262928;
- // rasEntry.dwfOptions2 = 367;
- rasEntry.dwFramingProtocol = 1;
- // rasEntry.dwHangUpExtraPercent = 10;
- // rasEntry.dwHangUpExtraSampleSeconds = 120;
- // rasEntry.dwRedialCount = 3;
- // rasEntry.dwRedialPause = 60;
- // rasEntry.dwType = RASET_VPN;
- rasEntry.dwFrameSize = 0;
- rasEntry.dwfNetProtocols = RASNP_Ip; // TCP/IP
- rasEntry.dwFramingProtocol = RASFP_Ppp; //PPP
- rasEntry.dwChannels = 0;
- rasEntry.dwReserved1 = 0;
- rasEntry.dwReserved2 = 0;
- // Strings
- strcpy (rasEntry.szAreaCode, " ");
- strcpy (rasEntry.szScript, "");
- strcpy (rasEntry.szAutodialDll, "");
- strcpy (rasEntry.szAutodialFunc, "");
- strcpy (rasEntry.szX25PadType, "");
- strcpy (rasEntry.szX25Address, "");
- strcpy (rasEntry.szX25Facilities, "");
- strcpy (rasEntry.szX25UserData, "");
- //strcpy (rasEntry.szDeviceType, rasdevinfo.szDeviceType );
- //strcpy (rasEntry.szDeviceName, rasdevinfo.szDeviceName);
- strcpy (rasEntry.szDeviceName,"WAN 微型端口 (L2TP)");
- strcpy (rasEntry.szDeviceType, "vpn");
- strcpy (rasEntry.szLocalPhoneNumber,lpszIPAddress);// "60.190.168.108");//服务器地址或域名
- strcpy (rasEntry.szDeviceType, "vpn");
- strcpy (rasEntry.szDeviceType, "vpn");
- // rasEntry.dwVpnStrategy = VS_DEFAULT; //vpn类型
- // rasEntry.dwEncryptionType = ET_OPTIONAL; //数据加密类型
- // IP addresses
- InitRASIP (rasEntry.ipaddr);
- InitRASIP (rasEntry.ipaddrDns);
- InitRASIP (rasEntry.ipaddrDnsAlt);
- InitRASIP (rasEntry.ipaddrWins);
- InitRASIP (rasEntry.ipaddrWinsAlt);
- //Create Entry
- DWORD dwError;
- dwError = ras.RasSetEntryProperties (NULL, strName, &rasEntry, sizeof (RASENTRY), NULL, NULL);
- if (dwError == 0)
- {
- RASDIALPARAMS dialParm;
- dialParm.dwSize = sizeof (RASDIALPARAMS);
- strcpy (dialParm.szEntryName, strName);
- strcpy (dialParm.szPhoneNumber, "");
- strcpy (dialParm.szCallbackNumber,"");
- strcpy (dialParm.szUserName,"");
- strcpy (dialParm.szPassword,"");
- strcpy (dialParm.szDomain, "");
- dwError = ras.RasSetEntryDialParams(NULL, &dialParm,FALSE);
- //dwError = ras.RasSetCredentials(NULL, strName, &rasEntry, 0);
- if (dwError == 0)
- Create_VPN_Connection = true;
- }
- return dwError;
- } #include "stdafx.h"
- #include "iostream.h"
- #include <ras.h>
- #include <raserror.h>
- #include "rasabsLay.h"
- #define MAX_LOADSTRING 100
- #define RASET_PHONE 1 // Phone lines: modem, ISDN, X.25, etc
- #define RASET_VPN 2 // Virtual private network
- #define RASET_DIRECT 3 // Direct connect: serial, parallel
- #define RASET_INTERNET 4 // BaseCamp internet
- #define RASET_BROADHAND 5 // Broadband
- #define VS_DEFAULT 0 // default (PPTP for now)
- #define VS_PPTONLY 1 // Only PPTP is attempted.
- #define VS_PPTPFIRST 2 // PPTP is tried first.
- #define VS_L2TPONLY 3 // Only L2TP is attempted.
- #define VS_L2TPFIRST 4 // L2TP is tried first.
- extern "C" __declspec(dllexport) int PASCAL add(int a, int b)
- {
- return a+b;
- }
- bool Create_VPN_Connection = false; //Careat VPN successfully or not
- inline void InitRASIP (RASIPADDR& rasIP)
- {
- rasIP.a =0;
- rasIP.b =0;
- rasIP.c =0;
- rasIP.d =0;
- }
- extern "C" __declspec(dllexport) int PASCAL createConn(char *lpszDialupName, char *lpszIPAddress)
- { CRas ras;
- RASENTRY rasEntry;
- char strName[50];//="宽带在线";
- strcpy (strName, lpszDialupName);
- //if(ras.RasValidateEntryName(NULL, strName)!=ERROR_SUCCESS)
- //{
- // PostQuitMessage(0);
- //}
- DWORD lpcb = 0;
- DWORD lpcDevices;
- RASDEVINFO* lpRasDevInfo;
- RASDEVINFO rasdevinfo;
- RasEnumDevices(NULL, &lpcb, &lpcDevices);
- lpRasDevInfo = (LPRASDEVINFO) GlobalAlloc(GPTR, lpcb);
- lpRasDevInfo->dwSize = sizeof(RASDEVINFO);
- RasEnumDevices(lpRasDevInfo, &lpcb, &lpcDevices);
- strcpy (rasdevinfo.szDeviceName, lpRasDevInfo->szDeviceName);
- strcpy (rasdevinfo.szDeviceType, lpRasDevInfo->szDeviceType);
- rasEntry.dwSize = sizeof (RASENTRY);
- //rasEntry.dwfOptions = RASEO_RemoteDefaultGateway | RASEO_SpecificNameServers;
- //rasEntry.dwfOptions = RASEO_RequireMsEncryptedPw | RASEO_RequireDataEncryption;
- rasEntry.dwAlternateOffset = 0;
- rasEntry.dwCountryID = 86;
- rasEntry.dwCountryCode = 86;
- // rasEntry.dwDialExtraPercent = 75;
- // rasEntry.dwDialExtraSampleSeconds = 120;
- // rasEntry.dwDialMode = 1;
- rasEntry.dwfNetProtocols = 4;
- rasEntry.dwfOptions = 1024262928;
- // rasEntry.dwfOptions2 = 367;
- rasEntry.dwFramingProtocol = 1;
- // rasEntry.dwHangUpExtraPercent = 10;
- // rasEntry.dwHangUpExtraSampleSeconds = 120;
- // rasEntry.dwRedialCount = 3;
- // rasEntry.dwRedialPause = 60;
- // rasEntry.dwType = RASET_VPN;
- rasEntry.dwFrameSize = 0;
- rasEntry.dwfNetProtocols = RASNP_Ip; // TCP/IP
- rasEntry.dwFramingProtocol = RASFP_Ppp; //PPP
- rasEntry.dwChannels = 0;
- rasEntry.dwReserved1 = 0;
- rasEntry.dwReserved2 = 0;
- // Strings
- strcpy (rasEntry.szAreaCode, " ");
- strcpy (rasEntry.szScript, "");
- strcpy (rasEntry.szAutodialDll, "");
- strcpy (rasEntry.szAutodialFunc, "");
- strcpy (rasEntry.szX25PadType, "");
- strcpy (rasEntry.szX25Address, "");
- strcpy (rasEntry.szX25Facilities, "");
- strcpy (rasEntry.szX25UserData, "");
- //strcpy (rasEntry.szDeviceType, rasdevinfo.szDeviceType );
- //strcpy (rasEntry.szDeviceName, rasdevinfo.szDeviceName);
- strcpy (rasEntry.szDeviceName,"WAN 微型端口 (L2TP)");
- strcpy (rasEntry.szDeviceType, "vpn");
- strcpy (rasEntry.szLocalPhoneNumber,lpszIPAddress);// "60.190.168.108");//服务器地址或域名
- strcpy (rasEntry.szDeviceType, "vpn");
- strcpy (rasEntry.szDeviceType, "vpn");
- // rasEntry.dwVpnStrategy = VS_DEFAULT; //vpn类型
- // rasEntry.dwEncryptionType = ET_OPTIONAL; //数据加密类型
- // IP addresses
- InitRASIP (rasEntry.ipaddr);
- InitRASIP (rasEntry.ipaddrDns);
- InitRASIP (rasEntry.ipaddrDnsAlt);
- InitRASIP (rasEntry.ipaddrWins);
- InitRASIP (rasEntry.ipaddrWinsAlt);
- //Create Entry
- DWORD dwError;
- dwError = ras.RasSetEntryProperties (NULL, strName, &rasEntry, sizeof (RASENTRY), NULL, NULL);
- if (dwError == 0)
- {
- RASDIALPARAMS dialParm;
- dialParm.dwSize = sizeof (RASDIALPARAMS);
- strcpy (dialParm.szEntryName, strName);
- strcpy (dialParm.szPhoneNumber, "");
- strcpy (dialParm.szCallbackNumber,"");
- strcpy (dialParm.szUserName,"");
- strcpy (dialParm.szPassword,"");
- strcpy (dialParm.szDomain, "");
- dwError = ras.RasSetEntryDialParams(NULL, &dialParm,FALSE);
- //dwError = ras.RasSetCredentials(NULL, strName, &rasEntry, 0);
- if (dwError == 0)
- Create_VPN_Connection = true;
- }
- return dwError;
- }
l2tp
最新推荐文章于 2024-07-09 20:20:56 发布