次の方法で共有


IDirectPlay8Client::Close メソッド

IDirectPlay8Client::Close メソッド

セッションへの接続を閉じ、IDirectPlay8Client オブジェクトを未初期化する。このメソッドは、IDirectPlay8Client::Initialize メソッドの呼び出しによって正しく初期化されたすべてのオブジェクトで呼び出す必要がある。

構文

HRESULT Close(      
    const DWORD dwFlags
);

パラメータ

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

戻り値

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

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

注意

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

アプリケーションを待機させたくない場合は、IDirectPlay8Client::CancelAsyncOperation を呼び出して未処理の送信をすべて取り消した後、IDirectPlay8Client::Close を呼び出すか、IDirectPlay8Client インターフェイスで最後の解放呼び出しを行う。この要件を満たさなければ、予期しない結果が生じることがある。

IDirectPlay8Client::Close を呼び出すと、IDirectPlay8Client に関連する DPN_CAPSDPN_CAPS_EX、および DPN_SP_CAPS は無効になる。