#include <dwc.h>
int DWC_CloseAllConnectionsHard(void);なし
| 0 | クローズ処理完了 |
| 1 | 接続ホスト数0なので、クローズ処理は行ったが、DWCConnectionClosedCallbackは呼ばれない。 |
| -1 | 接続完了後でない、もしくはエラー発生時なので何もしなかった。 |
マッチメイク処理が進行中の場合はこれをキャンセルし、オンライン状態に戻ります。既に他のホストと接続されている場合、接続中の全ホストとのコネクションをクローズします。クローズ処理は本関数内で完了し、本関数を抜ける前に、1つのコネクションをクローズするごとに、DWC_SetConnectionClosedCallback関数で設定したコールバック関数(DWCConnectionClosedCallback)が呼び出されます。
Wi-Fiコネクションにはログインしたままとなります。
マッチメイクが進行中でまだ誰ともつながっていない場合はDWC_CancelMatch関数を呼び出したときととほぼ同じ動作をしますが、マッチメイク完了コールバック(DWCMatchedSCCallback)は呼び出されません。できる限りDWC_CancelMatch関数ではなく、本関数を使用して下さい。
この関数によって接続がクローズされる場合、このクローズは相手ホストにも通知され、相手ホストではクローズコールバックDWCConnectionClosedCallbackが呼び出されます。ただし、このクローズ通知はUDP通信で一度しか送信されないため、通信路の状況などによっては相手に届かない可能性もあります。
既に接続中のホストがない場合でもこの関数を呼び出せます。この場合は、マッチメイクに使用したメモリ領域が残っていればそれを解放し、自分の通信状態をオンライン状態に戻します(「通信状態」については、DWC_GetFriendStatus関数の説明を参照してください)。
サーバホストが本関数を呼び出すとサーバ交代が発生し、残されたクライアントホストはマッチメイクを続行しようとします。クライアントホストがサーバ交代を行わずにマッチメイクを終了するには、サーバホストが切断した際にクライアントホスト側で発生するDWCConnectionClosedCallback内で本関数を呼び出してください。
マッチメイクをしているグループを解散させるにはあらかじめゲーム側でDWC_SendReliable関数などによりマッチメイク終了の旨を示し合わせた後、そのマッチメイク終了の旨を受け取ったクライアントホストから先にDWC_CloseAllConnectionsHard関数を呼び、その後サーバホストがマッチメイク終了を知らせる通信の完了を見計らって最後に本関数を呼ぶなどという手続きが必要となります。
5.1pr2より前の変更履歴はこちら