Platform SDK: DirectX

サービス プロバイダ ダイアログの置換

DirectPlay が接続を列挙するときに取得する DirectPlay アドレスは、ユーザーが選択可能な登録済みの DirectPlay プロバイダに過ぎず、接続を確立するために必要な情報をすべて含んでいる必要はない。これらのアドレスのいずれかを使用してセッションを列挙すると、サービス プロバイダがユーザーに追加情報を問い合わせる場合がある。

たとえば、ユーザーがサービス プロバイダのリストから "Modem Connection for DirectPlay" を選択し、アプリケーションがその接続を初期化してセッションの列挙を開始すると、モデムを選択して電話番号を入力するように要求するダイアログ ボックスが表示される。ユーザーがこのダイアログ ボックスをキャンセルすると、セッションを作成することはできるが、既存のセッションに参加することはできない。ユーザーがセッションの作成を選択すると、呼び出しに応答するためのモデムを選択および構成できる別のダイアログ ボックスが表示される。

[C++]

この動作が望ましくない場合もある。アプリケーションは、必要な接続情報 (ゲームをホストしている中央サイトの IP アドレスなど) を既に保持している場合や、独自のインターフェイスを介してユーザーから情報を取得する場合もある。これらの場合、アプリケーションは IDirectPlay4::InitializeConnection に完全な接続情報を渡して、サービス プロバイダが追加情報を要求しないようにすることができる。

DirectPlay アドレスを作成するには、IDirectPlayLobby3::CreateAddress メソッドまたは IDirectPlayLobby3::CreateCompoundAddress メソッドを呼び出す。CreateAddress は、単一の要素 (IP アドレスなど) を含んでいる単純なアドレスの場合に限り使用できる。CreateCompoundAddress を使用すると、モデムと電話番号の両方を含む電話アドレスなど、より複雑なアドレスを作成できる。DirectPlay で定義されている要素のタイプについては、「DirectPlay アドレスのデータ型」を参照すること。

[Visual Basic]

この動作が望ましくない場合もある。アプリケーションは、必要な接続情報 (ゲームをホストしている中央サイトの IP アドレスなど) を既に保持している場合や、独自のインターフェイスを介してユーザーから情報を取得する場合もある。これらの場合、アプリケーションは DirectPlay4.InitializeConnection に完全な接続情報を渡して、サービス プロバイダが追加情報を要求しないようにすることができる。

DirectPlayLobby3 クラスには、さまざまな種類の DirectPlayAddress オブジェクトを作成するための以下のようなメソッドがある。