IDirectPlay8LobbiedApplication::Initialize メソッド
IDirectPlay8LobbiedApplication::Initialize メソッド
ロビー クライアントの状態の変更に関する通知およびロビー クライアントからのメッセージを受け取るメッセージ ハンドラ関数を登録する。
構文
HRESULT Initialize(
const PVOID pvUserContext,
const PFNDPNMESSAGEHANDLER pfn,
DPNHANDLE *const pdpnhConnection,
const DWORD dwFlags
);
パラメータ
- pvUserContext
[in] メッセージ ハンドラの呼び出しで指定される、ユーザー指定のコンテキスト値。ユーザー指定のコンテキスト値は、複数のインターフェイスから共通のメッセージ ハンドラに送信されたメッセージを区別するのに役立つ。 - pfn
[in] IDirectPlay8LobbyClient インターフェイスからすべてのメッセージ、および IDirectPlay8LobbiedApplication インターフェイスからセッション変更の通知を取得する PFNDPNMESSAGEHANDLER コールバック関数へのポインタ。 - pdpnhConnection
[out] アプリケーションがロビーで起動したかどうかを検出するために使う値。アプリケーションがロビーで起動している場合、このパラメータにはロビー クライアントへの接続ハンドルが設定される。プロセスがロビーで起動していない場合、このパラメータは NULL に設定される。 - dwFlags
[in] 次のフラグを指定できる。DPLINITIALIZE_DISABLEPARAMVAL
パラメータ妥当性の検証を無効にする。
戻り値
成功した場合は S_OK を返し、失敗した場合は次のいずれかのエラー値を返す。
DPNERR_ALREADYINITIALIZED | オブジェクトは既に初期化されている。 |
DPNERR_INVALIDFLAGS | このメソッドに渡されたフラグは無効である。 |
DPNERR_INVALIDPARAM | メソッドに渡された 1 つ以上のパラメータが無効である。 |
DPNERR_NOTALLOWED | この機能は、このオブジェクトでは許可されていない。 |
注意
IDirectPlay8LobbiedApplication インターフェイスを取得するには、CoCreateInstance を使った後にこのメソッドを呼び出す。
ロビーで起動した場合、このメソッドはロビー クライアントとの接続を自動的に確立する。IDirectPlay8LobbiedApplication::Initialize を呼び出し、ロビーで起動しているのに、ロビー アプリケーション インターフェイスがロビー クライアント プロセスと通信できない場合、IDirectPlay8LobbiedApplication::Initialize は 4 秒後にタイムアウトする。この場合、IDirectPlay8LobbiedApplication::Initialize は DPNERR_TIMEDOUT を返すが、成功である。
注 各プロセスには IDirectPlay8LobbyClient および IDirectPlay8LobbiedApplication の 1 つのインスタンスのみ実行できる。