WSGetMessageHandler (C 関数)
WSMessageHandlerObject WSGetMessageHandler(WSLINK link)
WSLINKオブジェクトlink のためにインストールされたメッセージハンドラ(処理)関数を返す.
詳細
- WSTPが接続の向こう側から緊急のメッセージを受けると,緊急メッセージハンドラ関数が呼び出される.
- WSGetMessageHandler()は,link にメッセージハンドラ関数がインストールされていない場合に(WSMessageHandlerObject)0を返す.
- WSMessageHandlerObjectは,void f(WSLINK link,int m1,int m2)の形式の関数へのポインタである.
- WSGetMessageHandler()は,WSTPヘッダファイルwstp.hの中で宣言される.
例題
例 (1)
#include "wstp.h"
/* a function to read WSTP urgent messages */
void AppMessageHandler(WSLINK link, int m1, int m2)
{
/* ... */
}
/* check that a link uses AppMessageHandler for urgent messages */
void check_the_message_handler(WSLINK link)
{
WSMessageHandlerObject handler;
handler = WSGetMessageHandler(link);
if(handler != (WSMessageHandlerObject)AppMessageHandler)
{
if(! WSSetMessageHandler(link, (WSMessageHandlerObject)AppMessageHandler))
{ /* unable to set AppMessageHandler as the handler for
link */ }
}
}