次の方法で共有


IDirectPlay8Server::SetApplicationDesc メソッド

IDirectPlay8Server::SetApplicationDesc メソッド

ホストされているアプリケーションの設定を変更する。変更できるのは、いくつかの設定のみである。

構文

HRESULT SetApplicationDesc(      
    const DPN_APPLICATION_DESC *const pad,
    const DWORD dwFlags
);

パラメータ

  • pad
    [in] 変更するアプリケーションの設定を記述する DPN_APPLICATION_DESC 構造体へのポインタ。
  • dwFlags
    [in] 予約済み。0 でなければならない。

戻り値

成功した場合は S_OK を返し、失敗した場合は次のいずれかのエラー値を返す。

DPNERR_DATATOOLARGE アプリケーション データが、サービス プロバイダの MTU (Maximum Transmission Unit) に対して大きすぎる。
DPNERR_INVALIDFLAGS このメソッドに渡されたフラグは無効である。
DPNERR_INVALIDPARAM メソッドに渡された 1 つあるいは複数のパラメータが無効である。

注意

このメソッドを使って変更できるのは、DPN_APPLICATION_DESC 構造体の以下のメンバのみである。

  • dwMaxPlayers
  • pwszSessionName
  • pwszPassword
  • pvApplicationReservedData
  • dwApplicationReservedDataSize

IDirectPlay8Server::SetApplicationDesc を呼び出すと、Microsoft® DirectPlay® は pad が示すデータのコピーを作成する。IDirectPlay8Server::SetApplicationDesc が戻った場合、DPN_APPLICATION_DESC 構造体を保存する必要はない。

dwMaxPlayers メンバを、セッションに現在いるプレーヤの数より小さい値に設定することはできない。

DPN_APPLICATION_DESC 構造体の pvApplicationReservedData メンバに割り当てるアプリケーション データの最大サイズは、サービス プロバイダの MTU (Maximum Transmission Unit) によって制限される。アプリケーション データが大きすぎる場合、メソッドは失敗し、DPNERR_DATATOOLARGE を返す。

アプリケーションの記述を間違って上書きしないため、アプリケーションは IDirectPlay8Server::GetApplicationDesc を呼び出し DPN_APPLICATION_DESC 構造体の内容を設定した後、IDirectPlay8Server::SetApplicationDesc を呼び出すこと。