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.>