VpnChannel.ActivateForeground(String, ValueSet) 方法

定义

在前台激活 VPN 应用。 这通常用于让用户输入凭据。 只能从 IVpnPlugin.Connect 的实现中调用 ActivateForeground。 当应用处于前台时,常规 连接 超时会暂停。

如果在) 有大约 10 分钟的长时间暂停 (, 则 ActivateForeground 调用将被取消。 如果无法启动,插件在理想情况下应支持不需要用户界面 (UI) 的身份验证方法。

旨在支持基于 Web 的身份验证方案,例如安全断言标记语言 (SAML) 和 Azure Active Directory (AAD) 身份验证。

public:
 virtual ValueSet ^ ActivateForeground(Platform::String ^ packageRelativeAppId, ValueSet ^ sharedContext) = ActivateForeground;
ValueSet ActivateForeground(winrt::hstring const& packageRelativeAppId, ValueSet const& sharedContext);
public ValueSet ActivateForeground(string packageRelativeAppId, ValueSet sharedContext);
function activateForeground(packageRelativeAppId, sharedContext)
Public Function ActivateForeground (packageRelativeAppId As String, sharedContext As ValueSet) As ValueSet

参数

packageRelativeAppId
String

Platform::String

winrt::hstring

包含要启动的前景应用的 PRAID) (包相对应用程序标识符的字符串。

sharedContext
ValueSet

一个 ValueSet 对象,用于将信息传递到前台应用。 前台应用可以从激活事件参数访问这些参数。

返回

一个 ValueSet 对象,其中包含所选Windows 运行时对象,该对象从前台应用传回 VPN 插件,指示前台请求的结果。

Windows 要求

设备系列
Windows 11 (在 10.0.22000.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v14.0 中引入)
应用功能
networkingVpnProvider

注解

注意

在 VPN 插件的 IVpnPlugin.Connect 方法实现外部调用此 API 将失败。

使用前台激活机制需要在多个位置处理激活。

IVpnPlugin.Connect 方法中,你将使用正确的包相对应用程序标识符 (PRAID) 调用 ActivateForeground ,以及一个 ValueSet ,其中包含要发送到前台应用的所有值。

在前台应用中,需要捕获激活。 前台应用将使用 VpnForegroundWindows.ApplicationModel.ActivationKind 值激活。 激活参数的类型为 Windows.Networking.Vpn.VpnForegroundActivatedEventArgs,并将包含三个字段。

  1. ProfileName (String) 。
  2. SharedContext (ValueSet) 。
  3. ActivationOperation (Windows.Networking.Vpn.VpnForegroundActivationOperation

然后,前台应用可以设置应用的用户界面 (UI) 来处理所需的授权 (或) 所需的任何数据。 完成后,必须调用 ActivationOperationComplete 方法,并传入要返回到 IVpnPlugin.Connect 调用的值的 ValueSet

返回到 IVpnPlugin.Connect 调用,使用从 ActivateForeground 返回的 ValueSet 来确定身份验证是否成功,并处理任何错误。

适用于