Freigeben über


VpnChannel.RequestVpnPacketBuffer(VpnDataPathType, VpnPacketBuffer) Methode

Definition

Fordert eine IVpnPacketBuffer aus dem angegebenen Pool an. Es gibt einen IVpnPacketBuffer Pool für den Sendepfad und ein weiteres IVpnPacketBuffer Pool für den Empfangspfad.

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)

Parameter

type
VpnDataPathType

Ein Enumerationswert, der angibt, aus welchem Pufferpool ein Puffer ausgewählt werden soll. Wenn der Puffer angefordert hat, dass das Paket an den VPN-Server gesendet werden soll, wählen Sie den Enumerationstyp "Senden" aus. Wenn der angeforderte Puffer für ein empfangenes L3-gekapseltes Paket bereit ist, das in den Clientnetzwerkstapel eingefügt werden kann, wählen Sie den Enumerationstyp "Empfangen" aus.

vpnPacketBuffer
VpnPacketBuffer

Ein IVpnPacketBuffer Objekt, das aus dem angegebenen Pufferpool zurückgegeben wird.

Windows-Anforderungen

App-Funktionen
networkingVpnProvider

Hinweise

Wenn die Funktion erfolgreich ist, wird der Rückgabewert S_OK, andernfalls gibt die Funktion einen Fehler-Hresult-Wert zurück, der den spezifischen Fehler beschreibt. Wenn das Plug-In nicht verbunden ist, wird der Fehler E_ACCESSDENIED. Wenn kein arbeitsspeicher mehr verfügbar ist, gibt die Methode E_OUTOFMEMORYzurück.

Jedes IVpnPacketBuffer Objekt, das vom Plugin angefordert wird, muss schließlich an die VPN-Plattform zurückgegeben werden (d. h. über IVpnPlugIn.Encapsulate oder IVpnPlugin.Decapsulate). Andernfalls kann das Plug-In keine neuen Puffer anfordern, bis die ausstehenden Puffer zurückgegeben wurden.

Anmerkung

Jeder Aufruf dieser API außerhalb eines verbundenen VPN-Plug-Ins schlägt fehl, da Aktivitäten und Interaktionen zwischen dem VPN-Plug-In und dem System vom VPN-Profil gesteuert werden. Pro Prozess kann nur ein VPN-Profil vorhanden sein, da das VPN-Plug-In nur ein VPN-Profil zugeordnet ist, und wenn ein Aufrufer mehrere Profilobjekte erstellen würde, würden sie alle auf die gleichen Einstellungen verweisen.

Gilt für:

Weitere Informationen

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