Condividi tramite


Formato elemento 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 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 di 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 dei messaggi:

  • Alcuni messaggi vengono visualizzati come con due elementi nei formati di messaggio. Ad esempio, la richiesta Open(PLU) include il campo CICB nel primo elemento e l'UR BIND nel secondo elemento. Indica che il messaggio è costituito da due catene di elementi collegati distinte. 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 utilizzato dal processore in cui viene eseguito il software. Ovvero, il valore a 2 byte 0x1234 ha il 0x12 di byte nell'indirizzo di byte più basso. Le eccezioni a questo sono i campi iniziali e finali negli elementi, che vengono sempre archiviati con orientamento a byte basso e 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 offset 1. Il primo byte di dati validi si trova in dataru[startd–1]. Ad esempio, se startd è 11 e endd è 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 del termine. Ciò indica che non sono presenti dati validi in dataru.

    Nel formato di messaggio di esempio illustrato in Panoramica dei formati di messaggio, 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.