Microsoft DirectX 8.0 (C++)

DPN_MSGID_RECEIVE

メッセージが受信側によって処理されると、Microsoft® DirectPlay® により DPN_MSGID_RECEIVE メッセージが生成される。

DPNMSG_RECEIVE

DPNMSG_RECEIVE 構造体には、DPN_MSGID_RECEIVE システム メッセージに関する情報が保持される。

typedef struct {
    DWORD      dwSize;
    DPNID      dpnidSender;
    PVOID      pvPlayerContext;
    PBYTE      pReceiveData;
    DWORD      dwReceiveDataSize;
    DPNHANDLE  hBufferHandle; 
} DPNMSG_RECEIVE, *PDPNMSG_RECEIVE;
dwSize
この構造体のサイズ。
dpnidSender
メッセージを送信したプレーヤーの DPNID。
pvPlayerContext
メッセージを送信したプレーヤーのプレーヤー コンテキスト値。
pReceiveData
メッセージ データ バッファへの PBYTE ポインタ。このバッファは、通常の場合、DPN_MSGID_RECEIVE メッセージがコールバック メッセージ ハンドラによって処理されている間のみ有効である。メッセージの総処理時間が大きくならないように、このデータをコピーしてメッセージを処理する。別の方法として、コールバック メッセージ ハンドラから DPNSUCCESS_PENDING を返すこともできる。この場合は、バッファの所有権がアプリケーションに移る。DPNSUCCESS_PENDING を返す場合、バッファが不要になったら、IDirectPlay8Peer::ReturnBufferIDirectPlay8Client::ReturnBuffer、または IDirectPlay8Server::ReturnBuffer を呼び出す必要がある。メソッドに、hBufferHandle メンバで受け取った値を渡して、バッファを識別する。ReturnBuffer の呼び出しに失敗した場合は、メモリ リークが発生する。
dwReceiveDataSize
pReceiveData メンバのデータのサイズ (バイト単位)。
hBufferHandle
pReceiveData メンバのバッファ ハンドル。DPNSUCCESS_PENDING を返した場合、この値を ReturnBuffer に渡して、Microsoft® DirectPlay® にバッファを解放するように通知する。

動作環境

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