DirectPlay DirectPlay C/C++ 레퍼런스 인터페이스 IDirectPlay8LobbiedApplication Initialize [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
로비 클라이언트 상태의 변경에 관한 통지 및 로비 클라이언트로부터의 메시지를 받아들이는 메시지 핸들러 함수를 등록한다.
구문
HRESULT Initialize(
const PVOID pvUserContext, const PFNDPNMESSAGEHANDLER pfn, DPNHANDLE *const pdpnhConnection, const DWORD dwFlags );
파라미터
- pvUserContext
- [in] 메시지 핸들러의 호출로 지정되는, 사용자 지정의 문맥값. 사용자 지정의 문맥값은, 복수의 인터페이스로부터 공통의 메시지 핸들러에 송신된 메시지를 구별하는데 도움이 된다.
- pfn
- [in] IDirectPlay8LobbyClient 인터페이스로부터 모든 메시지, 및 IDirectPlay8LobbiedApplication 인터페이스로부터 세션 변경의 통지를 얻어온다 PFNDPNMESSAGEHANDLER 콜백 함수의 포인터.
- pdpnhConnection
- [out] 애플리케이션이 로비에서 기동했는지 어떠했는지를 검출하기 위해서 사용하는 값. 애플리케이션이 로비에서 기동하고 있는 경우, 이 파라미터에는 로비 클라이언트에의 접속 핸들이 설정된다. 프로세스가 로비에서 기동하고 있지 않는 경우, 이 파라미터는 NULL 로 설정된다.
- dwFlags
- [in] 다음의 플래그를 지정할 수 있다.
- DPLINITIALIZE_DISABLEPARAMVAL
- 파라미터 타당성의 검증을 무효로 한다.
반환값
성공했을 경우는 S_OK 를 돌려주어, 실패했을 경우는 다음의 몇개의 에러값을 돌려준다.
DPNERR_ALREADYINITIALIZED 개체는 이미 초기화되고 있다. DPNERR_INVALIDFLAGS 이 메서드에 건네진 플래그는 무효이다. DPNERR_INVALIDPARAM 메서드에 건네진 1 개 이상의 파라미터가 무효이다. DPNERR_NOTALLOWED 이 기능은, 이 개체에서는 허가되지 않다.
주의
IDirectPlay8LobbiedApplication 인터페이스를 얻어오려면,CoCreateInstance 를 사용한 후에 이 메서드를 호출한다.
로비에서 기동했을 경우, 이 메서드는 로비 클라이언트와의 접속을 자동적으로 확립한다. IDirectPlay8LobbiedApplication::Initialize 를 호출해, 로비에서 기동하고 있는데, 로비 애플리케이션 인터페이스가 로비 클라이언트 프로세스와 통신할 수 없는 경우,IDirectPlay8LobbiedApplication::Initialize 는 4 초 후에 타임 아웃 한다. 이 경우,IDirectPlay8LobbiedApplication::Initialize 는 DPNERR_TIMEDOUT 를 돌려주지만, 성공이다.
주 각 프로세스에는 IDirectPlay8LobbyClient 및 IDirectPlay8LobbiedApplication 의 1 개의 인스턴스만 실행할 수 있다.