Microsoft DirectX 8.0 (C++)

ロビー クライアントとの通信

ロビー対象アプリケーションと関連するロビー クライアントのやり取りの大半は、間接的に行われる。アプリケーションがロビー クライアントに影響する何らかの処理を実行 (または逆にロビー クライアントがアプリケーションに影響する何らかの処理を実行) すると、Microsoft® DirectPlay® が適切なメッセージを送信する。たとえば、アプリケーションが接続の設定を変更すると、DirectPlay がロビー クライアントに通知し、新しい設定内容を提供する。ただし、ロビー クライアントに情報を直接提供するため、以下の 2 つのメソッドも用意されている。IDirectPlay8LobbiedApplication::UpdateStatus および IDirectPlay8LobbiedApplication::Send

ゲームの状態に以下の変化のいずれかが発生したときには、ロビー クライアントに通知する必要がある。

ロビー クライアントにこれらの状態変化のいずれかを通知するには、IDirectPlayLobbiedApplication::UpdateStatus を呼び出し、dwStatus パラメータを適切な値に設定する。状態の変化を知らせる DPL_MSGID_SESSION_STATUS メッセージが、ロビー クライアントに届く。

IDirectPlay8LobbiedApplication::Send メソッドを使用すると、アプリケーションからロビー クライアントにメッセージを直接送信することができる。DirectPlay はロビー クライアントにデータをそのまま渡す。そのデータの処理は、ロビー クライアントが行わなければならない。

ロビー クライアントも、アプリケーションにデータを直接送信することができる。データは、ロビー クライアントのメッセージ ハンドラに、DPL_MSGID_RECEIVE メッセージで渡される。DirectPlay はアプリケーションにデータをそのまま渡す。ロビー クライアントは、このデータを処理しなければならない。