У меня есть следующий код WinRT, который отлично работает для обнаружения активных профилей VPN:
VpnManagementAgent vpn;
auto profiles = vpn.GetProfilesAsync().get();
wprintf(L"Found %d profiles\n", profiles.Size());
for (auto vp : profiles)
{
wprintf(L"Found profile %s\n", vp.ProfileName().c_str());
}
Я хотел бы проверить ConnectionStatus, но он недоступен в интерфейсе IVpnProfile.Я попытался добавить следующее безрезультатно, так как ConnectionStatus доступен в конкретных классах VpnPlugInProfile и VpnNativeProfile:
VpnPlugInProfile pp = vp.as<VpnPlugInProfile>();
if (pp != nullptr)
wprintf(L"ConnectionStatus = %d\n", pp.ConnectionStatus());
Это просто приводит к ошибке Invalid Handle.
Есть ли способ получитьConnectionStatus из IVpnProfile?