首先从Internet选项创建一个示例VPN连接-它需要在%userprofile%\AppData\Roaming\Microsoft\Network\Connections\PBK
中有一个pbk文件。然后考虑以下示例代码:
#include <Windows.h>
#include <ras.h>
main()
{
BOOL noCare;
HRASCONN conn=NULL;
RASCONNSTATUS status={.dwSize=sizeof status};
RASDIALPARAMS params={.dwSize=sizeof params,.szEntryName="VPN Connection"};
RasGetEntryDialParamsA(NULL,¶ms,&noCare);
while(true)
if(RasGetConnectStatusA(conn,&status)!=ERROR_INVALID_HANDLE)
do
RasHangUpA(conn),Sleep(0);
while(RasGetConnectStatusA(conn,&status)!=ERROR_INVALID_HANDLE);
else RasDialA(NULL,NULL,¶ms,0,NULL,&conn);
}
如果您已经配置了VPN权限,则第一次呼叫总是成功的,但是第二次呼叫及其后的呼叫总是失败,ERROR_NO_CONNECTION
。
有什么想法吗?