Platform SDK: DirectX |
IDirectPlay4::SetSessionDesc メソッドは、カレント セッションのプロパティを変更する。セッション プロパティを変更できるのは、セッションのホストだけである。ホスト以外からこのメソッドを呼び出そうとすると、DPERR_ACCESSDENIED が返される。
更新されたセッション記述が、セッション内のその他すべてのコンピュータに伝播される。各プレーヤーには、DPMSG_SETSESSIONDESC システム メッセージが送信される。
SetSessionDesc は、ロビー セッションでは使用できない。
HRESULT SetSessionDesc( LPDPSESSIONDESC2 lpSessDesc, DWORD dwFlags );
成功した場合は DP_OK を返す。失敗した場合は、次のエラー値のいずれかを返す。
DPERR_ACCESSDENIED |
DPERR_CONNECTIONLOST |
DPERR_INVALIDPARAMS |
DPERR_NOSESSIONS |
このコンピュータにセッションを変更する権限がない場合は、DPERR_ACCESSDENIED を返す。セッション プロパティを変更できるのはホストだけである。アプリケーションが変更不可能なセッション記述のプロパティを変更しようとした場合、またはプロパティに無効な値を指定した場合は、DPERR_INVALIDPARAMS を返す。
セッション記述を変更すると、DPMSG_SETSESSIONDESC システム メッセージがセッション内のその他すべてのコンピュータで生成される。
DPSESSIONDESC2 構造体の次のメンバとフラグは、IDirectPlay4::SetSessionDesc を使用して変更できる。
DPSESSION_NEWPLAYERSDISABLED
DPSESSION_NODATAMESSAGES
DPSESSION_PRIVATE
DPSESSIONDESC2 構造体の次のメンバとフラグが変更されると、エラーが発生する (たとえば、DPSESSION_KEEPALIVE フラグが現在設定さている場合に、このビットを設定しようとしてもエラーは発生しないが、そのビットをクリアしようとするとエラーが発生し、IDirectPlay4::SetSessionDesc は失敗する)。
DPSESSION_KEEPALIVE
DPSESSIONDESC2 構造体の次のメンバは無視される (つまり、このメンバに何を指定しても、DirectPlay は必ず IDirectPlay4::Open が呼び出されたときに渡された値を使用する)。
Windows NT/2000 : Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : dplay.h で宣言。
インポート ライブラリ : dplayx.lib を使用。