Microsoft DirectX 8.0 (C++) |
IDirectPlay8Server::SetServerInfo メソッドの呼び出しによって設定されたサーバーのデータ セットを取得する。
HRESULT GetServerInfo( DPN_PLAYER_INFO *const pdpnPlayerInfo, DWORD *const pdwSize, const DWORD dwFlags );
成功した場合は S_OK を返し、失敗した場合は次のいずれかのエラー値を返す。
DPNERR_BUFFERTOOSMALL |
DPNERR_INVALIDPARAM |
このメソッドは、サーバーが情報を更新したことを示す、DPN_MSGID_SERVER_INFO メッセージをクライアントが受け取った後で呼び出す。
Microsoft® DirectPlay® は DPN_PLAYER_INFO 構造体と、連続するバッファにある、この構造体の pwszName メンバと pvData メンバに割り当てられたポインタを返す。この 2 つのポインタが設定される場合、構造体に加えて 2 つのポインタにも十分なメモリを割り当てておく必要がある。このメソッドを使用する最も確実な方法は、最初は pdwSize を NULL に設定してこのメソッドを呼び出すことである。メソッドが戻ると、pcAddress が必要な値をポイントする。メソッドが戻ると、pdwSize が正しい値をポイントしている。その値を使って構造体のメモリを再割り当てし、もう一度メソッドを呼び出して情報を取得する。
メソッドが戻ると、対応するポインタが NULL に設定されている場合でも、DPN_PLAYER_INFO 構造体の dwInfoFlags メンバには常に DPNINFO_DATA フラグと DPNINFO_NAME フラグが設定されている。これらのフラグは IDirectPlay8Server::SetServerInfo を呼び出すときに使用され、DirectPlay に変更された値を通知する。
IDirectPlay8Server::SetServerInfo メソッドを使用すると処理に負担がかかるため、非静的情報は IDirectPlay8Server::SendTo メソッドを使用して転送すること。
Windows NT/2000 : Windows 2000 以降に対する再配布可能ファイルとして提供。
Windows 95/98 : Windows 95 以降に対する再配布可能ファイルとして提供。
ヘッダー : Dplay8.h で宣言。