DirectPlay DirectPlay C/C++ 레퍼런스 인터페이스 IDirectPlayVoiceServer Initialize [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
DirectPlayVoiceServer 개체를, Microsoft® DirectPlay® 개체에 관련지어 초기화한다. 또, 이 메서드는 메시지 핸들러를 이 인터페이스에 등록한다.
구문
HRESULT Initialize(
LPUNKNOWN lpVoid, PDVMESSAGEHANDLER pMessageHandler, PVOID pUserContext, LPDWORD lpdwMessageMask, DWORD dwMessageMaskElements );
파라미터
- lpVoid
- [in] 이 DirectPlayVoiceServer 개체가 사용하는 DirectPlay 개체에 대한 IUnknown 인터페이스의 포인터.
- pMessageHandler
- [in] 처리하는 DirectPlayVoiceClient 메시지가 있는 경우에 불려 가는 사용자 정의의 콜백 함수. DirectPlayVoiceClient 개체내의 thread가 콜백 함수를 호출하기 (위해)때문에, 처리하고 있는 메인 thread의 문맥에는 콜백 함수는 불려 가지 않는다.
- pUserContext
- [in] 메서드가 불려 갈 때마다 콜백 함수에 건네지는, 애플리케이션에 의해 정의된 구조체의 포인터.
- lpdwMessageMask
- [in] DirectPlay Voice 가 사용자의 콜백 함수에 송신하는 메시지 식별자를 보관 유지하는 DWORD 값의 배열. 메시지 식별자를 이 배열로 지정하지 않는 경우, 메시지는 송신되지 않는다. 각각의 메시지 식별자는 한 번만 배열에 나타나도록(듯이) 하는 것. 또, 유효한 메시지 식별자만이 허가된다. 예를 들어,DVMSGID_CONNECTRESULT 는 서버의 인터페이스에는 무효이지만, 클라이언트의 인터페이스에 대해서는 유효하다. 모든 메시지를 유효하게 하려면 , 이 값에 NULL 를 지정한다.
- dwMessageMaskElements
- [in] lpdwMessageMask 파라미터의 요소수를 지정하는 DWORD 값. lpdwMessageMask 가 NULL 인 경우, 0 으로 설정해 둔다.
반환값
성공했을 경우는 DV_OK 를 돌려준다. 또는, 다음의 몇개의 에러값을 돌려준다.
DVERR_ALREADYINITIALIZED 개체는 이미 초기화되고 있다. DVERR_GENERIC 정의되지 않은 에러 조건이 발생했다. DVERR_INVALIDPARAM 메서드에 건네진 1 개 이상의 파라미터가 무효이다. DVERR_INVALIDPOINTER 지정된 포인터가 무효이다. DVERR_NOCALLBACK 콜백 함수가 지정되지 않기 때문에, 이 처리는 실행할 수 없다. DVERR_TRANSPORTNOTINIT 지정된 트랜스포트는 아직 초기화되지 않다.
주의
IDirectPlayVoiceServer::SetNotifyMask 를 호출해, 음성 세션의 진행중에 통지 마스크를 변경할 수 있다.