VpnChannel.RequestVpnPacketBuffer(VpnDataPathType, VpnPacketBuffer) 方法

定义

从指定的池请求 IVpnPacketBuffer 。 发送路径有一个 IVpnPacketBuffer 池,接收路径有另一个 IVpnPacketBuffer 池。

public:
 virtual void RequestVpnPacketBuffer(VpnDataPathType type, [Out] VpnPacketBuffer ^ & vpnPacketBuffer) = RequestVpnPacketBuffer;
void RequestVpnPacketBuffer(VpnDataPathType const& type, [Out] VpnPacketBuffer const& & vpnPacketBuffer);
public void RequestVpnPacketBuffer(VpnDataPathType type, out VpnPacketBuffer vpnPacketBuffer);
Public Sub RequestVpnPacketBuffer (type As VpnDataPathType, ByRef vpnPacketBuffer As VpnPacketBuffer)

参数

type
VpnDataPathType

一个枚举值,指示要从哪个缓冲池中选取缓冲区。 如果为要发送到 VPN 服务器的数据包请求的缓冲区,请选择“发送枚举类型”。 如果请求的缓冲区用于接收的 L3 解封数据包,准备注入客户端网络堆栈,请选择“接收枚举”类型。

vpnPacketBuffer
VpnPacketBuffer

从指定的缓冲池返回的 IVpnPacketBuffer 对象。

Windows 要求

应用功能
networkingVpnProvider

注解

如果函数成功,则返回值 S_OK,否则函数将返回描述特定失败的错误 hresult 值。 如果未连接插件,则将 E_ACCESSDENIED错误。如果没有更多可用内存,该方法将返回 E_OUTOFMEMORY

插件请求的任何 IVpnPacketBuffer 对象最终都必须 (返回到 VPN 平台,即通过 IVpnPlugIn.EncapsulateIVpnPlugin.Decapsulate) 。 否则,在返回未完成的缓冲区之前,插件可能无法请求新缓冲区。

注意

在连接的 VPN 插件外部对此 API 的任何调用都将失败,因为 VPN 插件与系统之间的活动和交互由 VPN 配置文件控制。 每个进程只能有一个 VPN 配置文件,因为 VPN 插件只有一个映射到它的 VPN 配置文件,如果调用方要创建多个配置文件对象,它们都将引用相同的设置。

适用于

另请参阅

  • <xref:Windows.Networking.Vpn.VpnChannel.GetVpnSendPacketBuffer+or+a+receive+path+buffer+via+M%3aWindows.Networking.Vpn.VpnChannel.GetVpnReceivePacketBuffer.>