结构数据类型

结构数据类型的摘要,一致映射 MQI 结构的规则以及每个结构数据类型描述中使用的约定。

MQI 调用或出口函数上使用的结构数据类型的摘要

表 1. MQI 调用或出口函数上使用的结构数据类型
结构 描述 使用时的调用
MQACH API 出口链头  
MQAIR 认证信息记录 MQCONNX
MQAXC API 出口上下文  
MQAXP API 出口参数  
MQBMHO 缓冲区到消息句柄选项 MQBUFMH
MQBO 开始选项 MQBEGIN
MQCBD 回调描述符 MQCB
MQCBO Create-bag 选项 mqCreateBag
MQCHARV 可变长度字符串 MQINQMP
MQCNO 连接选项 MQCONNX
MQCSP 安全性参数 MQCONNX
MQCTLO 回调选项 MQCTL
MQDMPO 删除消息属性选项 MQDLTMP
MQGMO 获取消息选项 MQGet
MQIMPO 查询消息属性选项 MQINQMP
MQMD 消息描述符 MQBUFMHMQMHBUFMQCBMQGETMQPUTMQPUT1
MQMHBO 消息句柄到缓冲区选项 MQMHBUF
MQOD 对象描述符 MQOPENMQPUT1
MQOR 对象记录 MQOPENMQPUT1
MQPD 属性描述符 MQSETMP
MQPMO 放置消息选项 MQPUTMQPUT1
MQPMR 放置消息记录 MQPUTMQPUT1
MQRR 响应记录 MQOPENMQPUTMQPUT1
MQSCO TLS 配置选项 MQCONNX
MQSD 预订描述符 MQSUB
MQSMPO 设置消息属性选项 MQSETMP
MQSRO 预订请求选项 MQSUBRQ
MQSTS 状态报告结构 MQSTAT

消息数据中使用的结构数据类型的摘要

表 2. 消息数据中使用的结构数据类型
结构 描述
MQCIH CICS 信息头
MQCFH PCF 头
MQEPH 嵌入式 PCF 头
MQDH 分发头
MQDLH 死信 (未传递的消息) 头
MQIIH IMS 信息头
MQMDE 消息描述符扩展
MQRFH 规则和格式化头
MQRFH2 规则和格式化头 2
MQRMH 参考消息头
MQTM 触发器消息
MQTMC2 触发器消息 (字符格式 2)
MQWIH 工作信息头
MQXQH 传输队列头
注: MQDXP 结构 (数据转换出口参数) 与关联的数据转换调用一起在 数据转换出口中描述。

一致映射 MQI 结构的规则

编程语言对结构的支持程度各不相同,采用了某些规则和约定,以在每种编程语言中一致地映射 MQI 结构:
  1. 结构必须在其自然边界上对齐。
    • 大多数 MQI 结构都需要 4 字节对齐。
    • IBM i上,包含指针的结构需要 16 字节对齐; 这些是 :MQCNO , MQOD 和 MQPMO。
  2. 结构中的每个字段都必须在其自然边界上对齐。
    • 具有等同于 MQLONG 的数据类型的字段必须在 4 字节边界上对齐。
    • 具有等同于 MQPTR 的数据类型的字段必须在 IBM i上的 16 字节边界上对齐,在其他环境中必须在 4 字节边界上对齐。
    • 其他字段在 1 字节边界上对齐。
  3. 结构的长度必须是其边界对齐的倍数。
    • 大多数 MQI 结构的长度都是 4 字节的倍数。
    • IBM i上,包含指针的结构的长度是 16 字节的倍数。
  4. 必要时,必须添加填充字节或字段以确保符合上述规则。

每个结构数据类型描述中使用的约定

每种结构数据类型的描述包括:
  • 结构的用途和用途概述
  • 结构中字段的描述,格式独立于编程语言
  • 如何在每种受支持的编程语言中声明结构的示例
每种结构数据类型的描述都包含以下部分:
结构名称
结构的名称,后跟结构中字段的摘要。
概述
对结构的用途和用途的简要描述。
字段
字段的描述。 对于每个字段,该字段的名称后跟括号 () 中的基本数据类型。 在文本中,使用斜体字面显示字段名称; 例如 Version

还有对字段用途的描述,以及该字段可以采用的任何值的列表。 常量的名称以大写形式显示; 例如 MQGMO_STRUC_ID。 使用 * 字符显示一组具有相同前缀的常量,例如 :MQIA_ *。

在这些字段的描述中,使用了以下术语:
输入
在进行呼叫时提供字段中的信息。
输出
当调用完成或失败时,队列管理器将在字段中返回信息。
输入/输出
您在进行调用时在字段中提供信息,当调用完成或失败时,队列管理器会更改信息。
初始值
显示 MQI 随附的数据定义文件中每个字段的初始值的表。
C 声明
C 中结构的典型声明。
COBOL 声明
COBOL 中结构的典型声明。
PL/I 声明
PL/I 中结构的典型声明。
High Level Assembler 声明
System/390 汇编语言中结构的典型声明。
Visual Basic 声明
Visual Basic 中结构的典型声明。