Поделиться через


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-сервер, выберите тип перечисления send. Если запрошенный буфер предназначен для полученного пакета L3, готового к внедрению в стек клиентской сети, выберите тип перечисления получения.

vpnPacketBuffer
VpnPacketBuffer

Объект IVpnPacketBuffer, возвращенный из указанного буферного пула.

Требования к Windows

Возможности приложения
networkingVpnProvider

Комментарии

Если функция выполнена успешно, возвращаемое значение S_OK, в противном случае функция вернет значение hresult об ошибке, описывающее конкретный сбой. Если подключаемый модуль не подключен, ошибка будет E_ACCESSDENIED. Если нет больше памяти, метод вернет E_OUTOFMEMORY.

Любой объект IVpnPacketBuffer, запрошенный подключаемым модулем, в конечном итоге должен быть возвращен на VPN-платформу (т. е. через IVpnPlugIn.Encapsulate или IVpnPlugin.Decapsulate). В противном случае подключаемый модуль может не запрашивать новые буферы, пока не будут возвращены выдающиеся буферы.

Заметка

Любой вызов этого API за пределами подключенного VPN-подключаемого модуля завершится ошибкой, так как действия и взаимодействия между подключаемым модулем VPN и системой управляются профилем VPN. Для каждого процесса может быть только один профиль VPN, так как подключаемый модуль VPN имеет только один профиль VPN, сопоставленный с ним, и если вызывающий объект должен был создать несколько объектов профиля, они будут ссылаться на одни и те же параметры.

Применяется к

См. также раздел

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