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::ReturnBuffer、IDirectPlay8Client::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 で宣言。