Platform SDK: DirectX

ステップ 3 : セッションへの参加

ここで、2 つのコード ブランチ (ロビーによる開始と、ユーザーによる開始) が 1 つに集まる。プログラムでは、ロビーから接続設定を取得したので、アプリケーション セッションをローカルな DirectPlay4 オブジェクトに接続することができる。このオブジェクトは、以下では objDPlay と表されている。

GOTCONNECTION:
  On Local Error GoTo FAILED
  Set objDPlay = objDPLobby.Connect(0)

これで、アプリケーションはセッションに関して必要な情報を何でも取得し、接続データの情報に基づいてプレーヤーを作成できるようになった。

  ' 以下は、グローバルに宣言される。
  ' Dim objDPSessionData as DirectPlaySessionData
  ' Dim gMyPlayerName As String
  ' Dim gMyPlayerID As Long
 
  Set objDPSessionData = objDPLConnection.GetSessionDesc
  ' セッション データには、セッションの名前、プレーヤーの数などが
  ' 含まれている。これらはすべて、ステージング領域で設定されている。

  gMyPlayerName = objDPLConnection.GetPlayerShortName
  gMyPlayerID = objDPlay.CreatePlayer(gMyPlayerName, "PLAYER", _
          0, DPPLAYER_DEFAULT)
  Exit Function

これで、プレーヤーがメッセージの送受信を開始するために必要な準備が整った。

処理がうまくいかなかった場合は、エラー ハンドラによって InitDPlay の戻り値を FALSE に設定する。これで、アプリケーションをすみやかに終了できるようになる。

FAILED:
  InitDPlay = False
  
End Function