Platform SDK: DirectX |
IDirectPlay4::SetGroupData メソッドは、アプリケーション固有のデータ ブロックをグループ ID に関連付ける。グループに関連付けられたリモート データを変更できるのは、それを作成したコンピュータのみである。
HRESULT SetGroupData( DPID idGroup, LPVOID lpData, DWORD dwDataSize, DWORD dwFlags );
成功した場合は DP_OK を返す。失敗した場合は、次のエラー値のいずれかを返す。
DPERR_ACCESSDENIED |
DPERR_CONNECTIONLOST |
DPERR_INVALIDGROUP |
DPERR_INVALIDOBJECT |
DPERR_INVALIDPARAMS |
DirectPlay では、ローカルとリモートの両方のグループ データを保守できる。ローカル データは、ローカル コンピュータのアプリケーションでのみ使用できる。リモート データは、セッション内のその他すべてのアプリケーションに伝播される。セッション記述で DPSESSION_NODATAMESSAGES が設定されている場合を除き、すべてのプレーヤー (送信元のプレーヤーを含む) に変更を知らせる DPMSG_SETPLAYERORGROUPDATA システム メッセージが送信される。リソースへのポインタは、ローカル データに安全に保存できる。グループが壊れてもローカル データ ブロックは使用できる (DPMSG_DESTROYPLAYERORGROUP システム メッセージにおいて) ので、アプリケーションはそのリソースを解放できる。
このメソッドを使用すると、オーバヘッドが生じるので、リアルタイムの情報 (位置の更新など) を更新する場合は使用しないこと。IDirectPlay4::Send の方が、リアルタイムの情報を更新するには有効である。また、あまり頻繁に変更されず、また時間を重視しない (チーム カラーなど) 共有状態の情報については、IDirectPlay4::SetGroupData がより適している。
Windows NT/2000 : Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : dplay.h で宣言。
インポート ライブラリ : dplayx.lib を使用。
DPMSG_SETPLAYERORGROUPDATA、IDirectPlay4::GetGroupData、IDirectPlay4::Send