Wenn keine serielle Verarbeitung erforderlich ist, zum Beispiel wenn die Ausgabe auf einem Eingabebitstrom basiert und die Baumstruktur nicht verändert wurde, wird diese Implementierungsfunktion nicht vom Broker aufgerufen.
Wenn die Implementierungsfunktion in der CPI_VFT-Struktur bereitgestellt wird, kann weder cpiWriteBuffer() noch cpiWriteBufferEncoded() bereitgestellt werden, da die Funktion cpiDefineParserClass() mit dem Rückkehrcode CCI_INVALID_IMPL_FUNCTION fehlschlägt.
Definiert in | Typ | Mitglied |
CPI_VFT | Bedingt | iFpWriteBufferFormatted |
int cpiWriteBufferFormatted( CciParser* Parser, CciContext* Kontext, int encoding, int ccsid, CciChar* Gruppe, CciChar* Typ, CciChar* Format);
Die Größe der Daten in Byte, die an den Bitstrom im Puffer angehängt sind.
int cpiWriteBufferFormatted( CciParser* Parser, CciContext* Kontext, int encoding, int ccsid CciChar* Gruppe, CciChar* Typ, CciChar* Format ){ PARSER_CONTEXT_ST* pc = (PARSER_CONTEXT_ST *)context ; int initialSize = 0; int rc = 0; const void* a; CciByte b; initialSize = cpiBufferSize(&rc, parser); a = cpiBufferPointer(&rc, parser); b = cpiBufferByte(&rc, parser, 0); cpiAppendToBuffer(&rc, parser, (char *)"Some test data", 14); return cpiBufferSize(0, parser) - initialSize; }