緩衝元件格式

下表列出了總是出現在緩衝區元素開頭的常見欄位。 dataru 欄位包含特定訊息的資訊。 關於個別訊息格式的詳細資訊,請參見 FMI 訊息格式。

領域 類型 說明
hdreptr-elteptr> PTRBFELT 指標指向鏈中的下一個緩衝元件。 若該元素是鏈中最後或唯一的元素,則為 NULL。
hdreptr-startd> 整數 此元素中有效資料的起始。 正確資料第一個位元組的索引。
hdreptr-endd> 整數 此元素中有效資料結束。 有效資料最後一個位元 組的索引 。
HDREPTR-TRPAD> CHAR Pad byte(保留)。
hdreptr-dataru> 角色[268] 一個包含該元素資料的字元陣列。 請注意,有效資料可能不會佔據整個元素。 startd 和 endd 欄位提供了有效資料起始與結束陣列中的索引。

請參考以下資訊協助你解讀訊息格式:

  • 某些訊息在訊息格式中會顯示為包含兩個元素。 例如, Open(PLU) 請求 的 CICB 欄位位於第一個元素, BIND RU 位於第二個元素。 這表示訊息由兩條不同的連結元素鏈組成。 第一個元素中的 elteptr 場指向第二個元素。

  • 佔據兩個位元組的欄位會以最低位元組位址中算術上最有效的位元組來表示,無論軟體執行時處理器使用的正常方向為何。 也就是說,2 位元組的值0x1234 位元組0x12位於最小的位元組位址。 例外的是元素中的 起始 與 結束 欄位,這些欄位總是以低位元組、高位元組的排列方式儲存(Intel 處理器的正常排列方式)。

  • 起始欄位與結束欄位所表示的偏移量以 dataru 的第一個位元組偏移為 1 表示。 有效資料的第一個位元組位於 dataru[startd–1]。 例如,如果 startd 是 11,endd 是 18,dataru 會以 10 個非有效資料位元組開始,接著是 8 個位元組的有效資料。

  • 一個元素的到來可能以 startd 大於 endd。 這表示 dataru 中沒有有效的資料。

    在訊息 格式概述中所示的範例訊息格式中,每個元素的 起始 值為 13,表示有效資料開始前有 12 位元組的填充。 這樣可以容納 256 位元組的資料,因此這個元素資料(在此例中為 300 位元組)需要兩個元素。