MQCBD-回调描述符
MQCBD 结构用于指定回调函数以及由队列管理器控制其使用的选项。 该结构是 MQCB 调用上的输入参数。
可用性
MQCBD 结构在以下平台上可用:
AIX®
HP-UX
IBM® i
Linux®
Solaris
Windows
z/OS®
版本
MQCBD 的当前版本为 MQCBD_VERSION_1。
字符集和编码
MQCBD 中的数据必须包含由 MQENC_NATIVE 提供的本地队列管理器的 CodedCharSetId 队列管理器属性和编码提供的字符集。 但是,如果应用程序作为 MQ MQI 客户机运行,那么该结构必须采用客户机的字符集和编码。
字段
注: 在下表中,字段按用法 (而不是按字母顺序) 进行分组。 子主题遵循相同的顺序。
| 字段名称和描述 | 常量的名称 | 常量的初始值 (如果有) |
|---|---|---|
| StrucID (结构标识) | MQCBD_STRUC_ID | 'CBD¬' |
| 版本 (结构版本号) | MQCBD_VERSION_1 | 1 |
| CallbackType (回调函数的类型) | MQCBT_MESSAGE_CONSUMER | 1 |
| 选项 (用于控制消息使用情况的选项) | MQCBDO_NONE | 0 |
| CallbackArea (要使用的回调函数的字段) | None | 空指针或空空白 |
| CallbackFunction (是否将函数作为 API 调用调用) | None | 空指针或空空白 |
| CallbackName (是否将函数作为动态链接的程序调用) | None | 空字符串或空白 |
| MaxMsgLength(可读取的最长信息长度) | MQCBD_FULL_MSG_LENGTH | -1 |
备注信息:
|
||
语言声明
MQCBD 的 C 声明
typedef struct tagMQCBD MQCBD;
struct tagMQCBD {
MQCHAR4 StrucId; /* Structure identifier */
MQLONG Version; /* Structure version number */
MQLONG CallBackType; /* Callback function type */
MQLONG Options; /* Options controlling message
consumption */
MQPTR CallbackArea; /* User data passed to the function */
MQPTR CallbackFunction; /* Callback function pointer */
MQCHAR128 CallbackName; /* Callback name */
MQLONG MaxMsgLength; /* Maximum message length */
};
MQCBD 的 COBOL 声明
** MQCBCD structure
10 MQCBD.
** Structure Identifier
15 MQCBD-STRUCID PIC X(4).
** Structure Version
15 MQCBD-VERSION PIC S9(9) BINARY.
** Callback Type
15 MQCBD-CALLBACKTYPE PIC S9(9) BINARY.
** Options
15 MQCBD-OPTIONS PIC S9(9) BINARY.
** Callback User Area
15 MQCBD-CALLBACKAREA POINTER
** Callback Function Pointer
15 MQCBD-CALLBACKFUNCTION FUNCTION-POINTER
** Callback Program Name
15 MQCBD-CALLBACKNAME PIC X(128)
** Maximum Message Length
15 MQCDB-MAXMSGLENGTH PIC S9(9) BINARY.
MQCBD 的 PL/I 声明
dcl
1 MQCBD based,
3 StrucId char(4), /* Structure identifier*/
3 Version fixed bin(31), /* Structure version*/
3 CallbackType fixed bin(31), /* Callback function type */
3 Options fixed bin(31), /* Options */
3 CallbackArea pointer, /* User area passed to the function */
3 CallbackFunction pointer, /* Callback Function Pointer */
3 CallbackName char(128), /* Callback Program Name */
3 MaxMsgLength fixed bin(31); /* Maximum Message Length */