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

IDirectPlay8Peer::GetApplicationDesc 메서드


접속된 애플리케이션에 관한 애플리케이션의 기술 전체를 얻어온다.

구문

HRESULT GetApplicationDesc(      

    DPN_APPLICATION_DESC *const pAppDescBuffer,     DWORD *const pcbDataSize,     const DWORD dwFlags );

파라미터

pAppDescBuffer
[out] 애플리케이션의 기술 데이터가 써넣어지는 DPN_APPLICATION_DESC 구조체의 포인터. 데이터의 사이즈만을 요구 할 때는, 이 파라미터에 NULL 를 설정한다. pAppDescBuffer 가 NULL 로 설정되지 않은 경우,pAppDescBuffer. dwSize 멤버에 적절한 값을 설정할 필요가 있다. pcbDataSize 파라미터는, 데이터의 보관 유지에 필요한 사이즈로 설정된다.
pcbDataSize
[in, out] 이 메서드를 호출하기 전에, 버퍼의 사이즈에 초기화된 DWORD 형의 변수의 포인터. 메서드가 돌아오면 이 파라미터에는 세션 데이터의 사이즈가 바이트 단위로 설정되어 있다. 버퍼가 너무 작은 경우, 이 메서드는 에러값 DPNERR_BUFFERTOOSMALL 를 돌려준다. 이 파라미터에는, 필요한 버퍼 사이즈가 설정된다. 이 파라미터가 NULL 의 경우, 메서드는 DPNERR_INVALIDPARAM 를 돌려준다.
dwFlags
[in] 예약이 끝난 상태. 0 이 아니면 안된다.

반환값

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

DPNERR_BUFFERTOOSMALL지정된 버퍼가 너무 작아, 요구된 데이터를 저장 할 수 없다.
DPNERR_INVALIDFLAGS이 메서드에 건네진 플래그는 무효이다.
DPNERR_INVALIDPARAM메서드에 건네진 1 개 이상의 파라미터가 무효이다.
DPNERR_NOCONNECTION통신 링크가 확립되지 않았다.


주의

pAppDescBuffer 파라미터에 NULL 를 건네주어 최초로 이 메서드를 호출해, 필요한 버퍼 사이즈를 얻어온다. 2 번째에 이 메서드를 호출해 버퍼에 데이터를 저장 할 때는, 구조체의 dwSize 멤버를 적절한 값으로 설정한다.

돌려주어진 DPN_APPLICATION_DESC 구조체에는,guidInstance,guidApplication, 및 pwszSessionName 의 각 멤버가 설정되어 있다. 이 안에는, 세션에 접속되고 있는 다른 클라이언트에 관한 정보는 포함되지 않았다. 이러한 정보는, 서버 애플리케이션만을 취득할 수 있다. 특히,dwCurrentPlayers 멤버는 반드시 0 으로 설정한다.

애플리케이션의 기술을 틀려 덧쓰기하지 않기 때문에, 애플리케이션은 IDirectPlay8Peer::GetApplicationDesc 를 호출해 DPN_APPLICATION_DESC 구조체의 내용을 설정한 후,IDirectPlay8Peer::SetApplicationDesc 를 호출하는 것.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP