WSGetMessage (C 函数)

int WSGetMessage(WSLINK link,int* code,int*param)

从与 link 相关的紧急消息通道读取一个带外消息代码,并把代码存在 code,任何参数存在 param 中.

更多信息

  • WSGetMessage() 返回一个非零值0如果读取一个带外(out-of-band)消息,否则为零.
  • WSGetMessage() 不是一个块函数(nonblocking function).
  • WSGetMessage() 返回以下消息:
  • WSTerminateMessage关闭当前程序
    WSInterruptMessage中断当前操作
    WSAbortMessage放弃当前操作
    WSEndPacketMessage过时的消息
    WSSynchronizeMessage同步链接两端的内部表达式流
    WSImDyingMessage关闭链接的另一端
    WSWaitingAcknowledgement需要链接另一端的响应
    WSMarkTopLevelMessageWSTP 程序库的内部消息
    WSLinkClosingMessageWSTP 程序库的内部消息
    WSAuthenticationFailure验证消息失败
    WSFirstUserMessage用户定义的消息空间的开始
    WSLastUserMessage用户定义的消息空间的结尾
  • WSFirstUserMessage 应被用于任何用户定义的消息的开始值. 一个新的消息应被定义为 #define MyAppMessage WSFirstUserMessage + 1.
  • 用户定义的消息不应具有大于 WSLastUserMessage 的值.
  • 标准 WSTP 消息没有任何参数.
  • WSTP 的标头文件 wstp.h 已对 WSGetMessage() 作出声明.

范例

基本范例  (1)

#include "wstp.h"

/* read an out-of-band message code from a link */

void f(WSLINK lp)
{
    int code, param;

    if(WSMessageReady(lp))
    {
        if(! WSGetMessage(lp, &code, &param))
            { /* unable to read the message code from lp */ }
    }
}