DPN_MSGID_INDICATE_CONNECT メッセージ
DPN_MSGID_INDICATE_CONNECT メッセージ
プレーヤがピアツーピア セッションまたはクライアント/サーバー セッションに接続しようとすると、Microsoft® DirectPlay® は DPN_MSGID_INDICATE_CONNECT メッセージを生成する。
DPNMSG_INDICATE_CONNECT 構造体には、DPN_MSGID_INDICATE_CONNECT システム メッセージに関する情報が含まれる。
構文
typedef struct _DPNMSG_INDICATE_CONNECT {
DWORD dwSize;
PVOID pvUserConnectData;
DWORD dwUserConnectDataSize;
PVOID pvReplyData;
DWORD dwReplyDataSize;
PVOID pvReplyContext;
PVOID pvPlayerContext;
IDirectPlay8Address *pAddressPlayer;
IDirectPlay8Address *pAddressDevice;
} DPNMSG_INDICATE_CONNECT, *PDPNMSG_INDICATE_CONNECT;
メンバ
- dwSize
この構造体のサイズ。 - pvUserConnectData
接続元プレーヤのデータ。 - dwUserConnectDataSize
pvUserConnectData メンバに保持されたデータのサイズ (バイト単位)。 - pvReplyData
接続応答データ。このデータは、コールバック メッセージ ハンドラとは無関係に有効でなければならない。DirectPlay がこのバッファの処理を終了すると、DPN_MSGID_RETURN_BUFFER メッセージを受信する。 - dwReplyDataSize
pvReplyData メンバに保持されたデータ サイズ (バイト単位)。 - pvReplyContext
pvReplyData のバッファ コンテキスト。この値は、関連する構造体の pvUserContext メンバとして、DPN_MSGID_RETURN_BUFFER メッセージと共にホストのメッセージ ハンドラに渡される。 - pvPlayerContext
既定のプレーヤ コンテキスト。 - pAddressPlayer
接続しているプレーヤに対する IDirectPlay8Address インターフェイスへのポインタ。IDirectPlay8Address::AddRef を呼び出して、インターフェイスの参照カウントをインクリメントする必要がある。インターフェイスが不要になったときは、IDirectPlay8Address::Release を呼び出す。 - pAddressDevice
接続の試みを受信するデバイスの IDirectPlay8Address インターフェイスへのポインタ。IDirectPlay8Address::AddRef を呼び出して、インターフェイスの参照カウントをインクリメントする必要がある。インターフェイスが不要になったときは、IDirectPlay8Address::Release を呼び出す。
注意
プレーヤにセッションへの参加を許可するには、DPN_OK を返す。その他の戻り値は要求された接続を拒否する。
接続が成功すると、接続を要求しているプレーヤに送信される DPN_MSGID_CONNECT_COMPLETE メッセージに関連する構造体の hResultCode メンバに S_OK が設定される。接続が拒否されると、hResultCode には、このメッセージが返す値ではなく DPNERR_HOSTREJECTEDCONNECTION が設定される。
DPN_MSGID_INDICATE_CONNECT 通知がホスト プレーヤのメッセージ ハンドラに届いた場合、スレッドを返す前に pvPlayerContext を設定すると、プレーヤのコンテキスト値は対応する DPN_MSGID_CREATE_PLAYER 通知に事前に設定される。この機能を使って、プレーヤ コンテキスト値を DPN_MSGID_CREATE_PLAYER に渡すことができる。
プレーヤ コンテキスト値を設定した場合、その値は、それ以降の DPN_MSGID_CREATE_PLAYER メッセージが処理されるまで決定されない。そのため、DPN_MSGID_CREATE_PLAYER を処理するときにこのプレーヤ コンテキスト値を修正できる。
サーバーが DPN_MSGID_INDICATE_CONNECT メッセージを処理した後、DPN_MSGID_CREATE_PLAYER を処理する前にクライアントが接続を削除すると、サーバーは DPN_MSGID_INDICATED_CONNECT_ABORTED メッセージを受け取る。このメッセージを受け取った場合は、DPN_MSGID_INDICATE_CONNECT を処理する間に割り当てたメモリを解放する。DPN_MSGID_CREATE_PLAYER が処理されたら、DPN_MSGID_DESTROY_PLAYER を処理するときに、このメモリを解放する必要がある。
pvUserConnectData の値を指定すると、その後で、バッファを安全に解放できることを知らせる DPN_MSGID_RETURN_BUFFER メッセージを受け取る。
メッセージの情報
ヘッダー | dplay8.h |
最低限のオペレーティング システム | Windows 98、Pocket PC 2002 |