我正在开发一个应用程序,如果连接失败,重新启动手机。
在此步骤之前,我们要通过Connection Manager关闭所有打开的连接。我知道我们可以使用ConnMgrReleaseConnection来释放连接但是如果通过另一个应用程序建立了连接,是否可以获得Connection句柄?
如果连接管理器无法关闭连接,我们可以执行RASHangup,但我们想首先尝试通过ConnectionManager。
答案 0 :(得分:1)
不,没有办法通过连接amanger来做到这一点。句柄ConnMgrReleaseConnection
想要的是从ConnMgrEstablishConnection
的调用返回的句柄。大概是“其他”应用程序调用了这个并具有句柄,但即使该应用程序可以为您提供句柄,它在您自己的进程空间中也无效。
一般来说,无论如何做这样的事情都是不好的形式,因为我认为打开连接的应用程序会在它要求时始终打开它。强行关闭它(即使通过RAS),如果没有该应用程序知道可能会导致意外的行为。如果您只是要重新启动手机,对您来说可能不是一个大问题,但如果您对其他应用程序有任何控制权,我会添加处理,您可以告诉它关闭它的连接。