MBN配置文件已损坏,HRESULT为0x800704B6

本文关键字:0x800704B6 HRESULT 配置文件 已损坏 MBN | 更新日期: 2023-09-27 18:22:16

我正在尝试使用MBN Api连接到3g网络。但是当我调用IMbnConnection中的connect方法时,它会抛出一个异常。

The network connection profile is corrupted. (Exception from HRESULT: 0x800704B6)

我曾试图在我使用微软的移动宽带文档(链接)在代码中生成的配置文件中查找拼写错误和其他错误,但我找不到。

我还在博客上发现,这个HRESULT可能来自错误的IMSI号码(此处),所以我手动连接了Windows,并将我的配置文件中的号码与连接属性中的号码进行了比较,发现它们是相同的,IMSI和ICC号码都是相同的。

这就是我的XML当前的生成方式。

<MBNProfile xmlns="http://www.microsoft.com/networking/WWAN/profile/v1">
    <Name>boomer3g</Name>
    <ICONFilePath>Link/To/BMPFILe</ICONFilePath>
    <Description>3G Network profile created by Boomerweb</Description>
    <IsDefault>true</IsDefault>
    <ProfileCreationType>UserProvisioned</ProfileCreationType>
    <SubscriberID>IMSI Number (i counted 15 characters)</SubscriberID>
    <SimIccID>ICC number (i counted 19 characters)</SimIccID>
    <AutoConnectOnInternet>false</AutoConnectOnInternet>
    <ConnectionMode>auto</ConnectionMode>
</MBNProfile>

这就是生成XML配置文件的代码。//XML命名空间

XNamespace xmlns = XNamespace.Get("http://www.microsoft.com/networking/WWAN/profile/v1");
XDocument xmlDocument = new XDocument(
    new XElement(xmlns + "MBNProfile",
    new XElement(xmlns + "Name", "boomer3g"),
    new XElement(xmlns + "ICONFilePath", Path.GetFullPath("Resource/KPN-icon.bmp")),
    new XElement(xmlns + "Description", "3G Network profile created by Boomerweb"),
    new XElement(xmlns + "IsDefault", true),
    new XElement(xmlns + "ProfileCreationType", "UserProvisioned"),
    new XElement(xmlns + "SubscriberID", subscriberInfo.SubscriberID),
    new XElement(xmlns + "SimIccID", subscriberInfo.SimIccID), 
    new XElement(xmlns + "AutoConnectOnInternet", false),
    new XElement(xmlns + "ConnectionMode", "auto")
   )
);
//Create xml document
string xml;
XmlWriterSettings XmlWriterSet = new XmlWriterSettings();
XmlWriterSet.OmitXmlDeclaration = true;
using (StringWriter StrWriter = new StringWriter())
using (XmlWriter XWriter = XmlWriter.Create(StrWriter, XmlWriterSet))
{
   xmlDocument.WriteTo(XWriter);
   XWriter.Flush();
   xml = StrWriter.GetStringBuilder().ToString();
}

还有什么可以提供此HRESULT?你们能举一个MBN简介的例子吗?或者我生成配置文件的代码中有什么错误?

MBN配置文件已损坏,HRESULT为0x800704B6

伙计们,我已经解决了我的问题。事实证明,我在XMl上面没有XMl声明。

我的xml现在是这样的:

<?xml version="1.0" encoding="utf-8" ?>
<MBNProfile xmlns="http://www.microsoft.com/networking/WWAN/profile/v1">
    <Name>boomer3g</Name>
    <ICONFilePath>Link/To/BMPFILe</ICONFilePath>
    <Description>3G Network profile created by Boomerweb</Description>
    <IsDefault>true</IsDefault>
    <ProfileCreationType>UserProvisioned</ProfileCreationType>
    <SubscriberID>IMSI Number (i counted 15 characters)</SubscriberID>
    <SimIccID>ICC number (i counted 19 characters)</SimIccID>
    <AutoConnectOnInternet>false</AutoConnectOnInternet>
    <ConnectionMode>auto</ConnectionMode>
</MBNProfile>

所以我的代码没有什么问题,我只是删除了一些不该有的东西。我知道我犯了一个愚蠢的错误。

相关文章: