问题标签 [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.
c# - Windows 7 移动宽带 API - 崩溃无一例外
以下代码在完成之前退出,无一例外:
这条线似乎导致了崩溃 -
为什么会发生这种情况?有什么方法可以查看移动宽带 API 中实际发生的情况?
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() 等待“足够长”,一切正常。所以看起来我需要等待另一个事件,但我找不到哪个事件。
有任何想法吗?我错过了什么?
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 浏览?
非常感谢您的帮助。
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 事件到达并被处理。
谁能告诉我我错过了什么?谢谢你。
c# - 添加 GSM 功能以连接到 Azure 移动服务
我是 Windows 商店开发的初学者,所以不知道该怎么做。
请参阅本教程:移动服务入门
我想添加到我的 GSM 调制解调器(索尼爱立信 K750i)的连接并捕获来自 GSM 的传入 SMS 以更新到 Azure 数据库。
但我需要一些资源和教程,了解如何在 C# 或 VB.net 中连接到我的 GSM。有人可以帮我吗?
我在网上搜索过,但是有太多不同的教程和安装程序/工具包,所以我有点困惑。
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 状态)的示例代码作为答案;代码有点太长,无法进入问题,烦人。
c# - Windows 8 Mobilebroadband 通过 CarrierControlSchema 品牌更改 NetworkFlyout 中的徽标
我试图通过 CarrierControlSchema 更改通过 DeviceMetaDataFile 设置的网络弹出窗口中的徽标。现在我有一个可用的 Provisioning XML 文件,并添加了品牌标签。
更改名称没问题,更改会立即显示。但是我的标志根本没有改变,尽管我尝试了几种方法来定义它。
现在我有:
在这个例子中,我只是尝试使用一个普通的 32x32 png 图像,所有图像都是红色的。
你能帮我,告诉我我做错了吗。
非常感谢。
c# - 使用 C# 在移动宽带 api windows 7 和 windows 8 中苦苦挣扎,不知道要安装什么
我有一个需要控制移动宽带 API 的应用程序。
我正在努力在我的设备上正确安装 api。
我一直按照本文档中的说明进行操作:
并尝试将这些步骤与这个 stackoverflow 解释结合起来
我已经能够在 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 == 空。
谢谢你,
networking - 我能否以编程方式强制 Windows RT 使用 3g 或 HSPA?
我正在对 HSPA 等蜂窝连接进行一些研究。我一直在寻找允许我请求无线电使用 HSPA 而不是 LTE 的 Windows 8.1 API。
我为 Windows 8 手机和 Windows 8.1 平板电脑编写了一个应用程序。我所在的地区使用 LTE,但我能够禁用手机的 LTE,所以它回落到 HSPA+。不幸的是,我找不到与这款平板电脑(诺基亚 Lumia 2520)类似的东西。
所以,我什么都没找到,我开始怀疑我会不会,但我想在宣布失败之前我会和其他人确认一下。
macos - 用于宽带连接管理的 OSX Mobile Broadband API
Mac OS X 是否提供类似于 Windows Mobile Broadband API 的 API?特别是,我正在寻找可用于管理调制解调器设备上的宽带连接的 API。
谢谢!