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

IDirectPlay8Server::Host 메서드


로컬 컴퓨터에 의해 호스트 되는, 새로운 클라이언트/서버 세션을 생성 한다.

구문

HRESULT Host(      

    const DPN_APPLICATION_DESC *const pdnAppDesc,     IDirectPlay8Address **const prgpDeviceInfo,     const DWORD cDeviceInfo,     const DPN_SECURITY_DESC *const pdpSecurity,     const DPN_SECURITY_CREDENTIALS *const pdpCredentials,     VOID *const pvPlayerContext,     const DWORD dwFlags );

파라미터

pdnAppDesc
[in] 애플리케이션을 기술하는 DPN_APPLICATION_DESC 구조체의 포인터.
prgpDeviceInfo
[in] 애플리케이션의 호스트가 되기 위해서(때문에) 사용하는 장치 주소를 보관 유지하는 IDirectPlay8Address 개체의 배열의 포인터.
cDeviceInfo
[in] prgpDeviceInfo 가 가리키는 배열의 장치 주소 개체의 수를 지정하는 DWORD 형의 변수.
pdpSecurity
[in] 예약이 끝난 상태. NULL 로 설정하는 것.
pdpCredentials
[in] 예약이 끝난 상태. NULL 로 설정하는 것.
pvPlayerContext
[in] player의 문맥값의 포인터. 이 값은, 로컬 컴퓨터가 DPN_MSGID_CREATE_PLAYER 메시지를 처리할 경우에 사전으로 설정된다. 이 파라미터는 옵션이며, NULL 로 설정할 수 있다.
dwFlags
[in] 다음의 플래그를 지정할 수 있다.
DPNHOST_OKTOQUERYFORADDRESSING
이 플래그를 설정 하면, Microsoft® DirectPlay® 의 표준의 다이알로그 박스가 표시된다. 충분한 정보가 이 메서드에 건네지지 않은 경우는, 상세한 것에 대하여 사용자에 문의한다.

반환값

성공했을 경우는, S_OK 를 돌려준다. 그 이외의 경우는, 다음의 몇개의 에러값을 돌려준다.

DPNERR_DATATOOLARGE애플리케이션 데이터가, 서비스 프로바이더의 MTU (Maximum Transmission Unit)에 대해서 너무 크다.
DPNERR_INVALIDPARAM메서드에 건네진 1 개 혹은 복수의 파라미터가 무효이다.
DPNERR_DPNSVRNOTAVAILABLE포트 6073 은 이미 사용되고 있다.


주의

IDirectPlay8Server::Host 를 호출할 때DPN_APPLICATION_DESC 구조체의 guidInstance 멤버를 설정하지 않는 것. DirectPlay 는 건네받는 값을 무시해, 독자적인 글로벌 일의 식별자 (GUID)를 결정하기 때문에 있다. guidInstance 을 얻어오려면,IDirectPlay8Server::GetApplicationDesc 를 호출하는 방법 밖에 없다.

dwFlags 에 DPNHOST_OKTOQUERYFORADDRESSING 플래그를 설정했을 경우, 서비스 프로바이더는, 다이알로그 박스를 표시해, 사용자에 주소 정보의 입력을 요구하려고 한다. 서비스 프로바이더가 다이알로그 박스의 표시를 시도할 때는, 표시 가능한 윈도우가 존재하고 있을 필요가 있다. 윈도우가 없는 경우, 애플리케이션은 잠근다.

데이터값의 개요」에서는, 각 서비스 프로바이더에 필요한 주소 정보를 지정하고 있다.

DPN_APPLICATION_DESC 구조체의 pvApplicationReservedData 멤버에 할당하는 애플리케이션 데이터의 최대 사이즈는, 서비스 프로바이더의 MTU (Maximum Transmission Unit)에 의해 제한된다. 애플리케이션 데이터가 너무 큰 경우, 메서드는 실패해, DPNERR_DATATOOLARGE 를 돌려준다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP