Platform SDK: DirectX

IDirectPlay4::CreateGroupInGroup

IDirectPlay4::CreateGroupInGroup メソッドは、既存のグループ内にグループを作成する。別のグループ内に作成したグループを列挙できるのは、IDirectPlay4::EnumGroupsInGroup メソッドだけである。この方法で作成したグループを破棄するには、IDirectPlay4::DestroyGroup メソッドを呼び出す。

HRESULT CreateGroupInGroup(
  DPID idParentGroup,
  LPDPID lpidGroup,
  LPDPNAME lpGroupName,
  LPVOID lpData,
  DWORD dwDataSize,
  DWORD dwFlags
);

パラメータ

idParentGroup
グループの作成先グループの ID。このグループは既存のグループでなければならない。
lpidGroup
作成したグループの DirectPlay グループ ID を受け取る変数のアドレス。
lpGroupName
作成するグループの名前を保持している DPNAME 構造体へのポインタ。NULL が設定されている場合は、グループに初期設定名がないことを示す。
lpData
最初にグループ ID に関連付けるアプリケーションにより定義されたリモート データのブロックへのポインタ。NULL が設定されている場合は、グループに初期データがないことを示す。ここで指定したデータは、IDirectPlay4::SetGroupData が呼び出された場合と同じように、セッション内のその他すべてのアプリケーションに伝播されるリモート データであると見なされる。
dwDataSize
lpData パラメータのポイント先データ ブロックのサイズ (バイト単位)。
dwFlags
作成するグループのタイプを示すフラグ。デフォルト (dwFlags = 0) は、通常のグループである。
DPGROUP_HIDDEN
隠しフラグによりグループを作成する。グループが列挙されるとき、隠しフラグが設定される。ロビー セッションでは、隠しグループは IDirectPlay4::AddGroupToGroup により作成されたショートカットからのみ使用できる。
DPGROUP_STAGINGAREA
グループをステージング領域として作成する。ステージング領域は、IDirectPlay4::StartSession メソッドを使用して DirectPlay セッションを起動するときに使用する。

戻り値

成功した場合は DP_OK を返す。失敗した場合は、次のエラー値のいずれかを返す。

DPERR_CANTADDPLAYER
DPERR_CONNECTIONLOST
DPERR_INVALIDFLAGS
DPERR_INVALIDGROUP
DPERR_INVALIDPARAMS

グループが作成できなかった場合は DPERR_CANTADDPLAYER を返す。また、親グループ ID が無効である場合は、DPERR_INVALIDGROUP を返す。

注意

グループがクライアント/サーバー セッションで作成された場合、グループ通知メッセージは送信されない。グループは、マシンがクライアントであるかホストであるかに関係なく、そのグループを作成したマシンでしか表示できない。

グループがピアツーピア セッションで作成された場合、CreateGroupInGroup により、この変更をプレーヤーに知らせるために DPMSG_CREATEPLAYERORGROUP システム メッセージが生成される。

最上位グループを破棄した場合、それに含まれるメンバ グループもすべて破棄され、破棄メッセージが送信される。

必要条件

  Windows NT/2000 : Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : dplay.h で宣言。
  インポート ライブラリ : dplayx.lib を使用。

参照

IDirectPlay4::DestroyGroupIDirectPlay4::EnumGroupsInGroupDPMSG_CREATEPLAYERORGROUP