RasDial总是第二次失败,并显示ERROR_NO_CONNECTION?

时间:2019-04-20 02:46:46

标签: c winapi ras

首先从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,&params,&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,&params,0,NULL,&conn);
}

如果您已经配置了VPN权限,则第一次呼叫总是成功的,但是第二次呼叫及其后的呼叫总是失败,ERROR_NO_CONNECTION

有什么想法吗?

0 个答案:

没有答案