Platform SDK: DirectX

IDirectPlay4::GetMessageQueue

IDirectPlay4::GetMessageQueue メソッドは、送信キューまたは受信キュー内のメッセージ数を判定する。送信キューのステータスをモニターすることで、アプリケーションは基底ネットワークの帯域幅に基づいてセッション内のその他のプレーヤーに送信するメッセージの数を調整できる。

1 台のコンピュータのセッションに複数のプレーヤーが存在する場合、コンピュータのキュー サイズは個別のプレーヤーではなく、そのコンピュータのセッションの全プレーヤーに対応しているので、注意すること。

HRESULT GetMessageQueue(
  DPID idFrom,
  DPID idTo,
  DWORD dwFlags,
  LPDWORD lpdwNumMsgs,
  LPDWORD lpdwNumBytes
);

パラメータ

idFrom
キューのステータスを取得したいメッセージ送信元のプレーヤーの ID。0 を指定すると、送信されたすべてのメッセージに関する情報が返される。idTo も指定した場合、idFrom のプレーヤーから idTo のプレーヤーに送信されたメッセージに関する情報のみが返される。
idTo
キューのステータスを取得したいメッセージ送信先のプレーヤーの ID。0 を指定すると、送信されたすべてのメッセージに関する情報が返される。idFrom も指定した場合、idFrom のプレーヤーから idTo のプレーヤーに送信されたメッセージに関する情報のみが返される。ただし、idTo にグループ ID は指定できない。
dwFlags
キューに関する情報で取得するタイプを指定する。デフォルト (dwFlags = 0) では、送信キューに関する情報が返される。次の値のいずれかを 1 つだけ指定できる。
DPMESSAGEQUEUE_SEND
送信キューに関する情報を取得する。
DPMESSAGEQUEUE_RECEIVE
受信キューに関する情報を取得する。
lpdwNumMsgs
キューのメッセージ数が設定される DWORD へのポインタ。NULL の場合、値は何も返されない。
lpdwNumBytes
キューのバイト総数が設定される DWORD へのポインタ。NULL の場合、値は何も返されない。

戻り値

成功した場合は DP_OK を返す。失敗した場合は、次のエラー値のいずれかを返す。

DPERR_INVALIDFLAGS
DPERR_INVALIDPARAMS
DPERR_INVALIDPLAYER
DPERR_UNSUPPORTED

ユーザーがリモート プレーヤーの idTo を指定して受信キューを調べた場合は (DPMESSAGEQUEUE_RECEIVE)、DPERR_INVALIDPLAYER が返される。リモート プレーヤーの idFrom を指定して送信キューを調べた場合も (DPMESSAGEQUEUE_SEND)、DPERR_INVALIDPLAYER が返される。受信キュー フラグと送信キュー フラグの両方を指定した場合 (dwFlags = DPMESSAGEQUEUE_RECEIVE|DPMESSAGEQUEUE_SEND) は、DPERR_INVALIDFLAGS が返される。DirectPlay プロトコルがオンになっておらず、またサービス プロバイダで送信キューのチェック機能がサポートされていない場合に、送信キューを調べようとすると、DPERR_UNSUPPORTED が返される。

注意

リモート コンピュータ上のメッセージ キューを調べることはできない。

必要条件

  Windows NT/2000 : Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : dplay.h で宣言。
  インポート ライブラリ : dplayx.lib を使用。

参照

IDirectPlay4::SendIDirectPlay4::SendEx