VpnChannel Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет методы для создания и уничтожения канала VPN, а также методы для управления буферами. VPN-канал — это объект в системе, который связывает поток данных сетевого трафика между сокетом VPN-сервера подключаемого модуля VPN и сетевым стеком клиентского компьютера.
public ref class VpnChannel sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
class VpnChannel final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
public sealed class VpnChannel
Public NotInheritable Class VpnChannel
- Наследование
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v1.0)
|
Возможности приложения |
networkingVpnProvider
|
Комментарии
Журнал версий
Версия Windows | Версия пакета SDK | Добавленная стоимость |
---|---|---|
1803 | 17134 | AddAndAssociateTransport |
1803 | 17134 | CurrentRequestTransportContext |
1803 | 17134 | GetSlotTypeForTransportContext |
1803 | 17134 | ReplaceAndAssociateTransport |
1803 | 17134 | StartReconnectingTransport |
1803 | 17134 | StartWithTrafficFilter(IEnumerable<HostName,IEnumerable<> HostName,VpnInterfaceId,VpnRouteAssignment,VpnDomainNameAssignment,UInt32>;UInt32;Boolean;IEnumerableIEnumerable<Object>;VpnTrafficFilterAssignment) |
Свойства
Configuration |
Возвращает или задает объект VpnChannelConfiguration , соответствующий конфигурации VpnChannel и определяющий способ установления связи с VPN-сервером. |
CurrentRequestTransportContext |
Возвращает используемый объект контекста транспорта, например имя узла или сервера. |
Id |
Возвращает уникальный идентификатор экземпляра VPN-канала. Это можно использовать для упрощения операций демиксирования между двумя экземплярами VPN-подключения. |
PlugInContext |
Возвращает или задает объект контекста, который подключаемые модули VPN могут использовать для связывания своего внутреннего состояния с объектом VpnChannel для последующего использования во время сеанса. |
SystemHealth |
Возвращает оператор работоспособности клиентского компьютера. |
Методы
ActivateForeground(String, ValueSet) |
Активирует ПРИЛОЖЕНИЕ VPN на переднем плане. Это часто используется, чтобы позволить пользователю вводить учетные данные. АктивироватьForeground можно вызывать только из реализации IVpnPlugin.Connect. Пока приложение находится на переднем плане, обычное время ожидания Подключения приостанавливается. Вызов ActivateForeground будет отменен при длительной паузе (около 10 минут). Если не удается запустить, подключаемый модуль в идеале должен поддерживать метод проверки подлинности, который не требует пользовательского интерфейса. Предназначено для поддержки веб-схем проверки подлинности, таких как язык разметки утверждений безопасности (SAML) и проверка подлинности Azure Active Directory (AAD). |
AddAndAssociateTransport(Object, Object) |
Подготавливает, помечает и создает транспорт для использования платформой VPN в качестве транспортного канала связи подключаемого модуля VPN с VPN-сервером. Этот вызов необходимо выполнить перед любыми другими операциями, связанными с API платформы VPN. |
AppendVpnReceivePacketBuffer(VpnPacketBuffer) |
Добавляет объект получения VpnPacketBuffer в канал. |
AppendVpnSendPacketBuffer(VpnPacketBuffer) |
Добавляет объект send VpnPacketBuffer в канал. |
AssociateTransport(Object, Object) |
Подготавливает и помечает транспорт для использования платформой VPN в качестве транспортного канала, сообщающего подключаемый модуль VPN к VPN-серверу. Этот вызов необходимо выполнить перед любыми другими операциями, связанными с API платформы VPN. |
FlushVpnReceivePacketBuffers() |
Очищает все добавленные буферы пакетов приема. См. раздел AppendVpnReceivePacketBuffer. |
FlushVpnSendPacketBuffers() |
Очищает все добавленные буферы пакетов отправки. См. раздел AppendVpnSendPacketBuffer. |
GetSlotTypeForTransportContext(Object) |
Извлекает тип слота (оборудование или программное обеспечение) для указанного объекта контекста транспорта. |
GetVpnReceivePacketBuffer() |
Запрашивает объект VpnPacketBuffer из пула буферов пакетов получения для использования при декапсуляции или внедрении полученного пакета с VPN-сервера в стек локальной сети. |
GetVpnSendPacketBuffer() |
Извлекает объект VpnPacketBuffer из пула буферов пакетов отправки для использования в инкапсуляции и передаче пакета данных из стека клиентской сети на VPN-сервер. |
LogDiagnosticMessage(String) |
Записывает диагностическое сообщение в системный журнал. |
ProcessEventAsync(Object, Object) |
Обрабатывает все ожидающие события VpnChannel. |
ReplaceAndAssociateTransport(Object, Object) |
Заменяет существующий транспорт новым для использования платформой VPN в качестве транспортного канала связи подключаемого модуля VPN с VPN-сервером. |
RequestCredentials(VpnCredentialType, Boolean, Boolean, Certificate) |
Запросите у платформы VPN получение учетных данных у пользователя. Подключаемый модуль может указать тип и форму собираемых учетных данных. Результатом является объект, содержащий учетные данные main в зависимости от типа и дополнительных учетных данных для случаев изменения и истечения срока действия. |
RequestCredentialsAsync(VpnCredentialType) |
Запрашивает платформу VPN для сбора учетных данных заданного типа от пользователя. |
RequestCredentialsAsync(VpnCredentialType, UInt32) |
Запрашивает платформу VPN для получения учетных данных пользователя. Подключаемый модуль может указать тип и форму собираемых учетных данных. Результатом является объект, содержащий учетные данные main в зависимости от типа и вторичные учетные данные для случаев изменения и истечения срока действия. |
RequestCredentialsAsync(VpnCredentialType, UInt32, Certificate) |
Платформа VPN для сбора учетных данных пользователя. Если для получения учетных данных или согласия требуется взаимодействие с пользователем, платформа обеспечивает необходимое взаимодействие с пользователем. Подключаемый модуль VPN должен запрашивать учетные данные перед использованием учетных данных любого типа, даже если цель не заключается в вызове взаимодействия с пользователем. |
RequestCustomPrompt(IVectorView<IVpnCustomPrompt>) |
Не поддерживается. |
RequestCustomPromptAsync(IVectorView<IVpnCustomPromptElement>) |
Запрашивает сведения у пользователя, предоставляя запрос. Позволяет использовать элементы prompt, которые можно смешать для создания полного запроса для пользователя. Входные данные, предоставленные пользователем, возвращаются вызывающей объекту в указанных объектах. |
RequestVpnPacketBuffer(VpnDataPathType, VpnPacketBuffer) |
Запрашивает IVpnPacketBuffer из указанного пула. Существует один пул IVpnPacketBuffer для пути отправки и другой пул IVpnPacketBuffer для пути получения. |
SetAllowedSslTlsVersions(Object, Boolean) |
Не поддерживается. |
SetErrorMessage(String) |
Не поддерживается. |
Start(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnNamespaceAssignment, UInt32, UInt32, Boolean, Object, Object) |
Создает VPN-канал, используемый подключаемым модулем VPN. Он также создает сетевой интерфейс L3, чтобы приложения на клиентском компьютере могли видеть корпоративную сеть. |
StartExistingTransports(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean) |
Создает VPN-канал, используемый подключаемым модулем VPN. Он также создает сетевой интерфейс L3, чтобы приложения на клиентском компьютере могли видеть корпоративную сеть. |
StartReconnectingTransport(Object, Object) |
Повторно подключите транспорт сокета. Контекст транспорта и транспорта — это единственные параметры, которые можно изменить при повторном подключении транспорта сокета. Важно! Этот API не реализован, поэтому рекомендуется не вызывать его. |
StartWithMainTransport(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean, Object) |
Создает VPN-канал, используемый подключаемым модулем VPN. Он также создает сетевой интерфейс L3, чтобы приложения на клиентском компьютере могли видеть корпоративную сеть. |
StartWithTrafficFilter(IIterable<HostName>, IIterable<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean, IIterable<Object>, VpnTrafficFilterAssignment) |
Создает VPN-канал для произвольного количества транспортов, используемых подключаемым модулем VPN. Он также создает сетевой интерфейс L3, чтобы приложения на клиентском компьютере могли видеть корпоративную сеть. Это позволяет использовать спецификацию фильтров трафика в сценариях VPN для каждого приложения. |
StartWithTrafficFilter(IVectorView<HostName>, IVectorView<HostName>, VpnInterfaceId, VpnRouteAssignment, VpnDomainNameAssignment, UInt32, UInt32, Boolean, Object, Object, VpnTrafficFilterAssignment) |
Создает VPN-канал, используемый подключаемым модулем VPN. Он также создает сетевой интерфейс L3, чтобы приложения на клиентском компьютере могли видеть корпоративную сеть. Это позволяет использовать спецификацию фильтров трафика в сценариях VPN для каждого приложения. |
Stop() |
Удаляет ранее установленный объект канала VPN. Отменяет связь и закрывает подключение outerTunnelTransport к VPN-серверу . |
TerminateConnection(String) |
Позволяет подключаемого модуля VPN указать сообщение об ошибке и завершить попытку подключения, выполненную в методе IVpnPlugin.Connect . Не следует вызывать в случаях повторного подключения. |
События
ActivityChange |
Не поддерживается. |
ActivityStateChange |
Событие, возникает при изменении состояния активности канала. Используется подключаемыми модулями VPN для определения активности канала с трафиком или бездействия. |
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по