Microsoft DirectX 8.0 (C++)

DPL_MSGID_DISCONNECT

ロビー クライアントが IDirectPlay8LobbyClient::ReleaseApplication メソッドを使用してロビー アプリケーションから接続解除すると、Microsoft® DirectPlay® により DPL_MSGID_DISCONNECT メッセージが生成される。

DPL_MESSAGE_DISCONNECT

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

typedef struct _DPL_MESSAGE_DISCONNECT{
    DWORD     dwSize;
    DPNHANDLE hDisconnectId;
    HRESULT   hrReason;
    PVOID     pvConnectionContext;
} DPL_MESSAGE_DISCONNECT, *PDPL_MESSAGE_DISCONNECT;
dwSize
DPL_MESSAGE_DISCONNECT メッセージ構造体のサイズ。アプリケーションは、この構造体を使用する前に、まずこのメンバを設定する必要がある。
hDisconnectId
接続解除 ID を指定するハンドル。
hrReason
接続解除の理由。
S_OK
通常の接続解除。
DPNERR_CONNECTIONLOST
クライアントまたはアプリケーションを実行しているプロセスが異常終了した場合に設定される。
pvConnectionContext
接続に対して設定されているコンテキスト値。

注意

ロビー アプリケーションの場合、コンテキスト値は DPL_MESSAGE_CONNECT メッセージ構造体の pvConnectionContext メンバにより設定される。メッセージ ハンドラがこのメッセージを受け取った場合は、戻る前にこのメンバに設定した値が、その接続のコンテキスト値になる。

ロビー クライアントの場合、接続が成功すると、IDirectPlay8LobbyClient::ConnectApplication メソッドの pvConnectionContext パラメータが接続のコンテキスト値として使用される。

コンテキスト値は、ロビー クライアントとロビー アプリケーションの間で共有されない。たとえば、ロビー接続のコンテキスト値を、IDirectPlay8LobbyClient インターフェイスではポインタ A に、IDirectPlay8LobbiedApplication インターフェイスではポインタ B に設定した場合、IDirectPlay8LobbyClient インターフェイスではポインタ A がコンテキスト値になり、IDirectPlay8LobbiedApplication インターフェイスではポインタ B がコンテキスト値になる。

この機能を使用する必要がない場合は、コンテキスト値を NULL に設定できる。

動作環境

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