質問する質問する
 

質問接続が切れた場合の処理

  • 2009年10月5日 5:03ホースフェイス ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     
    お世話になります。

    現在WindowsMobile6.1.4でC#を使用して開発を行っております。
    WinAPIのConnMgrEstablishConnectionSyncを使用して、ネットワーク接続をした後、
    移動などの環境の変化により、切断されてしまった場合、切断されたことをどうやって検知すればよろしいでしょうか?
    考えたのは、接続した後、何秒かの周期で、ConnMgrConectionStatusを実行し、接続されているかの確認をしようとしましたが、
    切断されたらすぐに、検知しなくてはいけないので、方法が見つからず、ご教授ねがえればとおもいます。

    何卒、よろしくお願いいたします。

すべての返信

  • 2009年10月5日 14:45あんにんご ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     
    Windows Mobile 5.0 から、
    レジストリ関連の機能が強化されました。
    タイマーを自作しなくても監視できます。

    Windows Mobile 5.0 の開発者向け新機能
    http://msdn.microsoft.com/ja-jp/library/ms839548.aspx
    状態および通知ブローカー API

    RegistryNotifyWindow または RegistryNotifyCallback あたりを使うことになるかと。

    機種依存でレジストリの変わるタイミングが遅かったりすると困るんですけどね。。
  • 2009年10月5日 23:24ホーミンMVPユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     
    最近ConnMgr API使ってないので、ちと自信がないのですが、、、
    ConnMgrEstablishConnection/ConnMgrEstablishConnectionSyncで得られる接続ハンドルは接続状態が変わったときシグナル状態になるはずです。つまりWaitForSingleObject/WaitForMultipleObjectsで接続状態の変化が検知できます。
    なお実際のコードはWM6 SDK付属のサンプルCMHelperが参考になるかと思います。
  • 2009年10月6日 11:15ホースフェイス ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     
    あんにんご様
    ご回答ありがとうございます。

    RegistryNotifyWindow か RegistryNotifyCallback ですね。
    調べてみたいと思います。
    ありがとうございました。
  • 2009年10月6日 11:17ホースフェイス ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     
    ホーミン様

    ご回答ありがとうございます。
    サンプル見て、自分なりに調べてみたいと思います。
    ありがとうございました。