IDirectPlay8LobbyClient::ConnectApplication メソッド
IDirectPlay8LobbyClient::ConnectApplication メソッド
ロビー対応アプリケーションを、DPL_CONNECT_INFO 構造体に指定されているセッションに接続する。アプリケーションが実行されていない場合、このメソッドを使ってアプリケーションを起動できる。
接続が正しく確立されると、ロビー アプリケーションはメッセージ ハンドラに DPL_MSGID_CONNECT システム メッセージを送信する。
構文
HRESULT ConnectApplication(
DPL_CONNECT_INFO *const pdplConnectionInfo,
const PVOID pvUserApplicationContext,
DPNHANDLE *const phApplication,
const DWORD dwTimeOut,
const DWORD dwFlags
);
パラメータ
- pdplConnectionInfo
[in] DPL_CONNECT_INFO 構造体へのポインタ。この構造体は接続先アプリケーションのグローバル一意識別子 (GUID) を含む、接続パラメータを記述する。 - pvUserApplicationContext
[in] ロビー クライアント用に定義されたコンテキスト値へのポインタ。この値は、ロビー クライアントのメッセージ ハンドラへの呼び出しで渡される。 - phApplication
[out] このメソッドが成功した場合に設定されるアプリケーション接続ハンドルを指定する DPNHANDLE へのポインタ。このハンドルは、アプリケーションとの通信に使われる。また、このハンドルは IDirectPlay8LobbyClient::ReleaseApplication メソッドの phApplication パラメータでも使われる。 - dwTimeOut
[in] 接続の処理を待つ時間 (ミリ秒単位) を指定する DWORD 型の変数。 - dwFlags
[in] 予約済み。0 でなければならない。
戻り値
成功した場合は S_OK を返し、失敗した場合は次のいずれかのエラー値を返す。
DPNERR_CANTLAUNCHAPPLICATION | ロビーは指定されたアプリケーションを起動できない。 |
DPNERR_INVALIDFLAGS | このメソッドに渡されたフラグは無効である。 |
DPNERR_INVALIDPARAM | メソッドに渡された 1 つ以上のパラメータが無効である。 |
DPNERR_TIMEDOUT | 時間切れのため、処理が完了できなかった。 |
DPNERR_NOCONNECTION | 通信リンクが確立されなかった。 |
DPNERR_DOESNOTEXIST | 要求された要素はアドレスの一部ではない。 |
注意
このメソッドが DPNERR_NOCONNECTION を返すとき、通常は、pdplConnectionInfo パラメータに記述されているアプリケーションが IDirectPlay8LobbiedApplication::SetAppAvailable を呼び出していないことが原因である。