远程访问服务(RAS)除了使用点到点协议(PPP)的传统远程访问连接外,还支持虚拟专用网络(VPN)连接。 在 VPN 连接中,VPN 数据包封装在 IP 数据包中,并通过 Internet 等 IP 网络发送。 因此,若要建立 VPN 连接,需要访问 IP 网络。 如果客户端计算机与 IP 网络(例如与 IP LAN 的连接)具有始终打开的连接,则客户端可以使用对 RasDial 函数的单个调用建立 VPN 连接。
如果客户端计算机没有与 IP 网络的始终连接,则需要对 RasDial 进行两次调用才能建立 VPN 连接。 第一个呼叫建立与 IP 网络的拨号连接;第二个调用建立 VPN 连接。
VPN 连接的 RASENTRY 结构的 szLocalPhoneNumber 成员应包含目标 VPN 服务器的 DNS 名称或 IP 地址。
每个连接都需要单独的 电话簿 条目。 RasDial 的第一次调用指定 IP 网络的电话簿条目。 第二个呼叫指定 VPN 的电话簿条目。
RasDial 函数将指向 RASDIALPARAMS 结构的指针作为参数。 此结构指定用于电话簿条目所指定的网络的身份验证凭据。 访问 IP 网络所需的凭据通常不同于 VPN 的凭据。 对 RasDial 的第一次调用应指定 IP 网络的凭据。 第二次调用应指定 VPN 的凭据。
如果 RasDial 函数成功,它将返回连接的句柄。 在调用 RasHangUp 时使用此句柄终止连接。
在前面的方案中,对 RasDial 的两个调用 返回 IP 网络和 VPN 的单独连接句柄。 使用 VPN 连接的句柄调用 RasHangUp 会终止 VPN 连接,但使与 IP 网络的连接保持不变。