hresult from IMbnInterfaceManager::GetInterfaces when no MBN
本文关键字:no MBN when GetInterfaces IMbnInterfaceManager hresult from | 更新日期: 2023-09-27 18:32:22
我有以下代码在Windows 7中工作:
MbnInterfaceManager mbnInfMgr = new MbnInterfaceManager();
IMbnInterfaceManager mbnInfMgrInterface = mbnInfMgr as IMbnInterfaceManager;
if (mbnInfMgrInterface != null)
{
IMbnInterface[] mobileInterfaces = mbnInfMgrInterface.GetInterfaces() as IMbnInterface[];
}
当 MBN 设备存在时没有问题,但是当 MBN 设备不存在时,我在调用 GetInterfaces() 时出现以下异常:
{System.Runtime.InteropServices.COMException (0x80070490): 找不到元素。(HRESULT的例外:0x80070490) at MbnApi.IMbnInterfaceManager.GetInterfaces() 在福。Program.configureConnection() in foo}
问题在调用 GetInterfaces 之前,是否应该做一些事情来检查 MBN 接口? 我可以简单地捕获此异常,但我找不到任何文档说明此异常与没有接口相同。
我在statckoverflow上发现的最接近的东西是这个使用移动宽带 API Windows 7 和 Windows 8 与 C# 苦苦挣扎,不确定要安装什么这意味着Windows 7的行为可能与Windows 8.1不同。
我在尝试使用GetSignalStrength()和MbnInterfaceManager时遇到了相同的Element not found
异常,而是发现您可以使用WMI获得很多有用的信息。 请使用SELECT * FROM Win32_PerfRawData_Tcpip_NetworkInterface
在此处查看答案:
使用移动宽带 API Windows 7 和 Windows 8 与 C# 苦苦挣扎,不确定要安装什么
更新:
请注意,我发现您无法像在Windows 7中那样在Windows 8.1中获取网络信息。请参阅如何在 Windows 8.1 上安装需要 WMI 功能的应用程序以确定可用带宽?和 https://code.msdn.microsoft.com/windowsapps/network-information-sample-63aaa201