次の方法で共有


IDirectPlay8Peer::Close メソッド

IDirectPlay8Peer::Close メソッド

セッションへの接続を閉じ、IDirectPlay8Peer オブジェクトを未初期化する。いずれかのオブジェクトが IDirectPlay8Peer::Initialize で正常に初期化されると、このメソッドを呼び出す必要がある。

構文

HRESULT Close(      
    const DWORD dwFlags
);

パラメータ

  • dwFlags
    [in] 次のフラグを指定できる。
    • DPNCLOSE_IMMEDIATE
      すぐに閉じる。未処理の呼び出しが完了するまで待機しない。

戻り値

成功した場合は、S_OK を返す。それ以外の場合は、次のいずれかのエラー値を返す。

DPNERR_UNINITIALIZED 要求されたオブジェクトが初期化されていない。

注意

このメソッドを呼び出すと、キューで送信されるのを待つ保証付きメッセージを含め、まだ未処理のすべての処理が取り消される。保証付きメッセージとして既に送信されているメッセージは、送信確認を受け取るまで再試行される。すべてのメッセージの送信を確認するには、IDirectPlay8Peer::Close を呼び出す前に、処理の IDirectPlay8Peer::SendTo 呼び出しがすべて完了するまで待機する。

ホスト プレーヤがこのメソッドを呼び出し、ホストの移行が有効になっている場合、ホストは移行し、他のプレーヤに対してセッションは継続する。ホストの移行が有効ではない場合、セッションは終了する。ホスト プレーヤがホストの移行なしにセッションを終了したい場合は、IDirectPlay8Peer::TerminateSession を呼び出した後に IDirectPlay8Peer::Close を呼び出すこと。詳細については、「ホストの移行」を参照すること。

IDirectPlay8Peer::Close を呼び出した後に新しいセッションを開始するか別のセッションに接続するには、IDirectPlay8Peer オブジェクトに対して IDirectPlay8Peer::Initialize を呼び出した後に IDirectPlay8Peer::Host またはIDirectPlay8Peer::Connect を呼び出す。

IDirectPlay8Peer::Close を呼び出すと、IDirectPlay8Peer オブジェクトに関連付けられた DPN_CAPSDPN_CAPS_EX、および DPN_SP_CAPS は無効になる。

参照

ピアツーピア セッションからの離脱」、「ピアツーピア セッションの終了