Platform SDK: DirectX

DirectPlay4.SetGroupData

DirectPlay4.SetGroupData メソッドは、アプリケーションに固有のデータをグループ ID に関連付ける。グループに関連付けられているリモート データを変更できるのは、そのグループを作成したコンピュータだけである。

object.SetGroupData(GroupId As Long, _
    data As String, _
    flags As CONST_DPSETFLAGS)

パラメータ

object
DirectPlay4 オブジェクトを表すオブジェクト式。
GroupId
データを設定するグループ ID。
data
格納するデータ。既存のデータを消去する場合は、"" を設定する。
flags
グループ データの伝承方法を指定する、CONST_DPGETCAPSFLAGS 列挙型のフラグ。このパラメータに 0 を設定すると、保証なしのメッセージングによってリモート グループ データが設定され、伝承される。

エラー コード

失敗すればエラーが発生し、Err.Number に次のいずれかの値が設定される。

DPERR_ACCESSDENIED
DPERR_CONNECTIONLOST
DPERR_INVALIDGROUP
DPERR_INVALIDOBJECT
DPERR_INVALIDPARAMS

注意

DirectPlay は、ローカルとリモートの 2 種類のグループ データを維持できる。ローカル データは、ローカル コンピュータ上のアプリケーションだけで利用できる。リモート データは、セッション内のほかのすべてのアプリケーションに伝承される。セッション記述に DPSESSION_NODATAMESSAGES が設定されている場合を除き、変更を通知するために、すべてのプレーヤー (送信したプレーヤーを含む) に DPSYS_SETPLAYERORGROUPDATA システム メッセージが送信される。リソースへのポインタを、ローカル データに安全に保存しておくことができる。このローカル データ ブロックは、グループが破棄されるときに (DPSYS_DESTROYPLAYERORGROUP システム メッセージ内で) 利用できる。そのため、アプリケーションでは、これらのリソースを解放することができる。

このメソッドは、オーバーヘッドが生じるため、リアルタイム情報の更新 (位置の更新など) のためには使用すべきではない。そのような場合は、DirectPlay4.Send の方が格段に効率的である。めったに変更されず、時間が重要ではない共有状態情報 (チーム カラーなど) には、SetGroupData の方が適している。

参照

DirectPlay4.GetGroupData