次の方法で共有


IDirectPlay8Peer::SetApplicationDesc メソッド

IDirectPlay8Peer::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 つ以上のパラメータが無効である。
DPNERR_NOTHOST クライアントがホスト以外のコンピュータに接続しようとした。また、ホスト以外のコンピュータがアプリケーションの記述を設定しようとした場合に、このエラー値を返すことがある。

注意

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

  • dwMaxPlayers
  • pwszSessionName
  • pwszPassword
  • pvApplicationReservedData
  • dwApplicationReservedDataSize

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

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

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

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