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

IDirectPlay8Server::GetGroupInfo 메서드


그룹명 등, 그룹에 관련지을 수 있는 데이터 블록을 얻어온다.

보통, 그룹 데이터가 변경된 것을 나타내는 DPN_MSGID_GROUP_INFO 시스템 메시지를 수신한 후, 이 메서드를 호출한다.

구문

HRESULT GetGroupInfo(      

    const DPNID dpnid,     DPN_GROUP_INFO *const pdpnGroupInfo,     DWORD *const pdwSize,     const DWORD dwFlags );

파라미터

dpnid
[in] 데이터 블록을 얻어온다 그룹의 식별자를 지정하는 DPNID 형의 변수.
pdpnGroupInfo
[out] 그룹 데이터를 기술하는 DPN_GROUP_INFO 구조체의 포인터. pdwSize 가 NULL 로 설정되지 않은 경우,pdpnGroupInfo. dwSize 를 DPN_GROUP_INFO 구조체의 사이즈를 설정할 필요가 있다.
pdwSize
[in, out] 데이터의 사이즈를 pdpnGroupInfo 파라미터에 돌려주는 DWORD 형의 변수의 포인터. 버퍼가 너무 작은 경우, 이 메서드는 DPNERR_BUFFERTOOSMALL 를 돌려준다. 이 파라미터에는, 필요한 사이즈가 설정된다.
dwFlags
[in] 그룹에 관해서 돌려받는 정보를 기술하는 플래그. 현재, 다음의 플래그의 양쪽 모두가 반환된다.
DPNINFO_NAME
DPN_PLAYER_INFO 구조체는 클라이언트의 이름 세트를 보관 유지한다.
DPNINFO_DATA
DPN_PLAYER_INFO 구조체는 클라이언트의 데이터 세트를 보관 유지한다.

반환값

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

DPNERR_BUFFERTOOSMALL지정된 버퍼가 너무 작아, 요구된 데이터를 저장 할 수 없다.
DPNERR_INVALIDFLAGS이 메서드에 건네진 플래그는 무효이다.
DPNERR_INVALIDGROUP그룹 ID 가, 이 게임 세션에 대한 유효한 그룹 ID 로서 인식되지 않다.


주의

Microsoft® DirectPlay® 는 DPN_GROUP_INFO 구조체와 연속하는 버퍼에 있는, 이 구조체의 pwszName 멤버와 pvData 멤버에 할당된 포인터를 돌려준다. 이 2 개의 포인터가 설정되는 경우, 구조체에 가세해 2 개의 포인터에도 충분한 메모리를 할당해 둘 필요가 있다. 이 메서드를 사용하는 가장 확실한 방법은, 처음은 pdwSize 를 NULL 로 설정해 이 메서드를 호출하는 것이다. 메서드가 돌아오면pdwSize 가 올바른 값을 포인트 하고 있다. 그 값을 사용해 구조체에 메모리를 할당해 한번 더 메서드를 호출해 정보를 얻어온다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP