Condividi tramite


Formato elemento del buffer

Nella tabella seguente sono elencati i campi comuni che si verificano sempre all'inizio di un elemento buffer. Il campo dataru contiene informazioni specifiche del messaggio specifico. Per informazioni dettagliate sui singoli formati di messaggio, vedere Formati di messaggi FMI.

Campo Tipo Descrizione
hdreptr-elteptr> PTRBFELT Puntatore all'elemento buffer successivo nella catena. NULL se questo elemento è l'ultimo elemento o solo nella catena.
hdreptr-startd> INTEGER Inizio dei dati validi in questo elemento. Indice in dataru del primo byte di dati validi.
hdreptr-endd> INTEGER Fine dei dati validi in questo elemento. Indice in dataru dell'ultimo byte di dati validi.
hdreptr-trpad> CHAR Byte pad (riservato).
hdreptr-dataru> CHAR[268] Matrice di caratteri che contiene i dati per questo elemento. Si noti che i dati validi potrebbero non occupare l'intero elemento. I campi iniziali e finali forniscono gli indici in questa matrice dell'inizio e della fine dei dati validi.

Usare le informazioni seguenti per interpretare i formati di messaggio:

  • Alcuni messaggi vengono visualizzati come avere due elementi nei formati di messaggio. Ad esempio, la richiesta Open(PLU) ha il campo CICB nel primo elemento e l'UR BIND nel secondo elemento. Questo indica che il messaggio è costituito da due catene di elementi collegati distinti. Il campo elteptr nel primo elemento punta al secondo elemento.

  • I campi che occupano due byte sono rappresentati con il byte aritmeticamente più significativo nell'indirizzo di byte più basso, indipendentemente dall'orientamento normale usato dal processore in cui viene eseguito il software. Vale a dire, il valore a 2 byte 0x1234 ha il 0x12 byte nell'indirizzo di byte più basso. Le eccezioni a questa sono i campi iniziali e finali negli elementi, che vengono sempre archiviati in orientamento a byte basso, ad alto byte (orientamento normale di un processore Intel).

  • Gli offset indicati dai campi iniziali e finali sono espressi in termini del primo byte di dataru 1. Il primo byte di dati validi è in dataru[startd-1]. Ad esempio, se l'avvio è 11 e il termine è 18, dataru inizia con 10 byte che non sono dati validi, seguiti da 8 byte di dati validi.

  • È possibile che un elemento arrivi con inizio maggiore di fine. Ciò indica che non sono presenti dati validi in dataru.

    Nel formato di messaggio di esempio illustrato in Panoramica dei formati di messaggi, ogni elemento ha un inizio di 13, che indica 12 byte di spaziatura interna prima dell'inizio dei dati validi. Ciò lascia spazio per 256 byte di dati e quindi i dati degli elementi (300 byte lunghi in questo esempio) richiedono due elementi.