Platform SDK: DirectX

ステップ 2 : 接続設定の取得

[Visual Basic]

ここでは、C++ でのアプリケーション開発について説明する。Visual Basic については、「DirectPlay Visual Basic チュートリアル」を参照すること。

[C++]

DirectPlayLobby を作成したら、IDirectPlayLobby3::GetConnectionSettings メソッドを使用して、ロビーから返される接続設定を取得する。このメソッドがDPERR_NOTLOBBIED を返す場合、ロビーはこのアプリケーションを起動しておらず、ユーザーは接続を手作業で構成する必要がある。その他のエラーが発生した場合、アプリケーションではエラーを報告し、アプリケーションのロビーが失敗したことを知らせる必要がある。

次の例は、接続設定の取得方法を示している。

// ロビーから接続設定を取得し、g_pdplConnection に設定する。
hr = g_pDPLobby->GetConnectionSettings( 0, NULL, &dwSize );
if ( FAILED(hr) && (DPERR_BUFFERTOOSMALL != hr) )
{
    if( DPERR_NOTLOBBIED == hr )
    {
        *pbLaunchedByLobby = FALSE;
 
        // ロビーから起動したわけではないので、クリーンアップする。
        SAFE_DELETE_ARRAY( g_pDPLConnection );
        SAFE_RELEASE( g_pDPLobby );
 
        return S_OK;
    }
 
    return hr; 
}
 
// 接続にメモリを割り当てる。
SAFE_DELETE_ARRAY( g_pDPLConnection );
g_pDPLConnection = (DPLCONNECTION*)new BYTE[ dwSize ];
 
// 接続設定を取得する。
if ( FAILED( hr = g_pDPLobby->GetConnectionSettings( 
         0, g_pDPLConnection, &dwSize ) ) )
    return hr;

次項 : ステップ 3 : セッション記述の構成