VpnChannel.Start Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает VPN-канал, используемый подключаемым модулем VPN. Он также создает сетевой интерфейс L3, чтобы приложения на клиентском компьютере могли видеть корпоративную сеть.
public:
virtual void Start(IVectorView<HostName ^> ^ assignedClientIPv4list, IVectorView<HostName ^> ^ assignedClientIPv6list, VpnInterfaceId ^ vpnInterfaceId, VpnRouteAssignment ^ routeScope, VpnNamespaceAssignment ^ namespaceScope, unsigned int mtuSize, unsigned int maxFrameSize, bool optimizeForLowCostNetwork, Platform::Object ^ mainOuterTunnelTransport, Platform::Object ^ optionalOuterTunnelTransport) = Start;
/// [Windows.Foundation.Metadata.Overload("Start")]
void Start(IVectorView<HostName> const& assignedClientIPv4list, IVectorView<HostName> const& assignedClientIPv6list, VpnInterfaceId const& vpnInterfaceId, VpnRouteAssignment const& routeScope, VpnNamespaceAssignment const& namespaceScope, uint32_t const& mtuSize, uint32_t const& maxFrameSize, bool const& optimizeForLowCostNetwork, IInspectable const& mainOuterTunnelTransport, IInspectable const& optionalOuterTunnelTransport);
[Windows.Foundation.Metadata.Overload("Start")]
public void Start(IReadOnlyList<HostName> assignedClientIPv4list, IReadOnlyList<HostName> assignedClientIPv6list, VpnInterfaceId vpnInterfaceId, VpnRouteAssignment routeScope, VpnNamespaceAssignment namespaceScope, uint mtuSize, uint maxFrameSize, bool optimizeForLowCostNetwork, object mainOuterTunnelTransport, object optionalOuterTunnelTransport);
function start(assignedClientIPv4list, assignedClientIPv6list, vpnInterfaceId, routeScope, namespaceScope, mtuSize, maxFrameSize, optimizeForLowCostNetwork, mainOuterTunnelTransport, optionalOuterTunnelTransport)
Public Sub Start (assignedClientIPv4list As IReadOnlyList(Of HostName), assignedClientIPv6list As IReadOnlyList(Of HostName), vpnInterfaceId As VpnInterfaceId, routeScope As VpnRouteAssignment, namespaceScope As VpnNamespaceAssignment, mtuSize As UInteger, maxFrameSize As UInteger, optimizeForLowCostNetwork As Boolean, mainOuterTunnelTransport As Object, optionalOuterTunnelTransport As Object)
Параметры
- assignedClientIPv4list
Указатель на вектор IVectorView< Windows.Networking.HostName *> , указывающий IPv4-адрес, назначенный VPN-сервером VPN-клиенту. Адрес должен быть задан в интерфейсе VPN L3. Если значение равно null, используется DHCPv4.
- assignedClientIPv6list
Указатель на структуру Windows.Networking.HostName , указывающую IPv6-адрес, назначенный VPN-сервером VPN-клиенту и который должен быть задан в интерфейсе VPN L3. Если значение равно null, используется DHCPv6 или RD.
- vpnInterfaceId
- VpnInterfaceId
Указатель на VpnInterfaceId.
- routeScope
- VpnRouteAssignment
Указатель на класс Windows.Networking.VpnRouteAssignment, представляющий маршруты, которые должны быть связаны или не связаны с интерфейсом VPN.
- namespaceScope
- VpnNamespaceAssignment
Указатель на класс Windows.Networking.DomainNameAssignment, представляющий список префиксов имен, связанных с VPN-каналом, включая его DNS-серверы и прокси-серверы.
- mtuSize
-
UInt32
unsigned int
uint32_t
Значение UINT16, указывающее размер MTU сетевого интерфейса VPN L3. Это также размер IVpnPacketBuffers в пуле получения. Это значение должно быть не более 1400.
- maxFrameSize
-
UInt32
unsigned int
uint32_t
Значение UINT16, указывающее максимальный размер кадра, определенного инкапсуляцией протокола VPN, без учета outerTunnelTransport. Это также размер IVpnPacketBuffers в пуле отправки. Это значение должно быть настроено как mtuSize + [размер заголовков инкапсуляции], и должно быть <равно =1500. Если он будет больше 1500, размер заголовка mtuSize или инкапсуляции следует уменьшить, так как платформа ограничивает размер фреймов до 1500.
- optimizeForLowCostNetwork
-
Boolean
bool
Логическое значение, указывающее, должна ли платформа VPN отслеживать и использовать недорогие сети по мере их доступности. Если значение РАВНО TRUE , платформа VPN вызовет обратный вызов connect() к подключаемого модуля VPN, чтобы повторно подключить его всякий раз, когда стоимость старой сети была затрачена и станет доступной новой недорогой сети.
- mainOuterTunnelTransport
-
Object
Platform::Object
IInspectable
Объект IInspectable для транспорта сокета. Этот объект может быть Windows.Networking.Sockets.DatagramSocket или Windows.Networking.Sockets.StreamSocket. Этот сокет управляет подключением к VPN-серверу и будет использоваться для отправки инкапсулированных IP-пакетов и получения инкапсулированных данных.
- optionalOuterTunnelTransport
-
Object
Platform::Object
IInspectable
Необязательный объект IInspectable для транспорта сокета. Этот объект может быть Windows.Networking.Sockets.DatagramSocket или Windows.Networking.Sockets.StreamSocket. Этот сокет управляет подключением к VPN-серверу и будет использоваться для отправки инкапсулированных IP-пакетов и получения инкапсулированных данных.
- Атрибуты
Требования к Windows
Возможности приложения |
networkingVpnProvider
|
Комментарии
Если функция выполнена успешно, возвращаемое значение S_OK, в противном случае функция вернет значение hresult ошибки, описывающее конкретный сбой. Если подключаемый модуль не подключен, ошибка будет E_ACCESSDENIED.
Примечание
Любой вызов этого API за пределами подключенного подключаемого модуля VPN завершится ошибкой, так как действия и взаимодействия между подключаемым модулем VPN и системой управляются профилем VPN. Для каждого процесса может быть только один профиль VPN, так как подключаемый модуль VPN имеет только один профиль VPN, сопоставленный с ним, и если вызывающий объект создаст несколько объектов профиля, все они будут ссылаться на одни и те же параметры.
При успешном выполнении владение outertTunnelTransport передается платформой VPN. Многократный вызов этого метода с одинаковыми параметрами не будет иметь никакого эффекта. При многократном вызове этого метода с вариантами значений параметров канал будет обновлен до последних значений без каких-либо нарушений в работе других свойств.
Для каждого процесса может быть только один канал VPN, поэтому подключаемому модулю VPN может быть назначен только один канал VPN. MtuSize всегда должен быть меньше maxFrameSize.
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по