Platform SDK: DirectX

CONST_DPSESSIONFLAGS

CONST_DPSESSIONFLAGS 列挙型のメンバは、セッションの特性を記述するために使用される。

Enum CONST_DPSESSIONFLAGS
    DPSESSION_CLIENTSERVER       = 4096 (&H1000)
    DPSESSION_DIRECTPLAYPROTOCOL = 8192 (&H2000)
    DPSESSION_JOINDISABLED         = 32 (&H20)
    DPSESSION_KEEPALIVE            = 64 (&H40)
    DPSESSION_MIGRATEHOST           = 4
    DPSESSION_MULTICASTSERVER    = 2048 (&H800)
    DPSESSION_NEWPLAYERSDISABLED    = 1
    DPSESSION_NODATAMESSAGES      = 128 (&H80)
    DPSESSION_NOMESSAGEID           = 8
    DPSESSION_NOPRESERVEORDER   = 16384 (&H4000)
    DPSESSION_OPTIMIZELATENCY   = 32768 (&H8000)
    DPSESSION_PASSWORDREQUIRED   = 1024 (&H400)
    DPSESSION_PRIVATE             = 512 (&H200)
    DPSESSION_SECURESERVER        = 256 (&H100)
End Enum
DPSESSION_CLIENTSERVER
アプリケーション-サーバー プロセスによってホストされる、クライアント/サーバー セッションである。このフラグは、セッションの作成時に指定する必要がある。サーバー プレーヤーと任意のローカル プレーヤーを列挙できるのは、このセッションに参加するクライアントだけである。セッションのホストは、すべてのプレーヤーを認識できる。このフラグを設定しない場合、セッションはピアツーピア セッションである。このフラグを設定した場合、サーバー プレーヤーを作成できるのはホストだけである。このフラグは、DPSESSION_MIGRATEHOST と共に使用することはできない。
DPSESSION_DIRECTPLAYPROTOCOL
このセッションでは、サービス プロバイダによって実装されたプロトコルではなく、DirectPlay の保証付きプロトコルを使用する必要がある。メッセージ スロットリング (およびそれによるパフォーマンスの向上) が必要な場合は、このフラグを使用する。
DPSESSION_JOINDISABLED
新しいアプリケーションは、このセッションに参加できない。DPOPEN_JOIN フラグと、このセッション インスタンスのグローバル ユニーク識別子 (GUID) を設定して DirectPlay4.Open メソッドを呼び出すと、エラーが発生する。このフラグを指定しない場合、新しいリモート アプリケーションは、セッションにおけるプレーヤーの限度に達するまで、そのセッションに参加できる。
DPSESSION_KEEPALIVE
このセッションは、リモート プレーヤーがゲームから不正に退出したことを、自動的に検出する。これらのプレーヤーは、セッションから削除される。ネットワークの一時的な障害によってプレーヤーが失われた場合、そのプレーヤーが戻ったときに、DPSYS_SESSIONLOST システム メッセージにより、セッションから抜けたことを知らされる。このフラグは、セッションの作成時に指定する必要がある。このフラグを設定しない場合、DirectPlay は、プレーヤーが不正に終了したときに、セッションを自動的には維持しない。
DPSESSION_MIGRATEHOST
現在のホストがセッションを抜けると、セッション内の別のコンピュータがホストになる。新しいホスト コンピュータ上のプレーヤーは、DPSYS_HOST システム メッセージを受信する。このフラグは、セッションの作成時に指定する必要がある。このフラグを指定しない場合、現在のホストがセッションを離れると、ホストは移行されず、新しいコンピュータはセッションに参加できず、新しいプレーヤーを作成することもできなくなる。DPSESSION_MIGRATEHOST フラグは、DPSESSION_CLIENTSERVER フラグ、DPSESSION_MULTICASTSERVER フラグ、または DPSESSION_SECURESERVER フラグと組み合わせて使用することはできない。
DPSESSION_MULTICASTSERVER
ピアツーピア セッションでは、ブロードキャストとグループ メッセージが、マルチキャスト サーバーのように機能するホストを介して送信される。このフラグは、セッションの作成時に指定する必要がある。このフラグは、ホストがネットワークに高い帯域幅で接続している場合にのみ、有効である。このフラグを指定しない場合、ブロードキャストとグループ メッセージは、ノード間で直接送信される。このフラグは、DPSESSION_MIGRATEHOST と共に使用することはできない。
DPSESSION_NEWPLAYERSDISABLED
セッション内で新しいプレーヤーを作成できない。セッション内のアプリケーションが DirectPlay4.CreatePlayer メソッドを呼び出すと、エラーが発生する。また、新しいアプリケーションがセッションに参加することもできない。このフラグを設定しない場合は、セッションにおけるプレーヤーの限度に達するまで、プレーヤーを作成することができる。
DPSESSION_NODATAMESSAGES
このセッションは、リモート プレーヤー データ、グループ データ、またはセッション データが、DirectPlay4.SetPlayerData メソッド、DirectPlay4.SetGroupData メソッド、DirectPlay4.SetPlayerName メソッド、DirectPlay4.SetGroupName メソッド、または DirectPlay4.SetSessionDesc メソッドのいずれかにより変更された場合に、システム メッセージを送信しない。このフラグを指定しない場合は、データの変更を示すメッセージが生成される。

このフラグを設定すると、DPSYS_SETSESSIONDESC システム メッセージも省略される。

DPSESSION_NOMESSAGEID
セッションが、メッセージを発信したプレーヤーとメッセージが送信されるプレーヤーを示すデータをメッセージに添付しないことを指定する。このフラグを設定すると、このメッセージが関係のないものである場合に、メッセージのオーバーヘッドを防ぐことができる。このフラグを指定しない場合、メッセージ ID が追加されるこのフラグは、セッションの作成時に指定する必要がある。
DPSESSION_NOPRESERVEORDER
このセッションが、保証付きのメッセージの受信順序を保存しないことを指定する。デフォルトでは、保証メッセージの受信順序は保存される。この順序が不要な場合は、このフラグを使用して、配信の遅れを防ぐことができる。
DPSESSION_OPTIMIZELATENCY
サービス プロバイダに、遅延時間に対して最適化するように要求する (これにより、TCP/IP のナグリングがオフになる)。デフォルトでは、帯域幅に対して最適化する。
DPSESSION_PASSWORDREQUIRED
このセッションが、パスワードで保護されていることを指定する。このセッションに参加するアプリケーションは、DirectPlay4.Open の呼び出しでパスワードを提供する必要がある。このフラグは、読み取り専用である。セッションのホストがパスワードを指定すると、自動的に設定される。
DPSESSION_PRIVATE
セッションが、プライベート セッションであることを指定する。要求に、NULL 以外の一致するパスワードが含まれている場合を除いて、列挙要求に応答することはできない。このフラグを指定しない場合、セッションは列挙要求に応答する。
DPSESSION_SECURESERVER
このセッションが、開く前に認証情報を要求する保証サーバー上でホストされていることを指定する。ホストは、セッションの作成時に、このフラグを指定する必要がある。このフラグは、後で DirectPlay4.SetSessionDesc によって変更することはできない。また、DPSESSION_MIGRATEHOST と組み合わせて使用することはできない。

注意

以下のフラグは、セッションの開始後には変更できない。

DPSESSION_CLIENTSERVER
DPSESSION_DIRECTPLAYPROTOCOL
DPSESSION_KEEPALIVE
DPSESSION_MIGRATEHOST
DPSESSION_MULTICASTSERVER
DPSESSION_NOMESSAGEID
DPSESSION_OPTIMIZELATENCY
DPSESSION_SECURESERVER

以下のフラグは、DirectPlay4.SetSessionDesc を使用して設定できる。ただし、それができるのはホストだけである。

DPSESSION_JOINDISABLED
DPSESSION_NEWPLAYERSDISABLED
DPSESSION_NODATAMESSAGES
DPSESSION_NOPRESERVEORDER
DPSESSION_PASSWORDREQUIRED
DPSESSION_PRIVATE