IDirectPlay8Client::SetClientInfo メソッド
IDirectPlay8Client::SetClientInfo メソッド
クライアントとアプリケーションとの静的設定を設定する。アプリケーションに基本的なプレーヤ情報を転送するには、接続前にこのメソッドを呼び出す。クライアントが正しくアプリケーションに接続すると、サーバーはこのメソッドで取得された情報を IDirectPlay8Server::GetClientInfo メソッドを呼び出して取得できる。
構文
HRESULT SetClientInfo(
const DPN_PLAYER_INFO *const pdpnPlayerInfo,
PVOID const pvAsyncContext,
DPNHANDLE *const phAsyncHandle,
const DWORD dwFlags
);
パラメータ
- pdpnPlayerInfo
[in] 設定するクライアント情報を保持する DPN_PLAYER_INFO 構造体へのポインタ。 - pvAsyncContext
[in] ユーザー指定のコンテキストへのポインタ。これは、DPN_MSGID_ASYNC_OP_COMPLETE システム メッセージの pvUserContext メンバに返される。 - phAsyncHandle
[in, out] DPNHANDLE。値が返される。ただし、Microsoft® DirectPlay® ではこの操作の取り消しは許可されていないため、値を使うことはできない。 - dwFlags
[in] このメソッドが処理される方法を制御するフラグ。このメソッドには、次のフラグを設定できる。DPNSETCLIENTINFO_SYNC
メソッドを同期をとりながら処理する。
戻り値
メソッドが同期をとりながら処理され、処理が成功した場合は S_OK を返す。要求が非同期で処理される場合、メソッドが直ちに処理されると、S_OK を返す場合がある。デフォルトでは、このメソッドは非同期に実行され、通常は DPNSUCCESS_PENDING か、または次のいずれかのエラー値を返す。
DPNERR_NOCONNECTION | 通信リンクが確立されなかった。 |
DPNERR_INVALIDFLAGS | このメソッドに渡されたフラグは無効である。 |
DPNERR_INVALIDPARAM | メソッドに渡された 1 つ以上のパラメータが無効である。 |
注意
このメソッドは、セッション中いつでも呼び出すことができる。
DPN_PLAYER_INFO 構造体の dwPlayerFlags メンバは 0 に設定しなければならない。
IDirectPlay8Client::SetClientInfo メソッドを使うと処理に負担がかかるため、非静的情報は IDirectPlay8Client::Send メソッドを使って転送すること。
アプリケーションへの接続後、このメソッドを使ってクライアント情報を変更できる。接続後にこのメソッドを呼び出すと、データの更新を知らせる DPN_MSGID_CLIENT_INFO システム メッセージがすべてのプレーヤに対して生成される。