Platform SDK: DirectX

DirectPlay4.GetMessageQueue

DirectPlay4.GetMessageQueue メソッドは、ローカル プレーヤーに対する送信または受信キューに関する情報を取得する。1 台のマシン上で 1 つのセッション内に 2 人以上のプレーヤーが存在する場合、返されるデータは、それらのプレーヤーすべての組み合わせに対して有効である。

object.GetMessageQueue(from As Long, _
    to As Long, _
    flags As CONST_DPMESSAGEQUEUEFLAGS, _
    nMessage As Long, _
    nBytes As Long)

パラメータ

object
DirectPlay4 オブジェクトを表すオブジェクト式。
from
キュー状態の取得対象となる、メッセージを送信しているプレーヤーの ID。0 を指定すると、送信されたすべてのメッセージに関する情報が返される。to も指定した場合は、from に指定されたプレーヤーからのメッセージと、to に指定されたメッセージに対するメッセージだけが返される。
to
キュー状態の取得対象となる、メッセージが送信されたプレーヤーの ID。0 を指定すると、送信されたすべてのメッセージに関する情報が返される。from も指定した場合は、from に指定されたプレーヤーからのメッセージと、to に指定されたメッセージに対するメッセージだけが返される。グループ ID を to に指定することはできない。
flags
キューに関して取得する情報のタイプを指定するフラグ。デフォルト (flags = 0) では、送信キューに関する情報を返す。このフラグには、以下のいずれかの値のみを設定できる。
DPMESSAGEQUEUE_SEND
送信キューに関する情報を取得する。
DPMESSAGEQUEUE_RECEIVE
受信キューに関する情報を取得する。
nMessage
キュー内のメッセージの数を受け取る変数。
nBytes
キュー内のすべてのメッセージのバイト数を受け取る変数。

エラー コード

失敗すればエラーが発生し、Err.Number に次のいずれかの値が設定される。

DPERR_INVALIDFLAGS
DPERR_INVALIDPARAMS
DPERR_INVALIDPLAYER
DPERR_UNSUPPORTED

このメソッドは、to にリモート プレーヤーを指定して受信キュー (DPMESSAGEQUEUE_RECEIVE) をチェックすると、DPERR_INVALIDPLAYER を返す。from にリモート プレーヤーを指定して送信キュー (DPMESSAGEQUEUE_SEND) をチェックすると、DPERR_INVALIDPLAYER を返す。flags が DPMESSAGEQUEUE_RECEIVE Or DPMESSAGEQUEUE_SEND の場合は、DPERR_INVALIDFLAGS を返す。DirectPlay プロトコルがオンになっておらず、サービス プロバイダが送信キューのチェックをサポートしていない場合に送信キューをチェックしようとすると、DPERR_UNSUPPORTED を返す。

注意

アプリケーションでは、送信キュー状態を監視することにより、基盤となるネットワークの帯域幅に基づいて、セッション内のほかのプレーヤーに送信するメッセージの数を調節することができる。