当没有MBN设备时,来自IMbnInterfaceManager :: GetInterfaces的hresult

时间:2016-01-28 15:22:19

标签: c# com-interop mobile-broadband-api

我在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)    在MbnApi.IMbnInterfaceManager.GetInterfaces()    at foo.Program.configureConnection()in foo}

问题 在调用GetInterfaces之前,是否应该检查MBN接口?我可以简单地捕获此异常但我找不到任何文档说明此异常与没有接口相同。

我在statckoverflow上找到的最接近的是这个 struggling with mobile broadband api windows 7 and windows 8 with C#, not sure what to install 这意味着Windows 7的行为可能与Windows 8.1不同。

1 个答案:

答案 0 :(得分:0)

我尝试使用GetSignalStrength()和MbnInterfaceManager时遇到了相同的Element not found异常,而是发现您可以使用WMI获取大量有用的信息。请使用SELECT * FROM Win32_PerfRawData_Tcpip_NetworkInterface

查看答案

struggling with mobile broadband api windows 7 and windows 8 with C#, not sure what to install

<强>更新

请注意,我发现您无法像在Windows 7中那样获取Windows 8.1中的网络信息。请参阅How can I install an application that requires WMI capabilities on Windows 8.1 to determine available bandwidth?https://code.msdn.microsoft.com/windowsapps/network-information-sample-63aaa201