DPCAPS
DPCAPS 型は、DirectPlay4.GetCaps メソッドまたは DirectPlay4.GetPlayerCaps メソッドを呼び出した後に、DirectPlay オブジェクトの能力を保持する。保証付きまたは保証なしのどちらの能力を必要としているかに応じて、これらの能力の任意のものを変更することができる。
Type DPCAPS
lFlags As Long
lHeaderLength As Long
lHundredBaud As Long
lLatency As Long
lMaxBufferSize As Long
lMaxLocalPlayers As Long
lMaxPlayers As Long
lMaxQueueSize As Long
lTimeout As Long
End Type
メンバ
- lFlags
- DirectPlay オブジェクトのプロパティを示す、CONST_DPCAPSFLAGS 列挙型のメンバ。DPCAPS_ASYNCSUPPORTED フラグ、DPCAPS_SENDTIMEOUTSUPPORTED フラグ、DPCAPS_SENDPRIORITYSUPPORTED フラグ、DPCAPS_ASYNCCANCELSUPPORTED フラグ、および DPCAPS_ASYNCCANCELALLSUPPORTED フラグは、現在のセッションの通信能力を示す。
- lHeaderLength
- この DirectPlay オブジェクトによってプレーヤー メッセージに追加されるヘッダーの、バイト単位のサイズ。このヘッダー サイズは、使用するサービス プロバイダによって異なる。
- lHundredBaud
- 1 秒あたりの帯域幅を 100 ビットの倍数で示す。たとえば、この値が 24 の場合は、2400 ビット/秒を示す。
- lLatency
- サービス プロバイダによる推定の遅延時間をミリ秒単位で指定する。この値が 0 の場合、DirectPlay は遅延時間を推定できない。サービス プロバイダによっては、メッセージ サイズの平均を考慮し、アプリケーション間テストに基づいた精度になる。遅延時間は、アプリケーションで保証付きまたは保証なしのどちらのメッセージ配信を利用するかによって異なる場合がある。
- lMaxBufferSize
- このサービス プロバイダが 1 つのパケットで送信できるバイト数。これより大きなメッセージは、2 つ以上のパケットを使用して送信される。
- lMaxLocalPlayers
- セッションでサポートされるローカル プレーヤーの最大数。
- lMaxPlayers
- この DirectPlay オブジェクトにより、セッション内でサポートされるローカル プレーヤーとリモート プレーヤーの最大数。
- lMaxQueueSize
- 使用されない。
- lTimeout
- サービス プロバイダが提案するタイムアウト値。デフォルトでは、DirectPlay はメッセージへの応答を待機するときに、このタイムアウト値を使用する。
注意
DirectPlay4.SendEx メソッドのどの要素がサポートされているかを示す能力 (lFlags の DPCAPS_SENDPRIORITYSUPPORTED フラグ、DPCAPS_SENDTIMEOUTSUPPORTED フラグなど) は、セッションが開いた後でなければ利用できない。
SendEx で DPSEND_ASYNC を使用するには、以下の条件のいずれかまたは両方が真でなければならない。
- セッションを作成するときに、DPSESSION_DIRECTPLAYPROTOCOL フラグを設定した。
- サービス プロバイダが、非同期メッセージングをサポートしている。
つまり、モデム、シリアル、および IPX (Internetwork Packet Exchange) のサービス プロバイダでは、保証メッセージングを利用できるが、DPSESSION_DIRECTPLAYPROTOCOL フラグを明示的に設定しなければ、非同期メッセージングを実行できないということである。TCP/IP サービス プロバイダは、コンピュータに Windows Sockets 2.0 が存在する場合に、非同期メッセージングを実装する。
セッションをホストしているアプリケーションが DirectPlaySessionData オブジェクトで DPSESSION_DIRECTPLAYPROTOCOL フラグを設定した場合、SendEx のすべてのオプションがサポートされる。