0

我需要枚举并关闭 Windows Mobile 设备上的单个 GPRS 连接。

我已经按照这个答案的建议尝试了 RAS API ,但是它不适用于所有设备。RasEnumConnections在 HTC 设备上确实列出了 GPRS 会话,但在三星设备上却没有。

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

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

还有什么想法吗?有没有我错过的 API?

4

1 回答 1

0

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

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

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

该实现的唯一方法是通过他们自己的专有 API,而且看起来他们没有发布它,因此您必须对其进行逆向工程。即使那样,它也将特定于他们的设备,并且很脆弱,因为它可能会因版本而异。

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

于 2010-02-18T14:03:52.797 回答