DirectPlay DirectPlay C/C++ 레퍼런스 인터페이스 IDirectPlay8Client Initialize   [목차열람] [주소복사] [슬롯비우기]
IDirectPlay8Client::Initialize 메서드
 
Microsoft DirectX 9.0

IDirectPlay8Client::Initialize 메서드


IDirectPlay8Client 인터페이스 및 서버로부터 메시지를 수신하는, 클라이언트의 코드내의 엔트리 포인트를 등록한다. 이 메서드를 호출하고 나서, 이 인터페이스의 그 외의 메서드를 호출할 필요가 있다.

구문

HRESULT Initialize(      

    PVOID const pvUserContext,     const PFNDPNMESSAGEHANDLER pfn,     const DWORD dwFlags );

파라미터

pvUserContext
[in] 메시지 핸들러의 호출로 지정되는, 사용자 지정의 문맥값. 사용자 문맥값을 지정 하면, 복수의 인터페이스로부터 공통의 메시지 핸들러에 송신된 메시지를 구별할 수 있다.
pfn
[in] PFNDPNMESSAGEHANDLER 콜백 함수의 포인터. 이 함수는, 서버로부터의 모든 메시지를 수신해,IDirectPlay8Client 인터페이스로부터의 세션의 변경 통지를 수신한다.
dwFlags
[in] 다음의 플래그를 지정할 수 있다.
DPNINITIALIZE_DISABLEPARAMVAL
현재의 개체에 대한 파라미터의 유효 확인을 무효로 한다.
DPNINITIALIZE_HINT_LANSESSION
근거리 통신망 (LAN)에서 실행되고 있는 게임용으로 한층 더 큰 송신 윈도우를 연다.
DPNINITIALIZE_DISABLELINKTUNING
조사 대상의 네트워크 조건에 대한 송신 속도를 MicrosoftR DirectPlay® 를 조정할 수 없게 한다. 최초로 가능하게 되었을 때에, 메시지가 네트워크에 푸쉬 된다.

반환값

성공했을 경우는 S_OK 를 돌려주어, 실패했을 경우는 다음의 몇개의 에러값을 돌려준다.

DPNERR_INVALIDFLAGS이 메서드에 건네진 플래그는 무효이다.
DPNERR_INVALIDPARAM메서드에 건네진 1 개 이상의 인수가 무효이다.


주의

CoCreateInstance 를 사용해 IDirectPlay8Client 인터페이스를 취득한 후, 우선 이 메서드를 호출한다.

모든 player가 같은 LAN 상에 있는 세션에는 DPNINITIALIZE_HINT_LANSESSION 플래그를 지정한다.

네트워크 조건에 의해 송신 속도를 바꾸는 것이 아니라, 고정의 속도로 송신하는 경우, 애플리케이션은 DPNINITIALIZE_DISABLELINKTUNING 플래그를 지정할 수 있다. 이 플래그를 지정 하면, DirectPlay 는, 항상, 모든 애플리케이션 데이터를 전송하기 위한 용량이 네트워크에 있다고 봐, 네트워크 대역폭에 응한 송신 속도의 조정을 실시하지 않는다. 이 플래그를 지정해, 네트워크 용량을 넘는 속도로 송신 하면, 지연이나 패킷 드롭 레이트의 증대등이 예기치 않은 네트워크 동작이 발생한다. 송신 큐를 감시해, 이용 가능한 대역폭을 유효 이용할 수 있도록(듯이) 동적으로 송신 속도를 조정하는 애플리케이션에서는, 이 플래그를 지정해서는 안 된다.

DPNINITIALIZE_DISABLELINKTUNING 플래그가 지정되고 있는 경우, 메시지는 항상, 큐에 넣어지는 일 없이 네트워크에 직접 송신되므로, 메시지의 우선 순위 붙여 결합, 타임 아웃등의 DirectPlay 의 기능은 유효하지 않다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP