0

WindowsMo​​bileデバイスで個々のGPRS接続を列挙して閉じる必要があります。

この回答で提案されているようにRASAPIを試しましたが、すべてのデバイスで機能するわけではありません。RasEnumConnectionsHTCデバイスではGPRSセッションが一覧表示されますが、Samsungでは表示されません。

サムスンにはこの機能を備えたGUIアプリがあります-ossvcs.dllを多用しますが、使用する機能は序数によってのみエクスポートされるため、それらが何であるかわかりません!

Connection Manager APIも調べましたが、既存の接続を列挙することはできません。

他にアイデアはありますか?見逃したAPIはありますか?

4

1 に答える 1

0

接続を列挙して閉じることは、意図的に難しくなっています。一般的な考え方は、アプリケーションは隣接していないため、自分に属していない接続を強制的に終了するべきではないということです。接続を使用するアプリは、その接続をアプリの下から切り離す準備ができていると想定していますが、これは有効な想定ではありません。

接続マネージャーを介して接続を列挙できたとしても、それらを閉じることはできません。接続をアプリケーションで使用されていないものとしてマークすることしかできないため、接続マネージャーが誰もそれを使用していないことを確認、接続のタイムアウトが期限切れになると、接続を閉じることがあります。

RAS は、これらの接続を取得するための回避策/ハックでしたが、廃止されたため、OEM は接続を管理するために RAS を使用する必要がなくなり、Samsung は使用していないようです。代わりに、独自の実装を選択しました。

その実装の唯一の方法は、独自の独自の API を使用することであり、それを公開しているようには見えないため、リバース エンジニアリングを行う必要があります。それでも、デバイスに固有のものになり、バージョン間で変化する可能性があるため脆弱になります.

私のアドバイスは、デバイス上のすべての接続をシャットダウンする必要性を再考することです.

于 2010-02-18T14:03:52.797 に答える