MQMD 的偏移量 (MQLONG)

这是物理消息中数据从数据构成部分的逻辑消息开始的偏移量 (以字节为单位)。 此数据称为 。 偏移量在 0 到 999 999 999 范围内。 非逻辑消息段的物理消息的偏移量为零。

在以下情况下,应用程序不需要在 MQPUT 或 MQGET 调用上设置此字段:
  • 在 MQPUT 调用上,指定了 MQPMO_LOGICAL_ORDER。
  • 在 MQGET 调用上,未指定 MQMO_MATCH_OFFSET。
这些是针对非报告消息的消息使用这些调用的建议方法。 但是,如果应用程序不符合这些条件,或者调用为 MQPUT1,那么应用程序必须确保将 Offset 设置为相应的值。

在 MQPUT 和 MQPUT1 调用的输入上,队列管理器使用 队列上的物理顺序中描述的值。 在 MQPUT 和 MQPUT1 调用的输出中,队列管理器将此字段设置为随消息一起发送的值。

对于报告逻辑消息段的报告消息,将使用 OriginalLength 字段 (前提不是 MQOL_UNDEFINED) 来更新队列管理器保留的段信息中的偏移量。

在 MQGET 调用的输入上,队列管理器使用 表 2中显示的值。 在 MQGET 调用的输出上,队列管理器将此字段设置为检索到的消息的值。

此字段的初始值为零。 如果 Version 小于 MQMD_VERSION_2,那么将忽略此字段。