PFNDPNMESSAGEHANDLER プロトタイプ
PFNDPNMESSAGEHANDLER プロトタイプ
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 を返す。
注意
この関数は、複数のスレッドから再入可能な形式で呼び出される可能性があるため、スレッドセーフでなければならない。
同じプレーヤからのコールバック メッセージは、順番に並べられる。プレーヤからメッセージを受け取ると、そのメッセージを処理し、コールバック関数が戻されるまで別のメッセージを受け取ることはない。
メッセージ構造体の名前はメッセージ タイプ名と同じだが、"DPN_MSGID" は "DPNMSG" になる。たとえば、DPN_MSGID_TERMINATE_SESSION メッセージ タイプは、DPNMSG_CONNECTION_TERMINATED メッセージ構造体を使って、実際のメッセージ情報を保持する。
このコールバック関数を実装する場合は、最初に dwMessageType パラメータで返されるメッセージ タイプを調べ、次にメッセージ構造体 (pMessage) をそのタイプに設定してメッセージ情報を取得する。メッセージの中には、パラメータがないため、定義された構造体を持たないものもある。このようなメッセージの場合、pMessage パラメータは NULL にする。
プロトタイプ情報
ヘッダー | dplay8.h |
インポート ライブラリ | なし |
最低限のオペレーティング システム | Windows 98、Pocket PC 2002 |