Platform SDK: DirectX |
IDirectPlay4::EnumGroupPlayers メソッドは、現在開いているセッションの特定のグループに属しているプレーヤーを列挙する。開いているセッションがない場合は、DPENUMPLAYERS_SESSION フラグとセッションの guidInstance を指定すると、リモート セッションのプレーヤーを列挙できる。パスワードで保護されたリモート セッションは列挙できない。
アプリケーションで実装するコールバック関数へのポインタは必ず指定する。DirectPlay は、グループの中で dwFlags で指定された条件に一致するプレーヤーごとにそのコールバック関数を呼び出す。
接続していないロビー セッションで EnumGroupPlayers を使用することはできない。
HRESULT EnumGroupPlayers( DPID idGroup, LPGUID lpguidInstance, LPDPENUMPLAYERSCALLBACK2 lpEnumPlayersCallback2, LPVOID lpContext, DWORD dwFlags );
次の値のいずれかまたはいくつかを指定できる。
処理が成功した場合は DP_OK を返す。失敗した場合は、次のエラー メッセージのいずれかを返す。
DPERR_ACCESSDENIED |
DPERR_CONNECTIONLOST |
DPERR_INVALIDPARAMS |
DPERR_INVALIDGROUP |
DPERR_NOSESSIONS |
DPERR_UNAVAILABLE |
セッションがユーザーにより接続されていないロビー セッションである場合は、DPERR_ACCESSDENIED を返す。コールバックが無効な場合、guidInstance が無効な場合、または無効なフラグが指定された場合は、DPERR_INVALIDPARAMS を返す。アクティブなセッションがない場合は、DPERR_NOSESSIONS を返す。セッションを列挙できなかった場合は、DPERR_UNAVAILABLE を返す。
デフォルトでは、このメソッドはカレント セッションのすべてのプレーヤーを列挙する。DPENUMPLAYERS_SESSION フラグは、セッション インスタンスの GUID と共に使用して、セッションのホストにその列挙用リストを提供するように要求できる。このメソッドで DPENUMPLAYERS_SESSION フラグを使用するときは、IDirectPlay4::EnumSessions メソッドが呼び出された後で、また IDirectPlay4::Close メソッドや IDirectPlay4::Open メソッドを呼び出す前に行う必要がある。
グループの所有者であるプレーヤーを示すために、コールバック関数で DPENUMPLAYERS_OWNER フラグが返される。
Windows NT/2000 : Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : dplay.h で宣言。
インポート ライブラリ : dplayx.lib を使用。
IDirectPlay4::CreatePlayer、IDirectPlay4::DestroyPlayer、IDirectPlay4::AddPlayerToGroup、IDirectPlay4::DeletePlayerFromGroup