MQCBC-回调上下文

MQCBC 结构用于指定传递给回调函数的上下文信息。 该结构是对消息使用者例程的调用上的输入/输出参数。

可用性

MQCBC 结构在以下平台上可用:
  • [AIX]AIX®
  • [HP-UX]HP-UX
  • [IBM i]IBM® i
  • [Linux]Linux®
  • [Solaris]Solaris
  • [Windows]Windows
  • [z/OS]z/OS®
以及用于连接到这些系统的 IBM MQ MQI clients

版本

MQCBC 的当前版本为 MQCBC_VERSION_2。

字符集和编码

MQCBC 中的数据必须在由 MQENC_NATIVE 提供的本地队列管理器的 CodedCharSetId 队列管理器属性和编码提供的字符集中。 但是,如果应用程序作为 MQ MQI 客户机运行,那么结构将采用客户机的字符集和编码。

字段

备注信息:
  • 在下表中,字段按用法 (而不是按字母顺序) 进行分组。 子主题遵循相同的顺序。
  • MQCBC 结构没有初始值。 该结构作为参数传递到回调例程。 队列管理器初始化结构; 应用程序从不初始化该结构。
表 1. MQCBC 中的字段
字段 描述
StrucID 结构标识
版本 结构版本号
CallType 为何调用函数
Hobj 对象句柄
CallbackArea 要使用的回调函数的字段
ConnectionArea 要使用的回调函数的字段
CompCode 完成代码
原因 原因码
状态 指示当前使用者的状态
DataLength 消息长度
BufferLength 消息缓冲区的长度 (以字节计)
标志 常规标志
注: 如果版本小于 MQCBC_VERSION_2 ,那么将忽略其余字段
ReconnectDelay 重新连接尝试之前的毫秒数

语言声明

MQCBC 的 C 声明

typedef struct tagMQCBC MQCBC;
struct tagMQCBC {
   MQCHAR4   StrucId;                 /* Structure identifier */
   MQLONG    Version;                 /* Structure version number */
   MQLONG    CallType;                /* Why Function was called */
   MQHOBJ    Hobj;                    /* Object Handle */
   MQPTR     CallbackArea;            /* Callback data passed to the function */
   MQPTR     ConnectionArea;          /* MQCTL data area passed to the function */
   MQLONG    CompCode;                /* Completion Code */
   MQLONG    Reason;                  /* Reason Code */
   MQLONG    State;                   /* Consumer State */
   MQLONG    DataLength;              /* Message Data Length */
   MQLONG    BufferLength;            /* Buffer Length */
   MQLONG    Flags;                   /* Flags containing information about
                                         this consumer */
  /* Ver:1 */
   MQLONG    ReconnectDelay;          /* Number of milliseconds before */
  /* Ver:2 */  };                     /* reconnect attempt */

MQCBC 的 COBOL 声明

** MQCBC structure
 10  MQCBC.
** Structure Identifier 
 15  MQCBC-STRUCID                      PIC X(4).
** Structure Version
 15  MQCBC-VERSION                      PIC S9(9) BINARY.
 ** Call Type
 15  MQCBC-CALLTYPE                     PIC S9(9) BINARY.
** Object Handle
 15  MQCBC-HOBJ                         PIC S9(9) BINARY.
** Callback User Area
 15  MQCBC-CALLBACKAREA                 POINTER
** Connection Area    
 15  MQCBC-CONNECTIONAREA               POINTER
** Completion Code
 15  MQCBC-COMPCODE                     PIC S9(9) BINARY.
** Reason Code 
 15  MQCBC-REASON                       PIC S9(9) BINARY.
** Consumer State     
 15  MQCBC-STATE                        PIC S9(9) BINARY.
** Data Length
 15  MQCBC-DATALENGTH                   PIC S9(9) BINARY.
** Buffer Length
 15  MQCBC-BUFFERLENGTH                 PIC S9(9) BINARY.
** Flags
 15  MQCBC-FLAGS                        PIC S9(9) BINARY.
** Ver:1 **
** Number of milliseconds before reconnect attempt
 15  MQCBC-RECONNECTDELAY PIC S9(9) BINARY.
** Ver:2 **

MQCBC 的 PL/I 声明

dcl
 1 MQCBC based,
  3 StrucId             char(4),       /* Structure identifier */
  3 Version             fixed bin(31), /* Structure version */
  3 CallType            fixed bin(31), /* Callback type */
  3 Hobj                fixed bin(31), /* Object Handle */
  3 CallbackArea        pointer,       /* User area passed to the function */
  3 ConnectionArea      pointer,       /* Connection User Area */
  3 CompCode            fixed bin(31); /* Completion Code */
  3 Reason              fixed bin(31); /* Reason Code */
  3 State               fixed bin(31); /* Consumer State */
  3 DataLength          fixed bin(31); /* Message Data Length */
  3 BufferLength        fixed bin(31); /* Message Buffer length */
  3 Flags               fixed bin(31); /* Consumer Flags */
/* Ver:1 */
  3 ReconnectDelay      fixed bin(31); /* Number of milliseconds before */
/* Ver:2 */                            /* reconnect attempt */

MQCBC 的 High Level Assembler 声明

    MQCBC                 DSECT
    MQCBC                 DS  0F    Force fullword alignment
    MQCBC_STRUCID         DS  CL4   Structure identifier
    MQCBC_VERSION         DS  F     Structure version number
    MQCBC_CALLTYPE        DS  F     Why Function was called
    MQCBC_HOBJ            DS  F     Object Handle
    MQCBC_CALLBACKAREA    DS  A     Callback data passed to the function
    MQCBC_CONNECTIONAREA  DS  A     MQCTL Data area passed to the function
    MQCBC_COMPCODE        DS  F     Completion Code
    MQCBC_REASON          DS  F     Reason Code
    MQCBC_STATE           DS  F     Consumer State
    MQCBC_DATALENGTH      DS  F     Message Data Length
    MQCBC_BUFFERLENGTH    DS  F     Buffer Length
    MQCBC_FLAGS           DS  F     Flags containing information about this consumer
    MQCBC_RECONNECTDELAY  DS  F     Number of milliseconds before reconnect  
    MQCBC_LENGTH          EQU *-MQCBC
                          ORG       MQCBC
    MQCBC_AREA            DS  CL(MQCBC_LENGTH)