在Windows Mobile上枚举活动的GPRS连接

时间:2010-02-18 12:25:58

标签: windows-mobile gprs

我需要在Windows Mobile设备上枚举和关闭各个GPRS连接。

我已根据this answer的建议尝试了RAS API,但它并不适用于所有设备。 HTC设备上的RasEnumConnections确实列出了GPRS会话,但在三星上则没有。

三星有一个具有此功能的GUI应用程序 - 它使用了很多ossvcs.dll,但它使用的功能只是按顺序导出,所以我不知道它们是什么!

我还查看了Connection Manager API,但它不允许您枚举现有连接。

还有什么想法吗?我错过了一个API吗?

1 个答案:

答案 0 :(得分:0)

有意识地难以枚举和关闭连接。一般的想法是,应用程序不应该强制终止不属于它的连接,因为它非常不相邻。它假定使用连接的应用程序准备将这些连接从它们下面撕掉,这不是一个有效的假设。

即使您可以通过连接管理器枚举连接,您仍然无法关闭它们。您只能将连接标记为应用程序不再使用的连接,因此如果连接管理器发现没有人使用它,连接的超时到期,则可能会将其关闭。

RAS是一种解决方法/黑客攻击这些连接,但它已被弃用,因此OEM不必使用RAS来管理连接,而且听起来三星没有使用它。相反,他们选择拥有自己的专有实现。

该实现的唯一方法是通过他们自己的专有API,并且看起来不像他们发布它,所以你必须对它进行逆向工程。即使这样,它也将特定于他们的设备,并且因为它可能会在不同版本中发生变化。

我的建议是重新考虑是否需要关闭设备上的所有连接。