问题标签 [mobile-broadband-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2001 浏览

c# - Windows 7 移动宽带 API - 崩溃无一例外

以下代码在完成之前退出,无一例外:

这条线似乎导致了崩溃 -

为什么会发生这种情况?有什么方法可以查看移动宽带 API 中实际发生的情况?

0 投票
1 回答
1828 浏览

c# - 移动宽带 API:“需要 Pin”异常但设置了 pin

我正在尝试使用Mobile Broadband API启动和运行。我在 C# 中使用它,使用此处找到的说明。

但是我有一个问题:当调制解调器设备被锁定时(即需要 PIN),我想以编程方式设置 pin 并继续建立连接,但后者失败并显示“需要 Pin”,即使我刚刚正确设置了 PIN。

移动宽带 API 提供了IMbnPin设置 pin 的接口,但这是一个异步操作,因此您必须注册OnEnterComplete事件(IMbnPinEvents接口的一部分),它表示操作已完成。我认为这应该足够了,但显然不是。

下面的类是一个最小的、独立的示例,用于演示该问题。您可以在这样的控制台应用程序中使用它:

(您还需要一个 Interop dll 来编译它,您可以在此处找到)

测试类包含一个 ManualResetEvent 字段,用于在 Enter 和 OnEnterComplete 方法之间进行协调。

在Test方法中,订阅IMbnPinEvents,实例化IMbnPin,调用(异步)Enter方法,调用ManualResetEvent.WaitOne阻塞当前线程。在 OnEnterComplete 中,我可以验证引脚是否已正确设置,然后发出信号,ManualResetEvent以便测试方法继续执行。如果我在此之后立即继续TryToGetConnectionState()通话,则会收到异常 E_MBN_PIN_REQUIRED (0x80548210)。如果我使用 Console.ReadLine() 等待“足够长”,一切正常。所以看起来我需要等待另一个事件,但我找不到哪个事件。

有任何想法吗?我错过了什么?

0 投票
1 回答
209 浏览

ip - 插入 LTE 调制解调器时,是什么阻止了 Windows 的开放 IP 连接?

当您插入 LTE 调制解调器时,作为 LTE 网络附加过程的一部分,它会设置默认 EPS 承载来承载信令流量。此默认承载是具有适合信令流量的流量模板的 IP 连接。该规范还允许网络可以更改默认 EPS 承载的 TFT,以便它可以承载数据(TS 24.301 6.4.1.1,最后一句)。

因此,如果网络确实设置了默认的 EPS 承载来承载数据(并且没有创建专用的 EPS 承载),我的测试表明 Windows 将不允许您在 Internet 上浏览,直到您在传统方式,例如在 Win 7 中调用 Mobile Broadband API Connect 函数。

问题来了:考虑到具有合适服务质量的 IP 连接已经打开,Windows 还需要做什么才能允许 Internet 浏览?

非常感谢您的帮助。

0 投票
1 回答
361 浏览

c# - 如何使用 IConnectPoint Unadvise 从接收通知中正确取消注册?

Mobile Broadband API 的文档中,它说:

以下过程描述了如何注册通知。

1.通过在IMbnInterfaceManager >对象上调用QueryInterface来获取IConnectionPointContainer接口。
2.在返回的接口上调用FindConnectionPoint,将IID_IMbnPinEvents传递给riid。
3. 在返回的连接点上调用 Advise,并将一个指向实现 IMbnPinEvents 的 > 对象上的 IUnknown 接口的指针传递给 pUnk。

可以通过在步骤 2 中返回的连接点上调用 Unadvise 来终止通知。

我有一些执行前 3 个步骤的代码,它成功注册了 MBN 事件。但是,现在我需要暂时取消注册以接收这些事件。
因此,在以 COM 异常结束的几次第一次尝试之后,我尝试了以下代码(使用 try/catch 块):

当我运行此代码时,我没有收到 MBN 的错误或异常。但是事件处理程序没有被取消注册。我仍然可以在日志文件中看到 MBN 事件到达并被处理。

谁能告诉我我错过了什么?谢谢你。

0 投票
1 回答
405 浏览

c# - 添加 GSM 功能以连接到 Azure 移动服务

我是 Windows 商店开发的初学者,所以不知道该怎么做。

请参阅本教程:移动服务入门

我想添加到我的 GSM 调制解调器(索尼爱立信 K750i)的连接并捕获来自 GSM 的传入 SMS 以更新到 Azure 数据库。

但我需要一些资源和教程,了解如何在 C# 或 VB.net 中连接到我的 GSM。有人可以帮我吗?

我在网上搜索过,但是有太多不同的教程和安装程序/工具包,所以我有点困惑。

0 投票
5 回答
9879 浏览

c# - C# 读取 Windows Mobile 宽带连接属性

首先,这是背景:

我们有一个 Windows 窗体应用程序(用 C#、.NET Framework 3.5 编写),目前在完整的 Windows 7 平板电脑上运行,它内置了一个用于数据连接的 3G 模块。数据连接在 Windows 中配置为普通的移动宽带连接(因此 Windows 自己管理连接),连接显示在控制面板 > 网络和 Internet > 网络连接中,并且工作正常 - 应用程序能够通过互联网与我们的网络服务。在未来的某个时候,我们将迁移到不同的设备(可能是基于 Windows 8 的完整平板电脑)。

现在,我需要做的是读取此移动宽带连接的连接状态;即获取信号强度和运营商名称(例如 Vodafone UK)。我找到了一种使用 Windows 7 SDK 的移动宽带 API 部分的方法(请参阅此处此处),但这似乎是特定于操作系统的,因为它在 Windows 8 上不起作用 - 或者至少不适用于我这里有设备。

是否有使用 .NET 框架读取移动宽带连接属性的通用方法?

或者,是否有人知道包含移动宽带 API 的 Windows 8 SDK,例如我目前使用的 Windows 7?

提前致谢。

更新 - 我现在可以在一系列不同的 Win 7 / Win 8 设备上使用它。即使是联想设备也可以正常工作。我将发布主要位(读取连接状态、配置连接、检查 SIM 状态)的示例代码作为答案;代码有点太长,无法进入问题,烦人。

0 投票
0 回答
69 浏览

c# - Windows 8 Mobilebroadband 通过 CarrierControlSchema 品牌更改 NetworkFlyout 中的徽标

我试图通过 CarrierControlSchema 更改通过 DeviceMetaDataFile 设置的网络弹出窗口中的徽标。现在我有一个可用的 Provisioning XML 文件,并添加了品牌标签。

更改名称没问题,更改会立即显示。但是我的标志根本没有改变,尽管我尝试了几种方法来定义它。

现在我有:

在这个例子中,我只是尝试使用一个普通的 32x32 png 图像,所有图像都是红色的。

你能帮我,告诉我我做错了吗。

非常感谢。

0 投票
1 回答
1637 浏览

c# - 使用 C# 在移动宽带 api windows 7 和 windows 8 中苦苦挣扎,不知道要安装什么

我有一个需要控制移动宽带 API 的应用程序。

我正在努力在我的设备上正确安装 api。

我一直按照本文档中的说明进行操作:

http://www.google.be/url?sa=t&rct=j&q=&esrc=s&frm=1&source=web&cd=1&cad=rja&ved=0CC0QFjAA&url=http%3A%2F%2Fdownload.microsoft.com%2Fdownload%2F7%2FE% 2F7%2F7E7662CF-CBEA-470B-A97E-CE7CE0D98DC2%2FMB_ManagedCode.docx&ei=kyvmUs7jE4e60QWbooHYDg&usg=AFQjCNG6yaGf4sRhdbWI99fE7tmQX8cmnA&sig2=2Fg-_DRYBIselKR19wTq2Q

并尝试将这些步骤与这个 stackoverflow 解释结合起来

C# 读取 Windows Mobile 宽带连接属性

我已经能够在 V7.0/lib 中提供从 Visual Studio 到 mbnapi.tlb 的参考。我现在自动在我的 obj/debug 文件夹中有一个 interop.mbnapi.tlb。

尝试“检查 SIM 卡是否已插入并正常工作/激活”时。=> 我的代码在以下行崩溃

当我在 Windows 8 上运行它时,mbnInfMgrInterface == null

我已经尝试按照文档要求在 Windows 8 上安装相同的 SDK,但 SDK 仅适用于 Windows 7 ...

我试图通过执行在 Windows 8 中注册 mbnapi

一点运气都没有……

我需要做什么才能让它工作?

有人有这方面的经验吗?

编辑。在 Windows 7(我的开发机器)上,我收到消息“设备未准备好”,我认为这很正常,因为我没有移动宽带,在 Windows 8 上我有,但移动界面管理器为 null = > mbnInfMgrInterface == 空。

谢谢你,

0 投票
0 回答
349 浏览

networking - 我能否以编程方式强制 Windows RT 使用 3g 或 HSPA?

我正在对 HSPA 等蜂窝连接进行一些研究。我一直在寻找允许我请求无线电使用 HSPA 而不是 LTE 的 Windows 8.1 API。

我为 Windows 8 手机和 Windows 8.1 平板电脑编写了一个应用程序。我所在的地区使用 LTE,但我能够禁用手机的 LTE,所以它回落到 HSPA+。不幸的是,我找不到与这款平板电脑(诺基亚 Lumia 2520)类似的东西。

所以,我什么都没找到,我开始怀疑我会不会,但我想在宣布失败之前我会和其他人确认一下。

0 投票
0 回答
47 浏览

macos - 用于宽带连接管理的 OSX Mobile Broadband API

Mac OS X 是否提供类似于 Windows Mobile Broadband API 的 API?特别是,我正在寻找可用于管理调制解调器设备上的宽带连接的 API。

谢谢!