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