IDirectPlayVoiceClient::Disconnect メソッド
IDirectPlayVoiceClient::Disconnect メソッド
Microsoft® DirectPlay® Voice クライアントを既存の DirectPlay Voice セッションから接続解除する。
構文
HRESULT Disconnect(
DWORD dwFlags
);
パラメータ
- dwFlags
[in] フラグ。次のフラグを指定できる。DVFLAGS_SYNC
処理が完了するまで戻らない。
戻り値
成功した場合は DV_OK を返す。または、次のいずれかのエラー値を返す。
DVERR_ALREADYPENDING | このタイプの非同期呼び出しは既にペンディング状態になっている。 |
DVERR_CONNECTABORTING | 接続解除中。 |
DVERR_INVALIDFLAGS | このメソッドに渡されたフラグは無効である。 |
DVERR_INVALIDPARAM | メソッドに渡された 1 つ以上のパラメータが無効である。 |
DVERR_NOTCONNECTED | DirectPlay Voice オブジェクトが接続されていない。 |
DVERR_NOTINITIALIZED | このメソッドを呼び出す前に、IDirectPlayVoiceClient::Initialize メソッドまたは IDirectPlayVoiceServer::Initialize メソッドを呼び出す必要がある。 |
DVERR_PENDING | エラーではない。この戻り値は、非同期処理で、キューへの設定が成功するところまで処理が進んだことを示す。 |
DVERR_SESSIONLOST | トランスポートはセッションへの接続を喪失した。 |
DVERR_TIMEOUT | 指定された時間内に処理を実行できなかった。 |
注意
このメソッドを呼び出すと、録音と再生はすべて停止する。処理中の接続は、この呼び出しにより取り消される。
DVFLAGS_SYNC が指定されていない場合、メソッド呼び出し直後に DVERR_PENDING エラー値が返され、バッググラウンドで接続解除要求が処理される。DirectPlay Voice クライアントが接続解除結果を含んだ DVMSGID_DISCONNECTRESULT メッセージを生成するまで、接続解除の状態は不明である。一度に 1 つの接続解除のみをペンディング状態にできる。接続解除が保留になっている間に IDirectPlayVoiceClient::Disconnect を呼び出した場合、DirectPlay は DVERR_ALREADYPENDING エラー値を返す。
DVFLAGS_SYNC フラグを設定し、同期をとってこのメソッドを呼び出した場合、IDirectPlayVoiceClient::Disconnect メソッドが完了するまでこのメソッドは戻らない。接続解除の結果はこのメソッドの戻り値が示す。DVMSGID_DISCONNECTRESULT メッセージは生成されない。