IDirectPlay8Server::GetGroupInfo メソッド
IDirectPlay8Server::GetGroupInfo メソッド
グループ名など、グループに関連付けられているデータ ブロックを取得する。
通常、グループ データが変更されたことを示す DPN_MSGID_GROUP_INFO システム メッセージを受信した後、このメソッドを呼び出す。
構文
HRESULT GetGroupInfo(
const DPNID dpnid,
DPN_GROUP_INFO *const pdpnGroupInfo,
DWORD *const pdwSize,
const DWORD dwFlags
);
パラメータ
- dpnid
[in] データ ブロックを取得するグループの識別子を指定する DPNID 型の変数。 - pdpnGroupInfo
[out] グループ データを記述する DPN_GROUP_INFO 構造体へのポインタ。pdwSize が NULL に設定されていない場合、pdpnGroupInfo.dwSize を DPN_GROUP_INFO 構造体のサイズを設定する必要がある。 - pdwSize
[in, out] データのサイズを pdpnGroupInfo パラメータに返す DWORD 型の変数へのポインタ。バッファが小さすぎる場合、このメソッドは DPNERR_BUFFERTOOSMALL を返す。このパラメータには、必要なサイズが設定される。 - dwFlags
[in] グループに関して返される情報を記述するフラグ。現在、次のフラグの両方が返される。DPNINFO_NAME
DPN_PLAYER_INFO 構造体はクライアントの名前セットを保持する。DPNINFO_DATA
DPN_PLAYER_INFO 構造体はクライアントのデータ セットを保持する。
戻り値
成功した場合は S_OK を返し、失敗した場合は次のいずれかのエラー値を返す。
DPNERR_BUFFERTOOSMALL | 指定されたバッファが小さすぎて、要求されたデータを格納できない。 |
DPNERR_INVALIDFLAGS | このメソッドに渡されたフラグは無効である。 |
DPNERR_INVALIDGROUP | グループ ID が、このゲーム セッションに対する有効なグループ ID として認識されていない。 |
注意
Microsoft® DirectPlay® は DPN_GROUP_INFO 構造体と、連続するバッファにある、この構造体の pwszName メンバと pvData メンバに割り当てられたポインタを返す。この 2 つのポインタが設定される場合、構造体に加えて 2 つのポインタにも十分なメモリを割り当てておく必要がある。このメソッドを使う最も確実な方法は、最初は pdwSize を NULL に設定してこのメソッドを呼び出すことである。メソッドが戻ると、pdwSize が正しい値をポイントしている。その値を使って構造体にメモリを割り当て、もう一度メソッドを呼び出して情報を取得する。