IDirectPlay8Client::GetApplicationDesc メソッド
IDirectPlay8Client::GetApplicationDesc メソッド
接続されたアプリケーションに関するアプリケーションの記述全体を取得する。
構文
HRESULT GetApplicationDesc(
DPN_APPLICATION_DESC *const pAppDescBuffer,
DWORD *const pcbDataSize,
const DWORD dwFlags
);
パラメータ
- pAppDescBuffer
[out] アプリケーションの記述データが書き込まれる DPN_APPLICATION_DESC 構造体へのポインタ。データのサイズのみを要求するときは、このパラメータに NULL を設定する。pAppDescBuffer が NULL に設定されていない場合、pAppDescBuffer.dwSize メンバに適切な値を設定する必要がある。pcbDataSize パラメータは、データの保持に必要なサイズに設定される。 - pcbDataSize
[in, out] このメソッドを呼び出す前に、バッファのサイズに初期化された DWORD 型の変数へのポインタ。メソッドが戻ると、このパラメータにはセッション データのサイズがバイト単位で設定されている。バッファが小さすぎる場合、このメソッドはエラー値 DPNERR_BUFFERTOOSMALL を返す。このパラメータには、必要なバッファ サイズが設定される。このパラメータが NULL の場合、メソッドは DPNERR_INVALIDPARAM を返す。 - dwFlags
[in] 予約済み。0 でなければならない。
戻り値
成功した場合は S_OK を返し、失敗した場合は次のいずれかのエラー値を返す。
DPNERR_BUFFERTOOSMALL | 指定されたバッファが小さすぎて、要求されたデータを格納できない。 |
DPNERR_INVALIDFLAGS | このメソッドに渡されたフラグは無効である。 |
DPNERR_INVALIDPARAM | メソッドに渡された 1 つ以上のパラメータが無効である。 |
DPNERR_NOCONNECTION | 通信リンクが確立されなかった。 |
注意
pAppDescBuffer パラメータに NULL を渡して最初にこのメソッドを呼び出し、必要なバッファ サイズを取得する。2 回目にこのメソッドを呼び出してバッファにデータを格納するときは、構造体の dwSize メンバを適切な値に設定する。
返された DPN_APPLICATION_DESC 構造体には、guidInstance、guidApplication、および pwszSessionName メンバが設定されている。この中には、セッションに接続されている他のクライアントに関する情報は含まれていない。このような情報は、サーバー アプリケーションのみが取得できる。特に、dwCurrentPlayers メンバは必ず 0 に設定する。