Microsoft DirectX 8.0 (Visual Basic)

クライアント/サーバー セッションの終了

クライアント/サーバー セッションを終了するには、サーバーが DirectPlay8Server.Close を呼び出す。クライアント/サーバー セッションの場合、ホストは移行しないので、このメソッドによりすべての接続が終了し、セッション自体が終了する。この結果、Microsoft® DirectPlay® がクライアントの DirectPlay8Event.TerminateSession メソッドを呼び出して通知する。

DirectPlay が、サーバー自体を含む各プレーヤーについてサーバーの DirectPlay8Event.DestroyPlayer メソッドを呼び出す。DirectPlay8Server.Close は、同期メソッドであり、DirectPlay8Event.DestroyPlayer メソッドの呼び出しがすべて処理されるまで復帰しない。DirectPlay8Server.Close から復帰すると、サーバー アプリケーションを安全にシャットダウンできるようになる。

サーバーがセッションを閉じるとき、すべての接続されているプレーヤから DPN_MSGID_DESTROY_PLAYER を受け取る。サーバーは接続を解除していることを知っているので、これは通常の振る舞いであり、構成された構造体の dwReason メンバには DPNDESTROYPLAYERREASON_NORMAL が設定される。DPNDESTROYPLAYERREASON_SESSIONTERMINATED 値は予期せぬ接続解除の場合にのみ設定される。