Microsoft DirectX 8.0 (C++) |
起動された後にロビー可能アプリケーションが実行すべき作業の 1 つは、ロビー対象アプリケーション オブジェクトを作成することである。このオブジェクトの最も重要な機能は、アプリケーションがロビー起動で起動されているかどうかを判断することにある。また、ロビー対象アプリケーションは、ロビー クライアントからメッセージを受信するために、メッセージ ハンドラ コールバック関数を実装する必要もある。基本的な手順は以下のとおりである。
アプリケーションのロビー起動で起動が成功すると、ホストの移行などのイベントが発生したときに、Microsoft® DirectPlay® がロビー クライアントに対して最新状態を自動的に送信できるようになる。状態の自動更新を有効にするには、IDirectPlay8Peer、IDirectPlay8Client、または IDirectPlay8Server インターフェイスの RegisterLobby メソッドを呼び出す。また、ロビー対象アプリケーションのインターフェイスを使って、ロビー クライアントにメッセージを送信することもできる。
メッセージ ハンドラ関数には、初期化メソッドから復帰する前に、ロビー クライアントからのメッセージが届くことがあるので、注意が必要である。接続メッセージに加えて、ロビー クライアントが接続の設定を変更したか、または接続を切断したときにも、このコールバック関数にメッセージが届く。また、ゲーム固有の情報が入ったメッセージを、ロビー クライアントからメッセージ ハンドラに直接送信することもできる。
注 メッセージの発信元は単独スレッドとは限らない。メッセージングを適切に処理するため、ロビー対象アプリケーションのコールバック関数は、再入可能でなければならない。