Microsoft DirectX 8.0 (Visual Basic)

ロビー クライアント メッセージ ハンドラの実装

メッセージ ハンドラは、ロビー クライアント オブジェクトからは直接、アプリケーションからは間接的に、メッセージを受け取る DirectPlay8LobbyEvent オブジェクトである。メッセージ ハンドラは、DirectPlay から提供されないので、アプリケーションで実装する必要がある。

メッセージ ハンドラは、以下のメソッドをすべて実装する必要がある。

これらのメソッドの大半は、ゲームの状態が変化したとき、またはロビー クライアントが情報を要求したときに、DirectPlay が呼び出す。ただし、DirectPlay8LobbyEvent.Receive は例外である。このメソッドは、ゲーム アプリケーションからロビー クライアントにデータを直接渡すために呼び出される。

DirectPlay8LobbyEvent.Connect

このメソッドは、ロビー可能なアプリケーションの起動後に、DirectPlay が呼び出す。このメッセージは、アプリケーションの接続が成功したことを示す。関連する DPL_MESSAGE_CONNECT 型には、以下を含む各種の情報が保持される。

DirectPlay8LobbyEvent.ConnectionSettings

このメッセージ メソッドは、関連付けられたロビー可能なアプリケーションから、セッションの接続を修正するために DirectPlay8LobbiedApplication.SetConnectionSettings メソッドが呼び出されるたびに、DirectPlay が呼び出す。関連付けられた DPL_MESSAGE_CONNECTION_SETTINGS 型には、更新済みの接続情報が格納される。

DirectPlay8LobbyEvent.Disconnect

このメソッドは、ロビー可能なアプリケーションが DirectPlay8LobbiedApplication.Close を呼び出してセッションから抜けるときに、呼び出す。ロビー クライアント アプリケーションでは、接続をそのリストから削除し、アプリケーションに関連付けられたデータをすべて解放しなければならない。

DirectPlay8LobbyEvent.Receive

このメソッドを使用すると、DirectPlay8LobbiedApplication.Send を呼び出してアプリケーションからロビー クライアントにデータを渡すことができる。DirectPlay は、アプリケーションからロビー クライアントに、DPL_MESSAGE_RECEIVE 型を使ってデータ ブロックを渡す。このデータの処理は、ロビー クライアントが行わなければならない。

DirectPlay8LobbyEvent.SessionStatus

このメソッドは、セッションの状態に以下の 6 つの変化のいずれかが発生するたび呼び出す。

状態変化の種類は、メソッドの status パラメータの値によって示される。

詳細については、「ロビー クライアント メッセージ ハンドラのサンプル」を参照すること。