我有以下 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());
这只会给出一个无效的句柄错误。
有没有办法从 IVpnProfile 获取 ConnectionStatus?