Platform SDK: DirectX

IDirectPlayLobby3::ConnectEx

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
);

パラメータ

dwFlags
接続方法を示すフラグ。デフォルト (dwFlags = 0) では、接続が確立されるか、または処理が時間切れになった後、メソッドが返される。
DPCONNECT_RETURNSTATUS
メソッドはすぐに戻り、そのとき接続のステータスが返される。アプリケーションは、正常終了を示すコードまたは障害コードが返されるまで、ConnectEx を呼び出し続ける必要がある。
riid
返される特定の DirectPlay COM インターフェイスの IID。たとえば、IID_IDirectPlay4A となる。
lplpDP
riid パラメータにより指定された DirectPlay インターフェイスで初期化されたポインタへのポインタ。
pUnk
含まれている IUnknown インターフェイスへのポインタ。このパラメータは、将来 COM 集合化機能と互換性をとるために用意されている。ただし、現在はこのパラメータに NULL 以外の値を指定すると IDirectPlayLobby3::ConnectEx からエラーが返される。

戻り値

成功した場合は DP_OK を返す。失敗した場合は、次のエラー値のいずれかを返す。

DPERR_CONNECTING
DPERR_INVALIDFLAGS
DPERR_INVALIDPARAMS

接続処理が実行されている間は DPERR_CONNECTING を返す。最新のステータスを取得するには、メソッドを再度呼び出す。

注意

接続のタイムアウトの上限は 1 分である。

このメソッドか正常に終了した後は、アプリケーションで IDirectPlay4::InitializeConnectionIDirectPlay4::EnumSessionsIDirectPlay4::Open を呼び出す処理を省略できる。アプリケーションはユーザーに名前を問い合わせるのではなく、DPLCONNECTION 構造体のプレーヤー名情報を使用してプレーヤーを作成する。

アプリケーションは、このメソッドを呼び出す前に、IDirectPlayLobby3::GetConnectionSettings メソッドを使用してアプリケーションを起動するときに使用された接続設定を調べることができる。それから、IDirectPlayLobby3::SetConnectionSettings メソッドによりそれらの設定値を変更し、設定できる。ただし、適切なセッション プロパティが設定されていることを確認するために、DPSESSIONDESC2 構造体、特に dwFlagsdwMaxPlayersdwUser メンバに注意する必要がある。

必要条件

  Windows NT/2000 : Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : Dplobby.h で宣言。
  インポート ライブラリ : dplayx.lib を使用。

参照

IDirectPlayLobby3::ConnectEx