DirectPlay DirectPlay C/C++ 레퍼런스 콜백 함수 PFNDPNMESSAGEHANDLER   [목차열람] [주소복사] [슬롯비우기]
PFNDPNMESSAGEHANDLER prototype
 
Microsoft DirectX 9.0

PFNDPNMESSAGEHANDLER prototype


PFNDPNMESSAGEHANDLER 는, 애플리케이션 정의의 콜백 함수로,IDirectPlay8Peer ,IDirectPlay8Client ,IDirectPlay8Server ,IDirectPlay8LobbyClient ,IDirectPlay8LobbiedApplication 의 각 인터페이스가 메시지를 처리할 경우에 사용한다.

구문

typedef HRESULT (CALLBACK *PFNDPNMESSAGEHANDLER)(      

    PVOID pvUserContext,     DWORD dwMessageType,     PVOID pMessage );

파라미터

pvUserContext
이 콜백 함수에 건네지는 애플리케이션 정의 구조체의 포인터. Initialize 메서드의 pvUserContext 파라미터에 정의한다.
dwMessageType
다음의 DPN_ 메시지 타입의 어느쪽이든 1 개가며,IDirectPlay8Peer,IDirectPlay8Client,IDirectPlay8Server 의 각 인터페이스에 의해 생성된다. 각 인터페이스는, 유효한 DPN_ 메시지 가운데, 각각 다른 서브 세트를 사용한다. 더 자세한 정보는, 인터페이스의 문서를 참조할것. 또, Microsoft® DirectPlay® 의 로비 기능이 애플리케이션으로 지원 되고 있는 경우,IDirectPlay8LobbyClient 인터페이스 및 IDirectPlay8LobbiedApplication 인터페이스로 생성되는 다음의 DPL_ 메시지 타입의 어느쪽이든을 이 파라미터로 지정할 수 있다. 각 인터페이스는, 유효한 DPL_ 메시지 가운데, 각각 다른 서브 세트를 사용한다. 더 자세한 정보는, 인터페이스의 문서를 참조할것.
DPN_MSGID_ADD_PLAYER_TO_GROUP
DPN_MSGID_ASYNC_OP_COMPLETE
DPN_MSGID_CLIENT_INFO
DPN_MSGID_CONNECT_COMPLETE
DPN_MSGID_CREATE_GROUP
DPN_MSGID_CREATE_PLAYER
DPN_MSGID_DESTROY_GROUP
DPN_MSGID_DESTROY_PLAYER
DPN_MSGID_ENUM_HOSTS_QUERY
DPN_MSGID_ENUM_HOSTS_RESPONSE
DPN_MSGID_GROUP_INFO
DPN_MSGID_HOST_MIGRATE
DPN_MSGID_INDICATE_CONNECT
DPN_MSGID_INDICATED_CONNECT_ABORTED
DPN_MSGID_PEER_INFO
DPN_MSGID_RECEIVE
DPN_MSGID_REMOVE_PLAYER_FROM_GROUP
DPN_MSGID_RETURN_BUFFER
DPN_MSGID_SEND_COMPLETE
DPN_MSGID_SERVER_INFO
DPN_MSGID_TERMINATE_SESSION
DPL_MSGID_CONNECT
DPL_MSGID_CONNECTION_SETTINGS
DPL_MSGID_DISCONNECT
DPL_MSGID_RECEIVE
DPL_MSGID_SESSION_STATUS
pMessage
메시지 정보를 저장 하는 구조체.

반환값

적절한 반환값에 대해서는, 각 메시지의 문서를 참조할것. 문서에 기술이 없는 경우, 이 함수는 S_OK 를 돌려준다.



주의

이 함수는, 복수의 thread로부터 재입 가능한 형식에서 불려 갈 가능성이 있기 (위해)때문에, thread 세이프가 아니면 안된다.

같은 player로부터의 콜백 메시지는, 차례로 늘어놓을 수 있다. player로부터 메시지를 받아들이면 그 메시지를 처리해, 콜백 함수가 되돌려질 때까지 다른 메시지를 받아들일 것은 없다.

메시지 구조체의 이름은 메시지 타입명과 같지만,"DPN_MSGID" 는 "DPNMSG" 가 된다. 예를 들어,DPN_MSGID_TERMINATE_SESSION 메시지 타입은,DPNMSG_CONNECTION_TERMINATED 메시지 구조체를 사용해, 실제의 메시지 정보를 보관 유지한다.

이 콜백 함수를 처리 하는 경우는, 최초로 dwMessageType 파라미터로 돌려받는 메시지 타입을 조사해 다음에 메시지 구조체 (pMessage)를 그 타입으로 설정해 메시지 정보를 얻어온다. 메시지안에는, 파라미터가 없기 때문에, 정의된 구조체를 가지지 않는 것도 있다. 이러한 메시지의 경우,pMessage 파라미터는 NULL 로 한다.

prototype 정보

헤더dplay8.h
임포트 라이브러리없음
최저한의 operating system Windows 98, Pocket PC 2002


© 2002 Microsoft Corporation. All rights reserved.
↑TOP