Platform SDK: DirectX |
DirectPlay4.CreateGroup メソッドは、現在のセッション内でグループを作成する。
object.CreateGroup(friendlyName As String, _ formalName As String, _ flags As CONST_DPGROUPFLAGS) As Long
グループ ID を返す。
失敗すればエラーが発生し、Err.Number に次のいずれかの値が設定される。
DPERR_CANTADDPLAYER |
DPERR_CONNECTIONLOST |
DPERR_INVALIDFLAGS |
DPERR_INVALIDPARAMS |
グループをクライアント/サーバー セッションで作成した場合、グループ通知メッセージは送信されない。グループは、コンピュータがクライアントであるか、ホストであるかに関係なく、そのグループを作成したコンピュータからしか認識することができない。
グループをピアツーピア セッションで作成した場合、CreateGroup は、ほかのすべてのプレーヤーに送信される DPSYS_CREATEPLAYERORGROUP システム メッセージを生成する。アプリケーションでは、DirectPlay4.Send メソッドを使用し、1 つのメッセージをグループ ID に送信することによって、メッセージをグループ内のすべてのプレーヤーに送信することができる。DirectPlay は、マルチキャストを使用してメッセージを送信するか (サービス プロバイダがマルチキャストをサポートする場合)、または個々のメッセージをグループ内の個々のプレーヤーに送信する。
アプリケーションに返されたグループ ID を使用して、メッセージを送信するグループや、関連するデータを識別する。DirectPlay によって割り当てられるプレーヤーとグループの ID は、セッション内では常に一意である。
CreateGroup によって作成したグループは、セッション内の最上位のグループである。これらのグループは、DirectPlay4.GetDPEnumGroups によって列挙される。一方、DirectPlay4.CreateGroupInGroup メソッドは、親グループのサブグループに相当するグループを作成する。
アプリケーションでは、一般的な整理目的でグループを使用することもできる。ロビー セッションでは、DirectPlay4.StartSession. を使用して新しいアプリケーション セッションを作成するためにプレーヤーを収集するメカニズムとして、ステージング領域が使用される。
グループを作成したプレーヤーは、そのグループのデフォルトの所有者になる。所有者だけが、名前やリモート データなどのグループのプロパティを変更したり、グループのメンバを変更したり、グループを削除したりすることができる。所有者がセッションを離れると、セッションのホストに所有権が渡される。
グループは、明示的に破棄されるまで、セッション内に存続する。
DirectPlay4.AddGroupToGroup、DirectPlay4.DestroyGroup、DirectPlay4.GetDPEnumGroupPlayers、DirectPlay4.GetGroupFlags、DirectPlay4.SetGroupData、DirectPlay4.SetGroupName