MLGetMessage (C 函数)
MLGetMessage 已经被 WSGetMessage 所取代.
int MLGetMessage(MLINK link,int* code,int*param)
从与 link 相关的紧急消息通道读取一个带外消息代码,并把代码存在 code,任何参数存在 param 中.
更多信息

- MLGetMessage() 返回一个非零值0如果读取一个带外(out-of-band)消息,否则为零.
- MLGetMessage() 不是一个块函数(nonblocking function).
- MLGetMessage() 返回以下消息:
-
WLTerminateMessage 关闭当前程序 WLInterruptMessage 中断当前操作 WLAbortMessage 放弃当前操作 WLEndPacketMessage 过时的消息 WLSynchronizeMessage 同步链接两端的内部表达式流 WLImDyingMessage 关闭链接的另一端 WLWaitingAcknowledgement 需要链接另一端的响应 WLMarkTopLevelMessage MathLink 程序库的内部消息 WLLinkClosingMessage MathLink 程序库的内部消息 WLAuthenticationFailure 验证消息失败 WLFirstUserMessage 用户定义的消息空间的开始 WLLastUserMessage 用户定义的消息空间的结尾 - WLFirstUserMessage 应被用于任何用户定义的消息的开始值. 一个新的消息应被定义为 #define MyAppMessage MLFirstUserMessage + 1.
- 用户定义的消息不应具有大于 WLLastUserMessage 的值.
- 标准 MathLink 消息没有任何参数.
- MLGetMessage() 在 MathLink 的标头文件 mathlink.h 中被声明.
范例
基本范例 (1)
#include "mathlink.h"
/* read an out-of-band message code from a link */
void f(MLINK lp)
{
int code, param;
if(MLMessageReady(lp))
{
if(! MLGetMessage(lp, &code, ¶m))
{ /* unable to read the message code from lp */ }
}
}