DirectPlay DirectPlay C/C++ 레퍼런스 인터페이스 IDirectPlay8Client GetApplicationDesc [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
접속된 애플리케이션에 관한 애플리케이션의 기술 전체를 얻어온다.
구문
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 으로 설정한다.