WSGetMessageHandler (C 函数)

WSMessageHandlerObject WSGetMessageHandler(WSLINK link)

返回一个为 WSLINK 对象 link 安装的消息处理函数.

更多信息

  • 当 WSTP 从连接的另一端收到一个紧急消息,将调用紧急消息处理函数.
  • link 没有一个已安装的消息处理函数,那么 WSGetMessageHandler() 返回 (WSMessageHandlerObject)0.
  • WSMessageHandlerObject 是形式为 void f(WSLINK link,int m1,int m2) 的函数的一个指针.
  • WSTP 的标头文件 wstp.h 已对 WSGetMessageHandler() 作出声明.

范例

基本范例  (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 */ }
    }
}