IDirectPlay4::EnumGroupsInGroup
IDirectPlay4::EnumGroupsInGroup メソッドは、別のグループに含まれるすべてのグループとグループへのショートカットを列挙する。グループを別のグループ内に配置するには、IDirectPlay4::CreateGroupInGroup メソッドを使用してグループを作成するか、またはIDirectPlay4::AddGroupToGroup メソッドによりグループを別のグループに追加する。このメソッドは、再帰的でない。
接続していないロビー セッションで EnumGroupsInGroup を使用することはできない。
HRESULT EnumGroupsInGroup(
DPID idGroup,
LPGUID lpguidInstance,
LPDPENUMPLAYERSCALLBACK2 lpEnumCallback,
LPVOID lpContext,
DWORD dwFlags
);
パラメータ
- idGroup
- 列挙するサブグループが含まれるグループの ID。
- lpguidInstance
- 列挙するセッションを識別するためのグローバル ユニーク識別子 (GUID) へのポインタ。このパラメータは、DPENUMPLAYERS_SESSION フラグが指定されていない場合は無視される。GUID は、IDirectPlay4::EnumSessions メソッドにより列挙されるセッションのいずれかでなければならない。
- lpEnumCallback
- グループ内で dwFlags で指定された条件に一致するすべてのグループに対して呼び出す EnumPlayersCallback2 関数へのポインタ。
- lpContext
- 各列挙コールバック関数に渡される、アプリケーション定義のコンテキストへのポインタ。
- dwFlags
- 列挙方法を指定したフラグ。デフォルト (dwFlags = 0) では、現在アクティブなセッションのグループがすべて列挙される。指定したいフラグに対して論理演算子の OR を実行する。指定したフラグの条件をすべて満たすグループのみが列挙される。たとえば、(DPENUMGROUPS_LOCAL | DPENUMGROUPS_STAGINGAREA) と指定すると、ローカルで、なおかつステージング領域であるグループのみが列挙される。(DPENUMGROUPS_LOCAL | DPENUMGROUPS_REMOTE) と指定すると、グループが同時にローカルかつリモートになることはあり得ないので、グループはまったく列挙されない。
次の値のいずれかまたはいくつかを指定できる。
- DPENUMGROUPS_ALL
- グループ内のすべてのグループを列挙する。
- DPENUMGROUPS_HIDDEN
- グループ内で現在使用可能な隠しグループのみを列挙する。
- DPENUMGROUPS_LOCAL
- この DirectPlay オブジェクトによりローカルに作成されたグループ内のグループを列挙する。
- DPENUMGROUPS_REMOTE
- リモートの DirectPlay オブジェクトにより作成されたグループ内のグループを列挙する。
- DPENUMGROUPS_SESSION
- lpguidInstance パラメータにより指定されたセッションで列挙を実行する。このフラグは、現在アクティブなセッションがない場合にのみ使用できる。このフラグは、ロビー セッションでは使用できない。
- DPENUMGROUPS_SHORTCUT
- IDirectPlay4::AddGroupToGroupメソッドを使用してグループに追加されたショートカットであるグループを列挙する (ショートカットとは、別のグループへのリンクである)。
- DPENUMGROUPS_STAGINGAREA
- ステージング領域であるグループ内のグループを列挙する (ステージング領域は、新しいセッションを起動するためにプレーヤーを整列するときに使用する)。
戻り値
処理が成功した場合は DP_OK を返す。失敗した場合は、次のエラー メッセージのいずれかを返す。
コールバックが無効な場合、または無効な guidInstance が指定された場合は、DPERR_INVALIDPARAMS を返す。アクティブなセッションがない場合は、DPERR_NOSESSIONS を返す。セッションを列挙できなかった場合は、DPERR_UNSUPPORTED を返す。
Windows NT/2000 : Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : dplay.h で宣言。
インポート ライブラリ : dplayx.lib を使用。
参照
IDirectPlay4::CreateGroupInGroup、IDirectPlay4::DestroyGroup、IDirectPlay4::AddGroupToGroup、IDirectPlay4::DeleteGroupFromGroup