MLGetMessageHandler (C 函数)

MLGetMessageHandler 已经被 WSGetMessageHandler 所取代.

MLMessageHandlerObject MLGetMessageHandler(MLINK link)

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

更多信息

  • 当 MathLink 从连接的另一端收到一个紧急消息,将调用紧急消息处理函数.
  • 如果 link 没有一个已安装的消息处理函数,那么 MLGetMessageHandler() 返回 (MLMessageHandlerObject)0.
  • MLMessageHandlerObject 是形式为 void f(MLINK link,int m1,int m2) 的函数的一个指针.
  • MLGetMessageHandler() 在 MathLink 的标头文件 mathlink.h 中被声明.

范例

基本范例  (1)

#include "mathlink.h"

/* a function to read MathLink urgent messages */

void AppMessageHandler(MLINK link, int m1, int m2)
{
    /* ... */
}


/* check that a link uses AppMessageHandler for urgent messages */

void check_the_message_handler(MLINK link)
{
    MLMessageHandlerObject handler;

    handler = MLGetMessageHandler(link);
    if(handler != (MLMessageHandlerObject)AppMessageHandler)
    {
        if(! MLSetMessageHandler(link, (MLMessageHandlerObject)AppMessageHandler))
            { /* unable to set AppMessageHandler as the handler for
             link */ }
    }
}