Microsoft DirectX 8.0 (C++)

DPN_SP_CAPS

サービス プロバイダ用のパラメータの設定と取得に使用する。

typedef struct _DPN_SP_CAPS{
    DWORD  dwSize;
    DWORD  dwFlags;
    DWORD  dwNumThreads;
    DWORD  dwDefaultEnumCount;
    DWORD  dwDefaultEnumRetryInterval;
    DWORD  dwDefaultEnumTimeout;
    DWORD  dwMaxEnumPayloadSize;
    DWORD  dwBuffersPerThread;
    DWORD  dwSystemBufferSize;

} DPN_SP_CAPS, *PDPN_SP_CAPS;

メンバ

dwSize
この値は、構造体のサイズに設定する必要がある。
dwFlags
次のフラグを組み合わせて使用できる。
DPNSPCAPS_SUPPORTSDPNSRV
DPNSVR.EXE は特定のサービス プロバイダにポート共有を提供する。現在、このフラグは IP と IPX においてのみ利用できる。DPNSVR の詳細については、「DirectPlay DPNSVR アプリケーションの使い方」を参照すること。
DPNSPCAPS_SUPPORTSBROADCAST
IP および IPX アプリケーションで、渡されたアドレス情報が不足する場合、サービス プロバイダがある要素を全要素にコピーしてゲームを検索できる。
DPNSPCAPS_SUPPORTSALLADAPTERS
サービス プロバイダは、システム上のすべてのデバイスを使用する。デバイス要素を指定する必要はない。
dwNumThreads
サービス プロバイダがネットワーク要求のサービスに使用するスレッドの数。デフォルト値は、システムのプロセッサ数を考慮したアルゴリズムに基づいて設定される。大部分のアプリケーションではこの値を変更する必要がない。

プロセスでサービス プロバイダがアクティブになった後は、この値を増加することしかできない。この値を減少しても効果がない。設定はプロセス全体に有効であり、ユーザーの現在の DirectPlay オブジェクトと、プロセス内のほかのすべての DirectPlay オブジェクトに影響する。

EnumHostsConnect、または Host を呼び出す前に SetSPCaps メソッドを呼び出した場合、デフォルト値より小さい値を指定できる。

dwDefaultEnumCount
デフォルトの列挙カウント。
dwDefaultEnumRetryInterval
デフォルトの再試行間隔 (ミリ秒単位)。
dwDefaultEnumTimeout
デフォルトの列挙タイムアウト値 (ミリ秒単位)。
dwMaxEnumPayloadSize
DPN_MSGID_ENUM_HOST_QUERY および DPN_MSGID_ENUM_HOST_RESPONSE メッセージを伴う構造体の pvResponseData メンバに送信できるプレイロード情報の最大サイズ。
dwBuffersPerThread
各 DirectPlay スレッドに割り当てる未処理の受信バッファの数。受信バッファの数を増加した場合、DirectPlay はオペレーティング システム バッファからより多くのデータを引き出すことができる。ただし、アプリケーションの処理速度がデータの到着する速度に追いつかない場合は、遅延時間を延長することもできる。
dwSystemBufferSize
オペレーティング システム バッファのサイズ。このバッファは、アプリケーションの処理速度がデータの到着する速度に追いつかないとき、通信デバイスからのデータを保持する。このバッファの目的は、突然に大量のデータを受け取った場合、または受信スレッドが瞬間的にストールされた場合に、データの損失を防ぐことである。アプリケーションが受信データを適切な速度で処理できない場合、dwSystemBufferSize を増加すると遅延時間が長くなることがある。dwSystemBufferSize を 0 に設定すると、オペレーティング システム バッファをなくすことができる。ただし、これを行うと、受信したデータを到着後すぐに処理できない場合に、データが失われるおそれがある。

注意

DirectX 8.0 では、IP および IPX サービス プロバイダは dwBuffersPerThread および dwSystemBufferSize メンバのみを使用する。これらのメンバのデフォルト値は、サービス プロバイダが設定する。デフォルト値を判断するには、GetSPCaps メソッドを呼び出す。大部分のアプリケーションでは、これら 2 つのメンバにデフォルト値を使用する必要がある。これらのメンバは、基本的には、大量のデータを処理するマルチプレーヤー ゲーム用サーバー アプリケーションを作成する開発者が使用する。

動作環境

  Windows NT/2000 : Windows 2000 以降に対する再配布可能ファイルとして提供。
  Windows 95/98 : Windows 95 以降に対する再配布可能ファイルとして提供。
  ヘッダー : Dplay8.h で宣言。