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