Platform SDK: DirectX

DirectPlay4.SetSessionDesc

DirectPlay4.SetSessionDesc メソッドは、現在のセッションのプロパティを変更する。セッションのプロパティを変更できるのは、セッションのホストだけである。

このメソッドは、ロビー セッションでは使用できない。

object.SetSessionDesc(sessionDesc As DirectPlaySessionData)

パラメータ

object
DirectPlay4 オブジェクトを表すオブジェクト式。
sessionDesc
新しい設定を含む DirectPlaySessionData オブジェクト。このオブジェクトは、DirectPlay4.GetSessionDesc メソッドを使用して取得できる。このオブジェクト自体のメソッドを使用して、データを変更することができる。「注意」を参照すること。

エラー コード

失敗すればエラーが発生し、Err.Number に次のいずれかの値が設定される。

DPERR_ACCESSDENIED
DPERR_CONNECTIONLOST
DPERR_INVALIDPARAMS
DPERR_NOSESSIONS

このコンピュータがセッションを変更する権限を持っていない場合は、DPERR_ACCESSDENIED を返す。アプリケーションが変更できないセッション記述のプロパティを変更しようとした場合や、プロパティに無効な値を設定しようとした場合は、DPERR_INVALIDPARAMS を返す。

注意

更新されたセッション記述は、セッション内のほかのすべてのコンピュータに伝承される。各プレーヤーは、DPSYS_SETSESSIONDESC システム メッセージを受信する。

以下のメソッドを使用して、セッション記述の変更可能な要素を設定することができる。

DirectPlaySessionData.SetFlags
以下のフラグを追加または削除できる。

DPSESSION_JOINDISABLED
DPSESSION_NEWPLAYERSDISABLED
DPSESSION_NODATAMESSAGES
DPSESSION_PRIVATE

以下のフラグを維持する必要がある。そうでない場合、SetSessionDesc を呼び出したときに、エラーが発生する。
DPSESSION_NOMESSAGEID
DPSESSION_KEEPALIVE
DirectPlaySessionData.SetMaxPlayers
現在のプレーヤー数よりも少ない最大プレーヤー数が設定された場合は、DPERR_INVALIDPARAMS を返す。
DirectPlaySessionData.SetSessionName
DirectPlaySessionData.SetSessionPassword
DirectPlaySessionData.SetUser1
DirectPlaySessionData.SetUser2
DirectPlaySessionData.SetUser3
DirectPlaySessionData.SetUser4

DirectPlaySessionData.SetGuidInstance または DirectPlaySessionData.SetGuidApplication を呼び出してオブジェクトのほかのプロパティを変更した場合は、新しい設定は無視される。つまり、DirectPlay は、DirectPlay4.Open が呼び出されたときの値を常に使用する。

参照

DirectPlay4.GetSessionDesc