次の方法で共有


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