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 */ }
    }
}