下表列出了始终出现在 buffer 元素开头的公共字段。 dataru 字段包含特定于特定消息的信息。 有关各个邮件格式的详细信息,请参阅 FMI 消息格式。
字段 | 类型 | 说明 |
---|---|---|
hdreptr-elteptr> | PTRBFELT | 指向链中下一个缓冲区元素的指针。 如果此元素是链中的最后一个或唯一元素,则为 NULL。 |
hdreptr-startd> | INTEGER | 此元素中有效数据的开头。 有效 数据 的第一个字节的索引。 |
hdreptr-endd> | INTEGER | 此元素中的有效数据结束。 有效 数据 的最后一个字节的索引。 |
hdreptr-trpad> | CHAR | 填充字节 (保留) 。 |
hdreptr-dataru> | CHAR[268] | 包含此元素数据的字符数组。 请注意,有效数据可能不会占用整个元素。 起始字段和结束字段为有效数据的开始和结束数组提供索引。 |
使用以下信息来帮助你解释消息格式:
某些消息显示为消息格式中有两个元素。 例如, Open (PLU) Request 在第一个元素中包含 CICB 字段,在第二个元素中具有 BIND RU 。 这表示消息由两个不同的链接元素链组成。 第一个元素中的 elteptr 字段指向第二个元素。
占用两个字节的字段用最低字节地址中的算术上最重要的字节表示,而不管执行软件的处理器使用的正常方向如何。 也就是说,0x1234的 2 字节值在最低字节地址中具有字节0x12。 元素中的 起始 字段和 结束 字段除外,它们始终以低字节、高字节方向存储, (Intel 处理器) 的正常方向。
起始字段和结束字段指示的偏移量以偏移量 1 的 dataru 的第一个字节表示。 有效数据的第一个字节位于 dataru[startd-1]。 例如,如果 startd 为 11,endd 为 18, 则 dataru 以 10 个无效数据的字节开头,后跟 8 字节的有效数据。
元素可能会 到达开头大于endd。 这表示 dataru 中没有有效的数据。
在 消息格式概述中显示的示例消息格式中,每个元素的 开头 为 13,指示有效数据开始前的 12 个字节填充。 这为 256 字节的数据留出空间,因此在此示例中,元素数据 (300 字节长,) 需要两个元素。