Platform SDK: DirectX

DirectPlay4.CreateGroup

DirectPlay4.CreateGroup メソッドは、現在のセッション内でグループを作成する。

object.CreateGroup(friendlyName As String, _
    formalName As String, _
    flags As CONST_DPGROUPFLAGS) As Long

パラメータ

object
DirectPlay4 オブジェクトを表すオブジェクト式。
friendlyName
作成されるグループを識別し、そのグループにアクセスするために使用するハンドル。このトークン識別子は、formalName とは異なるものでなければならない。
formalName
作成されるグループを識別し、そのグループにアクセスするために使用するハンドル。このトークン識別子は、friendlyName とは異なるものでなければならない。
flags
CONST_DPGROUPFLAGS 列挙型のフラグで、作成するグループのタイプを示す。DPGROUP_DEFAULT、DPGROUP_HIDDEN、または DPGROUP_STAGINGAREA のいずれかになる。

戻り値

グループ 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.AddGroupToGroupDirectPlay4.DestroyGroupDirectPlay4.GetDPEnumGroupPlayersDirectPlay4.GetGroupFlagsDirectPlay4.SetGroupDataDirectPlay4.SetGroupName