MQCBC-回调上下文
MQCBC 结构用于指定传递给回调函数的上下文信息。 该结构是对消息使用者例程的调用上的输入/输出参数。
可用性
MQCBC 结构在以下平台上可用:
AIX®
HP-UX
IBM® i
Linux®
Solaris
Windows
z/OS®
版本
MQCBC 的当前版本为 MQCBC_VERSION_2。
字符集和编码
MQCBC 中的数据必须在由 MQENC_NATIVE 提供的本地队列管理器的 CodedCharSetId 队列管理器属性和编码提供的字符集中。 但是,如果应用程序作为 MQ MQI 客户机运行,那么结构将采用客户机的字符集和编码。
字段
备注信息:
- 在下表中,字段按用法 (而不是按字母顺序) 进行分组。 子主题遵循相同的顺序。
- 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)