VpnChannel.AssociateTransport(Object, Object) 方法

定义

准备传输并将其标记为 VPN 框架用作将 VPN 插件与 VPN 服务器通信的传输链接。 必须在与 VPN 框架 API 相关的任何其他操作之前执行此调用。

public:
 virtual void AssociateTransport(Platform::Object ^ mainOuterTunnelTransport, Platform::Object ^ optionalOuterTunnelTransport) = AssociateTransport;
void AssociateTransport(IInspectable const& mainOuterTunnelTransport, IInspectable const& optionalOuterTunnelTransport);
public void AssociateTransport(object mainOuterTunnelTransport, object optionalOuterTunnelTransport);
function associateTransport(mainOuterTunnelTransport, optionalOuterTunnelTransport)
Public Sub AssociateTransport (mainOuterTunnelTransport As Object, optionalOuterTunnelTransport As Object)

参数

mainOuterTunnelTransport
Object

Platform::Object

IInspectable

用于套接字传输的 IInspectable 对象。 此对象可以是 Windows.Networking.Sockets.StreamSocketWindows.Networking.DatagramSocket。 此套接字将控制与 VPN 服务器的连接,并用于发送封装的 IP 数据包和接收封装的数据。 套接字必须在调用时未连接。

optionalOuterTunnelTransport
Object

Platform::Object

IInspectable

用于套接字传输的可选 IInspectable 对象。 此对象可以是 Windows.Networking.Sockets.StreamSocketWindows.Networking.DatagramSocket。 此套接字将控制与 VPN 服务器的连接,并用于发送封装的 IP 数据包和接收封装的数据。

Windows 要求

应用功能
networkingVpnProvider

注解

如果函数成功,则返回值 S_OK,否则函数将返回描述特定失败的错误 hresult 值。 如果插件未连接,则会 E_ACCESSDENIED错误。

注意

在连接的 VPN 插件外部调用此 API 将失败,因为 VPN 插件与系统之间的活动和交互由 VPN 配置文件控制。 如果 VPN 框架不支持 由 outerTunnelTransport 对象实现的指定传输类型,则调用将失败。 在此调用时,套接字必须尚未连接,否则调用将失败并出现参数无效错误。

在此方法中,插件可以在以下套接字组合之间进行选择:

  • 一个 TCP 套接字 (StreamSocket) ,
  • 一个 UDP 套接字 (DatagramSocket) ,
  • 两个 TCP 套接字,或
  • 两个套接字,一个 TCP 和一个 UDP。

适用于