Platform SDK: DirectX |
IDirectPlayLobby3::ConnectEx メソッドは、DirectPlayLobby オブジェクトで現在格納されている DPLCONNECTION 構造体により指定されたセッションにアプリケーションを接続する。
このメソッドは、Connect メソッドを拡張したものである。これを使用すると、アプリケーションで返される DirectPlay\ COM インターフェイスのバージョンを指定できる。
ConnectEx は、デフォルトでは、接続された後、または接続が時間切れになった後に戻る。DPCONNECT_RETURNSTATUS フラグを使用した場合、ConnectEx はすぐに戻り、そのとき接続が処理中であることを示す DPERR_CONNECTING エラー コードが返される。アプリケーションは、DP_OK または障害コードが返されるまで、このメソッドを定期的に呼び出し続ける必要がある。アプリケーションは、IDirectPlayLobby3 インターフェイスを解放することで接続を取り消すことができる。
HRESULT ConnectEx( DWORD dwFlags, REFIID riid, LPVOID *lplpDP, IUnknown FAR *pUnk );
成功した場合は DP_OK を返す。失敗した場合は、次のエラー値のいずれかを返す。
DPERR_CONNECTING |
DPERR_INVALIDFLAGS |
DPERR_INVALIDPARAMS |
接続処理が実行されている間は DPERR_CONNECTING を返す。最新のステータスを取得するには、メソッドを再度呼び出す。
接続のタイムアウトの上限は 1 分である。
このメソッドか正常に終了した後は、アプリケーションで IDirectPlay4::InitializeConnection、IDirectPlay4::EnumSessions、IDirectPlay4::Open を呼び出す処理を省略できる。アプリケーションはユーザーに名前を問い合わせるのではなく、DPLCONNECTION 構造体のプレーヤー名情報を使用してプレーヤーを作成する。
アプリケーションは、このメソッドを呼び出す前に、IDirectPlayLobby3::GetConnectionSettings メソッドを使用してアプリケーションを起動するときに使用された接続設定を調べることができる。それから、IDirectPlayLobby3::SetConnectionSettings メソッドによりそれらの設定値を変更し、設定できる。ただし、適切なセッション プロパティが設定されていることを確認するために、DPSESSIONDESC2 構造体、特に dwFlags、dwMaxPlayers、dwUser メンバに注意する必要がある。
Windows NT/2000 : Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : Dplobby.h で宣言。
インポート ライブラリ : dplayx.lib を使用。