-Rao-
rao****@users*****
2004年 12月 11日 (土) 00:33:29 JST
あまり意図していませんでしたが,SimpleUIでは,再接続を試みる前に UserStatus を取得し,それを利用して再接続処理を行いますので,おっしゃら れるように,再接続が始まる前に UserStatus を変更することでユーザ状態を復 帰できると思います. 考えてみるとむしろそのほうが安全かもしれません.というのは,現在の仕様で は初期状態の設定はプロトコルプラグインに任されており,プロトコル側でコネ クションの作成(Connection/Create),接続(Connection/SetInfo),ユーザ 状態の変更(Connection/ChangeUserStatus)までを行います.すると Connection/OnInfoChange イベントで NMCI_STATUS が NMCS_CONNECTED になっ たことでコネクションの接続を検出し,スタンバイプラグインのほうで UserStatus を変更したとしても,タイミングによっては,そのあとにプロトコ ルプラグインによってまた初期状態に戻されてしまう可能性があります. 分かりにくい説明で申し訳ありませんが,つまり,おっしゃるとおりの手順で良 いのではないか,ということです. -Rao- namar****@mail***** wrote: > Namarです. > > 少し違う方法で試してみたところ期待した結果を得られましたが, > タイミングが微妙で謎が残るのでMLに投げてみます. > > その方法は以下の通りです: > 省電力状態への移行時に System/Connection/GetInfo で移行前の状態を取得します. > また,Protocol/%proto%/Connection/ChangeUserStatus で強制的に不可視にします. > 省電力状態から復帰時に Protocol/%proto%/Connection/ChangeUserStatus で > 移行前の状態に戻します. > > 微妙というのは: > 復帰時に自動再接続がかかる前にProtocol/%proto%/Connection/ChangeUserStatus > を呼ぶとまずい気がしますが,それでもうまくいきます. > Windowsからの復帰の通知"PBT_APMRESUMESUSPEND"メッセージが届く方が自動再接続 > よりも先でしょうから,常にうまくいっていることになります. > 試しに5分間省電力状態のままにしてみましたが,それでもうまくいきます. > > NMCI_STATUSの変化を監視するよりもシンプルなので,この方法でいきたいのですが, > 復帰直後に"PBT_APMRESUMESUSPEND"が届いてから自動再接続がかかるまでの間に > Protocol/%proto%/Connection/ChangeUserStatusを呼んでも問題ないでしょうか? > つまり,非接続状態でProtocol/%proto%/Connection/ChangeUserStatusを呼んだとき, > 自動再接続がかかった際に設定した情報が反映されますでしょうか? __________________________________ STOP HIV/AIDS. Yahoo! JAPAN Redribbon Campaign http://pr.mail.yahoo.co.jp/redribbon/