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

IDirectPlay8Server::GetLocalHostAddress 메서드


세션의 호스트가 되기 위해서(때문에) 사용되는 로컬 주소를 얻어온다.

구문

HRESULT GetLocalHostAddresses(      

    IDirectPlay8Address **const prgpAddress,     DWORD *const pcAddress,     const DWORD dwFlags );

파라미터

prgpAddress
[out] 로컬 호스트 주소를 지정하는 IDirectPlay8Address 개체의 배열의 포인터 주소. 이러한 개체는 불필요하게 되면 릴리즈 해야 한다. 릴리즈 하지 않았던 경우, 메모리 누수가 발생한다.
pcAddress
[in, out] prgpAddress 가 포인트 하는 배열 로 유지할 수 있는 주소 개체의 최대수. 버퍼가 너무 작은 경우, 메서드는 DPNERR_BUFFERTOOSMALL 를 돌려주어,pcAddress 가 필요한 값으로 설정된다.
dwFlags
[in] 전송 제어 프로토콜/인터넷 프로토콜 (TCP/IP) 서비스 프로바이더를 사용할 때, 다음의 플래그를 지정할 수 있다. 이 플래그를 다른 서비스 프로바이더와 함께 사용했을 경우, 이 메서드는 DPNERR_UNSUPPORTED 를 돌려준다.
DPNGETLOCALHOSTADDRESSES_COMBINED
모든 청취 주소를 1 개의 IDirectPlay8Address 개체에 결합해 돌려준다.

반환값

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

DPNERR_INVALIDOBJECTMicrosoft® DirectPlay® 개체의 포인터는 무효이다.
DPNERR_BUFFERTOOSMALL지정된 버퍼가 너무 작아, 요구된 데이터를 저장 할 수 없다.
DPNERR_INVALIDPARAM메서드에 건네진 1 개 혹은 복수의 파라미터가 무효이다.
DPNERR_INVALIDPOINTER파라미터로서 지정된 포인터가 무효이다.
DPNERR_UNINITIALIZED요구된 개체가 초기화되지 않다.
DPNERR_UNSUPPORTED함수 또는 기능을, 이 처리이나 이 서비스 프로바이더로 사용할 수 없다.


주의

이 메서드를 사용하는 가장 확실한 방법은, 처음은 pcAddress 를 0 으로 설정해 이 메서드를 호출하는 것이다. 메서드가 돌아오면pcAddress 가 필요한 값을 포인트 한다. 2 번째에 이 메서드를 호출할 때는, 그 값을 사용해 정보를 얻어온다.

DPNGETLOCALHOSTADDRESSES_COMBINED 를 지정 하면, 모든 청취 서버 주소를 저장 한 주소 개체가 반환된다. 예를 들어, 서버는, 네트워크 어드레스 변환 (NAT) 장치의 배후에 있을까 복수의 네트워크 카드를 탑재하는 경우에, 복수의 주소를 가지는 일이 있다. 이 경우, player가 모든 주소를 동시에 시행할 수 있으면, 서버에 접속하는 시간은 단축할 수 있다. 애플리케이션은 결합된 주소 개체를 접속하는 player에 건네주는 독자적인 기구를 제공해야 한다. 1 개의 방법은,IDirectPlay8Address::GetURLA 또는 IDirectPlay8Address::GetURLW , 및 IDirectPlay8Address::BuildFromURLA 또는 IDirectPlay8Address::BuildFromURLW 를 사용해, Web 페이지나 로비 기구를 이용해 건네주는 캐릭터 라인을 생성 하는 것이다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP