Microsoft DirectX 8.0 (Visual Basic) |
メッセージ ハンドラは、ロビー クライアント オブジェクトからは直接、アプリケーションからは間接的に、メッセージを受け取る DirectPlay8LobbyEvent オブジェクトである。メッセージ ハンドラは、DirectPlay から提供されないので、アプリケーションで実装する必要がある。
メッセージ ハンドラは、以下のメソッドをすべて実装する必要がある。
これらのメソッドの大半は、ゲームの状態が変化したとき、またはロビー クライアントが情報を要求したときに、DirectPlay が呼び出す。ただし、DirectPlay8LobbyEvent.Receive は例外である。このメソッドは、ゲーム アプリケーションからロビー クライアントにデータを直接渡すために呼び出される。
このメソッドは、ロビー可能なアプリケーションの起動後に、DirectPlay が呼び出す。このメッセージは、アプリケーションの接続が成功したことを示す。関連する DPL_MESSAGE_CONNECT 型には、以下を含む各種の情報が保持される。
このメッセージ メソッドは、関連付けられたロビー可能なアプリケーションから、セッションの接続を修正するために DirectPlay8LobbiedApplication.SetConnectionSettings メソッドが呼び出されるたびに、DirectPlay が呼び出す。関連付けられた DPL_MESSAGE_CONNECTION_SETTINGS 型には、更新済みの接続情報が格納される。
このメソッドは、ロビー可能なアプリケーションが DirectPlay8LobbiedApplication.Close を呼び出してセッションから抜けるときに、呼び出す。ロビー クライアント アプリケーションでは、接続をそのリストから削除し、アプリケーションに関連付けられたデータをすべて解放しなければならない。
このメソッドを使用すると、DirectPlay8LobbiedApplication.Send を呼び出してアプリケーションからロビー クライアントにデータを渡すことができる。DirectPlay は、アプリケーションからロビー クライアントに、DPL_MESSAGE_RECEIVE 型を使ってデータ ブロックを渡す。このデータの処理は、ロビー クライアントが行わなければならない。
このメソッドは、セッションの状態に以下の 6 つの変化のいずれかが発生するたび呼び出す。
状態変化の種類は、メソッドの status パラメータの値によって示される。
詳細については、「ロビー クライアント メッセージ ハンドラのサンプル」を参照すること。