DirectPlay DirectPlay C/C++ 레퍼런스 인터페이스 IDirectPlayVoiceClient Disconnect [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
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 메시지는 생성되지 않는다.