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