Почему функция UWP AddProfileFromObjectAsync () выбрасывает исключение? - PullRequest
0 голосов
/ 01 ноября 2019

Я пытаюсь создать VPN-соединение, используя UWP, но при запуске я получаю исключение из AddProfileFromObjectAsync() сообщения об исключении .

auto  mgr = ref new VpnManagementAgent();
auto  profile = ref new VpnNativeProfile();

profile->AlwaysOn               = false;
profile->NativeProtocolType     = VpnNativeProtocolType::L2tp;
profile->ProfileName            = "TestVpn";
profile->RememberCredentials    = true;
profile->RequireVpnClientAppUI  = true;
profile->RoutingPolicyType      = VpnRoutingPolicyType::ForceAllTrafficOverVpn;
profile->TunnelAuthenticationMethod = VpnAuthenticationMethod::PresharedKey;
profile->UserAuthenticationMethod   = VpnAuthenticationMethod::Mschapv2;
profile->Servers->Append("45.87.213.134");

auto profileStatus = mgr->AddProfileFromObjectAsync(profile);

1 Ответ

0 голосов
/ 04 ноября 2019

Из этого документа упоминается, что если вы хотите использовать класс VpnManagementAgent, вам нужно добавить возможность networkVpnProvider . Возможность networkVpnProvider позволяет приложениям иметь полный доступ к функциям VPN, включая возможность управлять соединениями и предоставлять функции подключаемого модуля VPN. Вы можете добавить его, как показано ниже:

.appxmanifest:

<Package ...... 
     xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" 
     IgnorableNamespaces="uap mp rescap">

     ......

<rescap:Capability Name="networkingVpnProvider" />
...