我无法了解如何从Windows 7移动宽带API获取服务提供商名称。 provider.providerName总是返回一个空字符串,但是英国的EE的providerID是正确的(23430)。
下面显示了用于获取此信息的片段。 Mbn接口的所有其他方面都在起作用 包括配置文件等,但我无法找到如何获取名称!
我错过了什么吗?有人可以帮我解决我的最后一期吗?
注意:Windows VAN会显示服务提供商。
我非常感谢
萨拉
///
/// Check the reported state of this interface
switch (readyState)
{
case MBN_READY_STATE.MBN_READY_STATE_INITIALIZED:
/// interface is initialised and has active SIM
/// so lets get service providor information
///
MBN_PROVIDER provider = mobileInterface.GetHomeProvider();
mi.Provider = provider.providerName; // Always ""
mi.ProviderID = provider.providerID; // but this is correct
mi.ProviderState = provider.providerState; // as is all this
mi.Signaldbm = mbnGetSignal(mi.InterfaceID);
mi.Signalbar = mbnConvertSignal(mi.Signaldbm);
mi.Message = "Ready";
break;
系统设置
Windows 7联想笔记本电脑,F3507g内置调制解调器
答案 0 :(得分:0)
此处提供的以编程方式配置连接的答案是我的解决方案: C# Read Windows Mobile Broadband connection properties
这帮助我通过遍历接口然后调用GetConnectionProfiles()将接口作为参数传递,然后使用IMbnConnectionProfile GetProfileXMLData
加载XMLDocument来帮助我找到ProfileName(netsh mbn show profiles)ProfileName位于XMLDocument [“MbnProfile”] [“Name”]。InnerText
看起来很多工作但是如果你只需要担心一个接口和一个配置文件,你就可以使用每个数组的第一个元素。我会粘贴我的代码,但它是VB
Dim mcpm As MbnConnectionProfileManager = New MbnConnectionProfileManager()
Dim imcpm As IMbnConnectionProfileManager = DirectCast(mcpm, IMbnConnectionProfileManager)
Dim connectionProfiles() As IMbnConnectionProfile
Dim mim As MbnInterfaceManager = New MbnInterfaceManager()
Dim imim As IMbnInterfaceManager = DirectCast(mim, IMbnInterfaceManager)
Dim interfaceArray() As IMbnInterface = imim.GetInterfaces()
For Each i As IMbnInterface In interfaceArray
connectionProfiles = imcpm.GetConnectionProfiles(i)
For Each c As IMbnConnectionProfile In connectionProfiles
Dim doc As System.Xml.XmlDocument = New System.Xml.XmlDocument()
doc.LoadXml(c.GetProfileXmlData())
cmbMBNProfileName.Items.Add(doc("MBNProfile")("Name").InnerText)
Next
Next