Platform SDK: DirectX

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 を使用するには、以下の条件のいずれかまたは両方が真でなければならない。

つまり、モデム、シリアル、および IPX (Internetwork Packet Exchange) のサービス プロバイダでは、保証メッセージングを利用できるが、DPSESSION_DIRECTPLAYPROTOCOL フラグを明示的に設定しなければ、非同期メッセージングを実行できないということである。TCP/IP サービス プロバイダは、コンピュータに Windows Sockets 2.0 が存在する場合に、非同期メッセージングを実装する。

セッションをホストしているアプリケーションが DirectPlaySessionData オブジェクトで DPSESSION_DIRECTPLAYPROTOCOL フラグを設定した場合、SendEx のすべてのオプションがサポートされる。